為因應第三方 Cookie 的淘汰措施,我們提供完善的做法 由 Chrome 執行的測試模式,可讓網站預覽網站行為 以及功能在沒有第三方 Cookie 的情況下運作本指南提供 概略介紹 Chrome 計畫提供的測試模式,以及存取方式 實驗群組標籤
,瞭解如何調查及移除這項存取權。在此情況下,Chrome 瀏覽器是指 Chrome 用戶端:裝置上的 Chrome 安裝。每個個別使用者的資料目錄 都會構成一個獨立的用戶端。
實驗組:一組 Chrome 瀏覽器,其中已啟用、停用或設定特定功能。在 Chrome 輔助測試的情況下,一組已設定標籤的瀏覽器。
標籤:在本例中,這是指為屬於實驗群組的瀏覽器設定的請求標頭值。實驗組中的每個瀏覽器都會保留在該群組中 測試期間,確保 因此測試人員各自的瀏覽器
我們提供兩種不同的模式:
- 模式 A:自 2023 年 11 月起,負責測試 PS R&M API 的機構 都可選擇在部分 Chrome 裝置上接收一致的標籤 以便針對不同的測試人員進行協調測試。
- 模式 B:自 2024 年 1 月 4 日起,Chrome 已針對部分 Chrome 瀏覽器全面停用第三方 Cookie。
第三方 Cookie 在模式 B 中停用後,在整個逐步淘汰第三方 Cookie 的期間都會維持停用狀態。
我們已與 CMA 確保這些測試模式符合測試架構 如上所示 業界測試指南。 因此,CMA 預期在這些模式下測試的結果,可用於評估 Privacy Sandbox。CMA 指出 較有可能對實驗設計 2 的結果加重 模式 B 標籤和模式 A 控制項 1 標籤如要進一步瞭解實驗設計 2,請參閱 CMA 10 月 26 日的指南。
您可以使用 HTTP 標頭或 JavaScript API 提供的暫時 Sec-Cookie-Deprecation
值存取標籤。如需實作詳細資訊,請參閱「使用 Sec-Cookie-Deprecation
值存取標籤」一節。
我們也會照常傳送這項提案 閃爍開發程序, 來設定技術設計和 Chrome 版本里程碑。 雖然這是我們希望推出的實作方式,但進一步討論和核准意味著這些詳細資料仍可能有所變動。我們會繼續 隨著計畫進度更新這個頁面,你可以繼續前往 提供意見或問題。
模式 A:加上標籤的瀏覽器群組
參與測試的機構可以選擇接收
一組永久性標籤
針對同一組瀏覽器,使用不同廣告技術進行協調的實驗。
舉例來說,假設瀏覽器屬於 label_only_3
實驗群組 (
如下表所示),則參與競價的所有廣告技術都能
你會看到相同的 label_only_3
標籤和座標:請使用 PS
R&M API,但不要使用第三方 Cookie。我們期望參與
並確保標籤會轉寄給其他參與者
在整個廣告選擇流程中
評估成效。
舉例來說,這個設定允許多位參與者 Protected Audience 在一組一致瀏覽器中未使用第三方 Cookie 的競價。競價賣家參與者會將觀察到的標籤轉寄給買方,以利協調測試。
標籤不會影響 Chrome 執行階段的任何行為,包括第三方 Cookie 的可用性。標籤會提供 將模型分組 為參與實驗的各方強制執行相關參數。如果您要測試移除第三方 Cookie 的效果,則每位參與者都必須為標有該標籤的瀏覽器排除第三方 Cookie 資料。
目的是讓群組能代表正常的 Chrome 流量。沒錯 代表第三方 Cookie 和 PS R&M API 應該都能使用 部分使用者可能透過設定或擴充功能來變更或停用 接著介紹網際網路通訊層 包括兩項主要的安全防護功能
一般而言,標籤在 Chrome 的瀏覽工作階段中會保持不變 跨工作階段。不過,由於罕見情況,因此無法保證一定能達成此目標 完全重設瀏覽器也可能會重設目前的標籤。
我們計劃將 8.5% 的 Chrome 穩定版瀏覽器納入模式 A 上, 因此初始提案會將這些人分為 9 個群組子群組較少 是讓廣告技術能靈活合併標籤來建立 測試各種大小的實驗群組不會重疊。
請注意,control_1.*
標籤的用途是做為 CMA 業界測試指南中所述的「控制組 1」,因此測試參與者不應針對這類流量使用 Topics API 或執行 Protected Audiences 競價。由於標籤不會影響瀏覽器行為
參與者不得通過觀察到的主題,或執行 Protected Audience 競價
偵測到 control_1.*
群組標籤時。
不客氣 意見回饋 評估這類群體是否符合參與需求 員工只能在您的 Google Cloud 機構中存取資源 無法在其他機構存取資源
標籤 | 穩定流量百分比 |
---|---|
control_1.1 |
0.25 |
control_1.2 |
0.25 |
control_1.3 |
0.25 |
control_1.4 |
0.25 |
label_only_1 |
1.5 |
label_only_2 |
1.5 |
label_only_3 |
1.5 |
label_only_4 |
1.5 |
label_only_5 |
1.5 |
模式 A label_only_
瀏覽器群組自 2023 年 11 月起開放使用,模式 A control_1_*
群組則自 2024 年 1 月 4 日起開放使用。
模式 B:停用 1% 的第三方 Cookie
Chrome 已為大約 1% 的 Chrome 穩定版停用第三方 Cookie 2024 年 1 月 4 日的所有瀏覽器,以及開發人員、Canary 版和 Beta 版 。測試 PS R&M API 的機構不需要選擇啟用這個模式,因為這個模式會在整個瀏覽器族群中統一套用。有些網站功能 受到的影響。 CHIPS 或 相關網站集:
此外,我們預計在模式 B 中提供一小部分流量,讓 PS R&M API 停用。其他 API (例如相關網站集、CHIPS 和 FedCM) 不會停用。我們預期這兩者結合後,將有助於為不使用第三方 Cookie 和 PS R&M API 的瀏覽器建立成效基準。
在模式 B 中,我們也會為受影響的瀏覽器提供標籤。標籤會在 API 停用時一併提供。我們
建議將母體分為三個 treatment_1.*
組,其中
第三方 Cookie 停用,但可以使用 PS R&M API
control_2
群組,其中「同時」使用第三方 Cookie 和 PS R&M API
已停用。
協助對 Attribution Reporting API 和私密匯總進行偵錯
API 整合,並可協助測試參與者進一步瞭解雜訊
ARA 偵錯報表和私人匯總偵錯報表
這些方法仍適用於 B 模式的瀏覽器,前提是使用者
明確封鎖第三方 Cookie。偵錯報表將無法在
control_2
,因為該片段無法使用 PS R&M API。隨著第三方 Cookie 逐步淘汰,偵錯報表仍會逐步淘汰。
- 針對 Attribution Reporting API,由於第三方 Cookie 已停用,報表來源將無法設定
ar_debug
Cookie,因此必須設定debug_key
欄位 (歸因成功報表) 和debug_reporting
欄位 (詳細報表),才能選擇是否接收偵錯報表。 - 對於 Private Aggregation API,報表來源應依賴呼叫
enableDebugMode()
來控制是否要接收偵錯報表。企業應繼續 考量使用歸因分析時可能須履行的法規義務 Reporting API 和 Private Aggregation API,包括偵錯報表。
模式 A 會繼續執行,而這些群組與模式 A 群組不同,因為使用者會處於模式 A、模式 B 或兩者皆非的狀態。測試參與者
應使用 control_1.*
流量做為代表狀態的控制組
一律需要第三方 Cookie
標籤 | 穩定流量百分比 |
---|---|
treatment_1.1 |
0.25 |
treatment_1.2 |
0.25 |
treatment_1.3 |
0.25 |
control_2 |
0.25 |
Chrome 也限制了 20% Chrome Canary、開發人員版和 Beta 版的 Cookie。
標籤 | % 的穩定前流量 |
---|---|
prestable_treatment_1 |
10% |
prestable_control_2 |
10% |
加入其中一個實驗組的效果,與穩定版的效果相同。
與模式 A 一樣,PS R&M API 不保證可用,因為使用者可以透過 Chrome 的「隱私權和安全性」設定停用這些 API。同樣地,系統無法保證會為 control_2
群組的每位成員停用第三方 Cookie,因為使用者可以存取瀏覽器 UI,允許網站使用第三方 Cookie。
實驗監控
請務必監控每種實驗組和控制組的相對流量
標籤。treatment_1.1
的流量應與 treatment_1.2
和 treatment_1.3
大致相同。
建議您謹慎處理來自 Chrome 120 以下版本的標籤流量。如果負責處理無效流量的團隊能夠找出具有無效流量特徵的使用者代理程式,那麼從測試結果中篩除這些項目就很有意義。
前期標籤
截至 2024 年 1 月,我們已為多個實驗組別執行前測期。這些實驗開始前
次數讓 Chrome 精確調整大小並
非偏見的團體系統會對已排定的所有實驗組執行這些前期測試
在 1 月開始:模式 B 手臂和 Control_1.* 選項不需要
追蹤開發人員或網站動作的前期測試
行為或 API 可用性變化,但請注意,您可能會看到
在某些情況下會傳回 preperiod
標籤。如果瀏覽器收到
preperiod
個標籤可能會轉移到其中一個實驗群組,但這不會
所以我們不建議您假設含有此標籤的瀏覽器
一定能參與實驗
實驗組是指研究對象的子集,在本例中就是其中一個標記群組。
使用 Sec-Cookie-Deprecation 值存取標籤
我們在模式 A 和模式 B 期間,推出了
可透過選擇接受的 HTTP 標頭和 JavaScript 存取 Sec-Cookie-Deprecation
值
API,提供瀏覽器適用模式 A 或 B 的標籤
實驗群組 (依上述百分比定義) 屬於任一組
這些原則
存取標籤涉及存取使用者裝置上所儲存的資訊。在某些管轄區 (例如歐盟和英國),我們瞭解這項活動與使用 Cookie 類似,因此存取標籤可能需要使用者同意。建議您在要求標籤前 提供法律建議,說明您是否適用這項同意聲明義務。
存取 Sec-Cookie-Deprecation HTTP 標頭
如要接收 Sec-Cookie-Deprecation
要求標頭,網站必須先設定
receive-cookie-deprecation
Cookie。此 Cookie 必須使用
Partitioned
屬性,也就是說,您必須逐一選擇接收標頭
頂層網站
舉例來說,如果 3p-example.site
想在 example.com
上嵌入的資源上接收 Sec-Cookie-Deprecation
標頭,3p-example.site
就必須在該上下文中設定下列 Cookie。
Set-Cookie: receive-cookie-deprecation=1; Secure; HttpOnly; Path=/; SameSite=None; Partitioned; Max-Age=15552000
Secure
、HttpOnly
、SameSite
和 Partitioned
Cookie 屬性為必填項目。您可以根據需求設定 Domain
、Path
、Expires
和 Max-Age
屬性,不過 Path=/
是理想的預設值。本範例會設定 Max-Age=15552000
,讓 Cookie 在 180 天後才過期。
建議您在 Chrome 協助測試期間開始前,開始設定 receive-cookie-deprecation=1
Cookie,以確保實驗群組中的瀏覽器在可用時立即加入 Sec-Cookie-Deprecation
要求標頭。
舉例來說,假設瀏覽器屬於 example_label_1
群組,則
包含此 Cookie 的請求也會加入 Sec-Cookie-Deprecation
標題。
Sec-Cookie-Deprecation: example_label_1
如果瀏覽器不屬於任何群組,系統就不會傳送標頭。
標籤會與有 Cookie 相關聯
因此當 Cookie 刪除時
封鎖或封鎖特定網站,標籤並不會
已傳送。Partitioned
屬性適用於第三方 Cookie 完全淘汰後的持續使用情境,因此在第三方 Cookie 遭到封鎖時,系統可能會設定 Partitioned
Cookie。
存取 cookieDeprecationLabel JavaScript API
Sec-Cookie-Deprecation
值也可以使用
navigator.cookieDeprecationLabel.getValue()
JavaScript API。這會傳回
承諾會解析為包含適用群組標籤的字串。舉例來說,如果瀏覽器屬於 example_label_1
群組:
// Feature detect temporary API first
if ('cookieDeprecationLabel' in navigator) {
// Request value and resolve promise
navigator.cookieDeprecationLabel.getValue().then((label) => {
console.log(label);
// Expected output: "example_label_1"
});
}
如果瀏覽器不屬於任何群組,就無法使用 API,或是 此值會是空字串,因此請務必使用功能偵測。
無論是否存在 receive-cookie-deprecation
Cookie,都可以呼叫 JavaScript API。但如果 Cookie 完全遭到封鎖
或網站專屬的 API 可能再次無法使用
會傳回空字串。
如同客戶提供的值,請務必清理並驗證 值。
試用和測試
在 Chrome 120 以上版本中,我們提供多個標記,讓當地開發人員也能使用 來要求及讀取標籤
chrome://flags/#tpc-phase-out-facilitated-testing
旗標可讓您
以便選取測試標籤這些標籤會加上前置字串 fake_
,以便與實際標籤區分開。啟用標記不會選擇使用
轉入任一實驗群組
如要查看標籤實際運作情形,請前往 goo.gle/cft-demo。
系統會強制執行註冊,確保 Privacy Sandbox 的關聯性和評估機制
API,您可能需要使用
chrome://flags/#privacy-sandbox-enrollment-overrides
並提供示範
來源。或者,如果您具有
如何從終端機執行 Chrome:
--args --disable-features=EnforcePrivacySandboxAttestations
旗標下拉式選單包含多個選項。測試人員主要是 對標有「Force」的報導感興趣這樣實驗才能確保 行為會啟用,不受其他裝置設定影響。
如果只想測試實驗群組標籤,請選取「已啟用 Force Control 1」或 「已啟用 Force LabelOnly」。這些會導致瀏覽器將 「fake_control_1.1」或「fake_label_only_1.1」標籤
在 Chrome M120 以上版本中,您也可以使用下列項目。
如要測試第三方 Cookie 封鎖功能,請選取「已啟用強制處理」。這會傳送「fake_treatment_1.1」實驗組標籤,但也會修改 Cookie 設定頁面和目前的 Cookie 設定,以便封鎖第三方 Cookie。
如要測試不使用私人廣告 API 的第三方 Cookie 封鎖功能,請選取「強制控制組 2」。這會傳送「fake_control_2」實驗群組標籤、更新 Cookie 設定頁面、封鎖第三方 Cookie,並抑制新的私人廣告 API。
請注意,如果瀏覽器在更新新版本時仍持續運作,
Cookie 設定網頁和設定會封鎖第三方 Cookie
然後停用這個標記我們正在努力修正這個問題,但在此期間,您可以使用 --user-data-dir=<new dir>
指令列標記啟動 Chrome,在獨立的 Chrome 資料目錄中測試這些標記值。
意見回饋
我們會使用 "chrome-testing" 管理問題。不客氣 和我們如何針對初始問題進行討論:
你也可以 提出新問題或討論 並安裝「透過 Chrome 協助執行的測試」範本。