如果發布商或使用者需要強化隱私權保護措施,Google 可能會減少使用者代理程式欄位提供的資訊量。當資訊減少時,這些使用者代理程式表示法就會被視為一般化。
為了提供更完善的隱私保護服務,一般化使用者代理程式會設下限制,避免提供可能區分特定或其他瀏覽器/裝置的資訊。
總覽
出價要求包含兩種使用者代理程式資訊的表示法:BidRequest.device.ua
中的 User-Agent
字串,以及 BidRequest.device.sua
中的 UserAgent
物件。這兩個欄位都包含要求的使用者代理程式 HTTP 標頭提供的資訊。
非一般化使用者代理程式可包含精細的瀏覽器和作業系統版本,以及其他詳細資料,這些資料會在使用者代理程式的一般化形式中縮減。
一般化可與瀏覽器和裝置類型偵測相容。出價要求會指出「User-Agent」欄位是否已在 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
物件會攜帶相似的資訊量。