使用者代理程式一般化

如果發布商或使用者要求加強隱私權保護,Google 可能會減少使用者代理程式欄位提供的資訊量。資訊減少時,這些使用者代理程式表示法會視為一般化。

為了提供更完善的隱私保護服務,一般化使用者代理程式表示法會設下限制,避免提供可能區分特定或其他瀏覽器/裝置的資訊。

總覽

出價要求包含使用者代理程式資訊的兩種表示方式:BidRequest.device.ua 中找到的 User-Agent 字串,以及 BidRequest.device.sua 中找到的 UserAgent 物件。這兩個欄位都包含要求的使用者代理程式 HTTP 標頭提供的資訊。

非一般化使用者代理程式可能包含精細的瀏覽器和作業系統版本,以及其他詳細資料,而一般化使用者代理程式會減少這類資訊。

一般化功能可回溯相容於瀏覽器和裝置類型偵測功能。出價要求會指出使用者代理程式欄位是否已在 BidRequest.ext.privacy_treatments 中一般化。

一般化 UserAgent 物件

在一般化的 UserAgent 中,所有 browser 項目和 platformversion 欄位會經過簡化,只包含主要版本,方法是將任何更精細的版本元件替換為零。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 物件所攜帶的資訊量相似。