如果發布商或使用者要求加強隱私權保護,Google 可能會減少使用者代理程式欄位提供的資訊量。資訊減少時,這些使用者代理程式表示法會視為一般化。
為了提供更完善的隱私保護服務,一般化使用者代理程式表示法會設下限制,避免提供可能區分特定或其他瀏覽器/裝置的資訊。
總覽
出價要求包含使用者代理程式資訊的兩種表示方式:BidRequest.device.ua 中找到的 User-Agent 字串,以及 BidRequest.device.sua 中找到的 UserAgent 物件。這兩個欄位都包含要求的使用者代理程式 HTTP 標頭提供的資訊。
非一般化使用者代理程式可能包含精細的瀏覽器和作業系統版本,以及其他詳細資料,而一般化使用者代理程式會減少這類資訊。
一般化功能可回溯相容於瀏覽器和裝置類型偵測功能。出價要求會指出使用者代理程式欄位是否已在 BidRequest.ext.privacy_treatments 中一般化。
一般化 UserAgent 物件
在一般化的 UserAgent 中,所有 browser 項目和 platform 的 version 欄位會經過簡化,只包含主要版本,方法是將任何更精細的版本元件替換為零。UserAgent 物件中的其他資訊不會遭到移除。
以下範例會比較 UserAgent.browser 的原始內容與一般化形式:
原價
brand: "Chrome" version: ["96", "0", "4664", "92"]
一般化
brand: "Chrome" version: ["96", "0", "0", "0"]
Google 不一定會概略說明瀏覽器和平台版本,特別是瀏覽器凍結完整版本時。舉例來說,系統不會修改下列 UserAgent.browser 值:brand: "AppleWebKit" version: ["537", "36"]。
UserAgent 物件一般化後,出價要求也會在 PrivacyTreatments 物件中包含 user_agent_data 欄位:
BidRequest.ext.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }
一般化 User-Agent 字串
在一般化的 User-Agent 字串中,瀏覽器和平台 ID 只會縮減為主要版本。舉例來說,"Chrome/96.0.4664.92" 會變成 "Chrome/96.0.0.0"。系統會保留凍結版本元件,例如 "AppleWebKit/537.36"。這些變更等同於我們針對 UserAgent 物件說明的內容。
在 User-Agent 字串中,部分詳細資料或非標準元素也可能會經過修訂,例如裝置的建構或韌體版本,或是通常會加到字串結尾的特定應用程式資料。
以下範例會比較 User-Agent 字串的原始內容與一般化形式:
原價
Mozilla/5.0 (Linux; Android 11; M2007J20CG Build/RKQ1.200826.002; wv)
AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0
Chrome/96.0.4664.92 Mobile Safari/537.36 [MyApp:CustomSignals:ABC123]
一般化
Mozilla/5.0 (Linux; Android 11; M2007J20CG; wv)
AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0
Chrome/96.0.0.0 Mobile Safari/537.36
User-Agent 字串一般化後,出價要求會包含 PrivacyTreatments 物件中的 user_agent 信號:
BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSE }
Google 會使用類似方法,概括 User-Agent 字串和 UserAgent 物件。因此,一般化的 User-Agent 字串和一般化的 UserAgent 物件所攜帶的資訊量相似。