Thử nghiệm do Chrome hỗ trợ

Để chuẩn bị cho việc ngừng sử dụng cookie của bên thứ ba, chúng tôi sẽ cung cấp các chế độ thử nghiệm hỗ trợ Chrome, cho phép các trang web xem trước cách hoạt động và chức năng của trang web mà không cần cookie của bên thứ ba. Hướng dẫn này cung cấp thông tin tổng quan về các chế độ thử nghiệm mà Chrome kế hoạch cung cấp và cách truy cập vào nhãn nhóm thử nghiệm.

Trình duyệt Chrome trong ngữ cảnh này đề cập đến một ứng dụng Chrome: một lượt cài đặt Chrome trên một thiết bị. Mỗi thư mục dữ liệu người dùng cá nhân tạo thành một ứng dụng khách riêng biệt.

Nhóm thử nghiệm: một nhóm các trình duyệt Chrome đã bật, tắt hoặc định cấu hình một số tính năng nhất định. Trong bối cảnh kiểm thử trên Chrome, một nhóm trình duyệt được đặt nhãn.

Nhãn: trong ngữ cảnh này, giá trị tiêu đề của yêu cầu được đặt cho trình duyệt thuộc nhóm thử nghiệm. Mỗi trình duyệt trong một nhóm thử nghiệm sẽ vẫn thuộc nhóm đó trong suốt thời gian thử nghiệm dựa trên Chrome, nhằm đảm bảo rằng nhãn của một trình duyệt luôn nhất quán giữa những người kiểm thử.

Chúng tôi đã cung cấp hai chế độ riêng biệt:

  • Chế độ A: Từ tháng 11 năm 2023, các tổ chức kiểm thử PS R&M API có thể chọn nhận nhãn nhất quán trên một nhóm nhỏ trình duyệt Chrome để cho phép kiểm thử phối hợp giữa nhiều người kiểm thử.
  • Chế độ B: Kể từ ngày 4 tháng 1 năm 2024, Chrome đã tắt cookie của bên thứ ba trên toàn cầu cho một phần trình duyệt Chrome.

Cả hai chế độ này sẽ tiếp tục hoạt động cho đến ít nhất là đầu năm 2025. Khi cookie của bên thứ ba bị tắt ở Chế độ B, cookie của bên thứ ba sẽ vẫn bị vô hiệu hoá trong quá trình ngừng hoạt động hoàn toàn cookie của bên thứ ba.

Chúng tôi đã làm việc với CMA để đảm bảo rằng các chế độ kiểm thử này phù hợp với khung kiểm thử (và tiến trình) cho bên thứ ba như được nêu trong hướng dẫn về kiểm thử trong ngành. Do đó, CMA dự đoán rằng kết quả kiểm thử ở các chế độ này có thể dùng để đánh giá Hộp cát về quyền riêng tư. CMA cho biết rằng họ có thể sẽ chú trọng hơn vào kết quả từ Thiết kế thử nghiệm 2, trong đó sử dụng nhãn Chế độ B và nhãn Chế độ A kiểm soát 1. Hãy xem hướng dẫn ngày 26 tháng 10 của CMA để biết thêm thông tin về Thiết kế thử nghiệm 2.

Chúng tôi cũng sẽ gửi đề xuất này thông qua Quy trình phát triển nhấp chuột thông thường, trong đó thiết kế kỹ thuật và mốc phát hành Chrome sẽ được hoàn tất. Mặc dù đây là cách triển khai mà chúng tôi muốn gửi đi, nhưng việc thảo luận và phê duyệt bổ sung có nghĩa là các thông tin chi tiết này vẫn có thể thay đổi. Chúng tôi sẽ tiếp tục cập nhật trang này trong quá trình phát triển kế hoạch. Bạn có thể tiếp tục đưa ra ý kiến phản hồi hoặc câu hỏi.

Chế độ A: Nhóm trình duyệt được gắn nhãn

Các tổ chức tham gia thử nghiệm sẽ có thể chọn nhận một bộ nhãn ổn định cho một nhóm nhỏ trình duyệt Chrome, cho phép tiến hành các thử nghiệm phối hợp giữa nhiều công nghệ quảng cáo trên cùng một nhóm trình duyệt. Ví dụ: nếu một trình duyệt thuộc nhóm thử nghiệm label_only_3 (như minh hoạ trong bảng sau), thì tất cả các công nghệ quảng cáo tham gia sẽ có thể thấy cùng một nhãn label_only_3 và phối hợp theo cách phù hợp: sử dụng các API PSR&M nhưng không dùng cookie của bên thứ ba. Chúng tôi mong muốn những người tham gia trong trang này đảm bảo nhãn được chuyển tiếp đến những người tham gia khác để có thể thử nghiệm nhất quán trong toàn bộ quá trình lựa chọn và đo lường quảng cáo.

Ví dụ: việc này cho phép nhiều người tham gia chạy phiên đấu giá Protected Audience (Đối tượng được bảo vệ) mà không cần cookie của bên thứ ba trên một nhóm trình duyệt nhất quán. Người tham gia người bán trong phiên đấu giá sẽ chuyển tiếp nhãn đã ghi nhận được cho người mua để hỗ trợ quá trình kiểm thử phối hợp.

Các nhãn này không ảnh hưởng đến bất kỳ chức năng nào trong các phiên bản Chrome đó, bao gồm cả khả năng sử dụng cookie của bên thứ ba. Các nhãn cung cấp cách nhóm cho các thử nghiệm độc lập và có tính phối hợp, nhưng các bên tham gia thực thi các thông số có liên quan cho thử nghiệm là tuỳ thuộc vào các bên tham gia. Nếu bạn đang kiểm thử tác động của việc xoá cookie của bên thứ ba, thì mỗi người tham gia sẽ chịu trách nhiệm loại trừ dữ liệu cookie của bên thứ ba cho các trình duyệt có nhãn đó.

Mục đích là tạo các nhóm đại diện cho lưu lượng truy cập Chrome thông thường. Điều đó có nghĩa là phải có cả cookie của bên thứ ba và API PS R&M, mặc dù một số người dùng có thể đã thay đổi hoặc tắt chức năng thông qua các chế độ cài đặt hoặc tiện ích.

Nhãn thường sẽ tồn tại cố định trong suốt một phiên duyệt web trong Chrome và qua các phiên. Tuy nhiên, điều này không được đảm bảo, vì trong một số ít trường hợp, việc đặt lại hoàn toàn trình duyệt cũng có thể đặt lại nhãn hiện tại.

Chúng tôi dự định đưa 8, 5% trình duyệt Chrome ổn định vào Chế độ A và đề xuất ban đầu của chúng tôi sẽ chia dân số đó thành 9 nhóm. Các nhóm con nhỏ hơn nhằm mục đích cho phép công nghệ quảng cáo linh hoạt trong việc kết hợp các nhãn để tạo các thử nghiệm riêng với quy mô khác nhau. Các nhóm không chồng chéo nhau.

Xin lưu ý rằng bạn nên dùng nhãn control_1.* làm "Đối tượng kiểm soát 1" như đã nêu trong hướng dẫn của CMA về hoạt động thử nghiệm trong ngành, vì vậy, những người tham gia thử nghiệm không nên sử dụng Topics API hoặc chạy phiên đấu giá Protected Audience cho lưu lượng truy cập này. Vì nhãn không ảnh hưởng đến chức năng, nên người tham gia không nên truyền các chủ đề được quan sát hoặc chạy phiên đấu giá trong Protected Audience khi phát hiện nhãn nhóm control_1.*.

Chúng tôi hoan nghênh ý kiến phản hồi về việc lựa chọn nhóm này có đáp ứng nhu cầu của các tổ chức tham gia hay không.

Nhãn % Lưu lượng truy cập ổn định
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

Các nhóm trình duyệt label_only_ ở Chế độ A đã ra mắt từ tháng 11 năm 2023 và các nhóm Chế độ A control_1_* bắt đầu hoạt động từ ngày 4 tháng 1 năm 2024. Chúng tôi sẽ tiếp tục gửi tất cả các nhãn Chế độ A và Chế độ B cho đến khi cookie của bên thứ ba bị loại bỏ vào đầu năm 2025.

Chế độ B: Tắt 1% cookie của bên thứ ba

Từ ngày 4 tháng 1 năm 2024, Chrome đã vô hiệu hoá cookie của bên thứ ba trên khoảng 1% trình duyệt Chrome Ổn định (cũng như trên các trình duyệt Dev, Canary và Beta trong quý 4 năm 2023). Các tổ chức kiểm thử PS R&M API không cần chọn sử dụng chế độ này vì chế độ này sẽ được áp dụng thống nhất trên toàn bộ dân số trình duyệt. Tất nhiên, có khả năng một số tính năng của trang web có thể bị ảnh hưởng nếu trang web chưa sử dụng giải pháp thay thế, chẳng hạn như CHIPS hoặc Bộ trang web có liên quan.

Ngoài ra, chúng tôi dự định cung cấp một phần nhỏ lưu lượng truy cập trong Chế độ B đã tắt PS R&M API. Các API khác, chẳng hạn như Bộ trang web có liên quan, CHIPS và FedCM, sẽ không bị vô hiệu hoá. Chúng tôi dự kiến sự kết hợp này sẽ hữu ích trong việc thiết lập hiệu suất cơ sở cho các trình duyệt không có cookie của bên thứ ba và không có API PS R&M.

Trong Chế độ B, chúng tôi cũng sẽ cung cấp nhãn cho các trình duyệt bị ảnh hưởng. Các nhãn sẽ có sẵn cùng lúc với các API bị tắt. Chúng tôi dự định chia dữ liệu thành 3 nhóm treatment_1.* trong đó cookie của bên thứ ba bị vô hiệu hoá nhưng có API PS R&M và một nhóm control_2cả cookie của bên thứ ba và API PS R&M đều bị tắt.

Để hỗ trợ gỡ lỗi cho các công cụ tích hợp Attribution Reporting API và API Tổng hợp riêng tư, đồng thời giúp người tham gia kiểm thử hiểu rõ hơn về tác động của độ nhiễu, báo cáo gỡ lỗi ARAbáo cáo gỡ lỗi của tính năng Tổng hợp riêng tư vẫn sẽ được cung cấp cho các trình duyệt ở Chế độ B, miễn là người dùng chưa chặn một cách rõ ràng cookie của bên thứ ba. Các báo cáo gỡ lỗi sẽ không có trong control_2, vì PS R&M API không có trong lát cắt đó. Báo cáo gỡ lỗi vẫn sẽ bị loại bỏ cùng với việc loại bỏ cookie của bên thứ ba.

  • Đối với Attribution Reporting API, vì cookie của bên thứ ba bị tắt, nên nguồn gốc báo cáo sẽ không thể đặt cookie ar_debug và phải dựa vào việc đặt các trường debug_key (đối với báo cáo phân bổ thành công) và các trường debug_reporting (đối với báo cáo chi tiết) để chọn nhận hoặc không nhận báo cáo gỡ lỗi.
  • Đối với API Tổng hợp riêng tư, nguồn gốc báo cáo phải dựa vào lệnh gọi enableDebugMode() để kiểm soát việc chọn nhận báo cáo gỡ lỗi. Các công ty nên tiếp tục xem xét cách áp dụng các nghĩa vụ theo quy định đối với việc sử dụng API Báo cáo phân bổ và API Tổng hợp riêng tư, bao gồm cả báo cáo gỡ lỗi.

Chế độ A sẽ tiếp tục chạy và các nhóm này khác với các nhóm Chế độ A, vì người dùng sẽ ở Chế độ A, Chế độ B hoặc không thuộc Chế độ A. Người tham gia kiểm thử nên sử dụng lưu lượng truy cập control_1.* làm nhóm đối chứng đại diện cho hiện trạng bằng cookie của bên thứ ba.

Nhãn % Lưu lượng truy cập ổn định
treatment_1.1 0,25
treatment_1.2 0,25
treatment_1.3 0,25
control_2 0,25

Chrome cũng đã hạn chế cookie đối với 20% ứng dụng Chrome Canary, Dev và Beta.

Nhãn % lưu lượng truy cập trước khi ổn định
prestable_treatment_1 10%
prestable_control_2 10%

Việc đưa vào một trong các nhóm thử nghiệm này sẽ có tác động tương tự như việc đưa vào các nhóm thử nghiệm tương đương.

Giống như Chế độ A, các API PS R&M không được đảm bảo sẽ có sẵn vì người dùng có thể tắt các API này trong phần cài đặt Quyền riêng tư và bảo mật của Chrome. Tương tự, chúng tôi không đảm bảo sẽ tắt cookie của bên thứ ba đối với mọi thành viên của nhóm control_2, vì người dùng có thể truy cập giao diện người dùng của trình duyệt để cho phép sử dụng cookie của bên thứ ba cho một trang web.

Theo dõi thử nghiệm

Hãy nhớ theo dõi lưu lượng truy cập tương đối của từng phương pháp xử lý và nhãn đối chứng. treatment_1.1 phải có cùng mức lưu lượng truy cập như treatment_1.2treatment_1.3.

Bạn nên cân nhắc liên quan đến lưu lượng truy cập chứa nhãn đến từ các phiên bản Chrome trước phiên bản 120. Nếu nhóm của bạn thường xử lý lưu lượng truy cập không hợp lệ xác định được các tác nhân người dùng có đặc điểm của lưu lượng truy cập không hợp lệ, thì bạn nên lọc các kết quả kiểm thử này.

Nhãn giai đoạn trước

Cho đến tháng 1 năm 2024, chúng tôi đã chạy giai đoạn trước cho nhiều nhóm thử nghiệm: khoảng thời gian để Chrome xác định kích thước chính xác và chọn các nhóm không thiên vị về thống kê. Các giai đoạn trước này chạy trên tất cả các nhóm dự kiến bắt đầu vào tháng 1: nhóm Chế độ B và nhóm Control_1.*. Nhà phát triển hoặc trang web không cần làm gì ở đây – những nhóm trước giai đoạn trước này sẽ không thay đổi gì về hành vi hoặc khả năng sử dụng API. Tuy nhiên, bạn cần lưu ý rằng có thể bạn sẽ thấy nhãn preperiod được trả về trong một số trường hợp. Mặc dù các trình duyệt nhận được nhãn preperiod có thể chuyển đổi sang một trong các nhóm thử nghiệm, nhưng điều này không đảm bảo. Vì vậy, bạn không nên giả định rằng các trình duyệt có nhãn này vẫn có thể tham gia thử nghiệm.

Nhóm thử nghiệm là một nhóm nhỏ tập hợp con đang được nghiên cứu: trong trường hợp này, một trong các nhóm được gắn nhãn.

Trong thời gian của Chế độ A và Chế độ B, chúng tôi sẽ giới thiệu giá trị Cookie-Deprecation tạm thời có thể truy cập qua tiêu đề HTTP chọn tham gia và API JavaScript. Giá trị này sẽ cung cấp nhãn cho nhóm thử nghiệm Chế độ A hoặc B áp dụng của trình duyệt (như được xác định theo tỷ lệ phần trăm ở trên), nếu thuộc một trong một.

Việc truy cập nhãn bao gồm hoạt động truy cập vào thông tin được lưu trữ trên thiết bị của người dùng. Ở một số khu vực tài phán (chẳng hạn như Liên minh Châu Âu và Vương quốc Anh), chúng tôi hiểu rằng hoạt động này tương tự với việc sử dụng cookie, do đó, việc truy cập vào các nhãn có thể đòi hỏi sự đồng ý của người dùng cuối. Trước khi bắt đầu yêu cầu nhãn, bạn nên tham khảo ý kiến tư vấn pháp lý về việc xem nghĩa vụ đồng ý này có áp dụng cho bạn hay không.

Để nhận được tiêu đề của yêu cầu Sec-Cookie-Deprecation, trước tiên, trang web phải đặt cookie receive-cookie-deprecation. Cookie này phải sử dụng thuộc tính Partitioned, tức là việc chọn nhận tiêu đề phải được thực hiện trên từng trang web cấp cao nhất.

Ví dụ: nếu 3p-example.site muốn nhận tiêu đề Sec-Cookie-Deprecation trên tài nguyên được nhúng vào example.com, thì 3p-example.site phải đặt cookie sau đây trong ngữ cảnh đó.

Set-Cookie: receive-cookie-deprecation=1; Secure; HttpOnly; Path=/; SameSite=None; Partitioned;  Max-Age=15552000

Các thuộc tính cookie Secure, HttpOnly, SameSitePartitioned là bắt buộc. Các thuộc tính khác: Domain, Path, ExpiresMax-Age có thể được thiết lập là phù hợp nhất với nhu cầu của bạn, mặc dù Path=/ là giá trị mặc định phù hợp. Ví dụ ở đây đặt Max-Age=15552000 để cookie không hết hạn cho đến sau 180 ngày.

Bạn nên bắt đầu đặt cookie receive-cookie-deprecation=1 trước khi thời gian thử nghiệm hỗ trợ Chrome bắt đầu, để đảm bảo rằng các trình duyệt trong nhóm thử nghiệm sẽ bao gồm tiêu đề yêu cầu Sec-Cookie-Deprecation ngay khi có tiêu đề đó.

Ví dụ: giả sử trình duyệt nằm trong nhóm example_label_1, thì các yêu cầu tiếp theo bao gồm cookie này cũng sẽ bao gồm tiêu đề Sec-Cookie-Deprecation.

Sec-Cookie-Deprecation: example_label_1

Nếu trình duyệt không thuộc một nhóm thì sẽ không có tiêu đề nào được gửi. Nhãn gắn liền với sự hiện diện của cookie, vì vậy, nếu cookie bị xoá, bị chặn hoàn toàn hoặc bị chặn đối với trang web cụ thể, thì nhãn sẽ không được gửi. Vì thuộc tính Partitioned được dùng để tiếp tục sử dụng sau khi cookie của bên thứ ba không được dùng nữa, tức là bạn có thể đặt cookie Partitioned khi chặn cookie của bên thứ ba.

Truy cập vào API JavaScriptDeprecatedLabel

Bạn cũng có thể truy cập vào giá trị Cookie-Deprecation thông qua API JavaScript navigator.cookieDeprecationLabel.getValue(). Thao tác này sẽ trả về một lời hứa sẽ phân giải thành một chuỗi chứa nhãn nhóm hiện hành. Ví dụ: nếu trình duyệt nằm trong nhóm 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"
 });
}

Nếu trình duyệt không thuộc một nhóm, thì API sẽ không có sẵn hoặc giá trị sẽ là một chuỗi trống, vì vậy, hãy đảm bảo bạn đã phát hiện tính năng.

API JavaScript có thể được gọi bất kể cookie receive-cookie-deprecation có hiện diện hay không. Tuy nhiên, nếu cookie bị chặn hoàn toàn hoặc chỉ đối với trang web, thì API sẽ không hoạt động hoặc trả về một chuỗi trống.

Giống như mọi giá trị do ứng dụng cung cấp, hãy đảm bảo rằng bạn dọn dẹp và xác thực giá trị từ tiêu đề hoặc API JavaScript trước khi sử dụng.

Bản minh hoạ và thử nghiệm

Kể từ Chrome 120 trở đi, luôn có sẵn cờ để cho phép nhà phát triển kiểm thử cục bộ việc yêu cầu và đọc nhãn.

Cờ chrome://flags/#tpc-phase-out-facilitated-testing cho phép bạn bật lựa chọn nhãn kiểm thử. Các nhãn này có tiền tố fake_ để phân biệt chúng với các nhãn thực. Việc bật cờ này sẽ không chọn trình duyệt vào bất kỳ nhóm thử nghiệm nào.

Bạn có thể xem các nhãn đang hoạt động tại goo.gle/cft-demo.

Khi thực thi việc đăng ký cho các API đo lường và mức độ liên quan của Hộp cát về quyền riêng tư, bạn có thể cần ghi đè biện pháp thực thi đối với kiểm thử cục bộ bằng cách sử dụng chrome://flags/#privacy-sandbox-enrollment-overrides và cung cấp nguồn gốc minh hoạ. Ngoài ra, hãy thêm cờ dòng lệnh sau đây nếu bạn đang chạy Chrome trên một thiết bị đầu cuối: --args --disable-features=EnforcePrivacySandboxAttestations

chrome://flags/#tpc-phase-out-facilitated-testing

Trình đơn thả xuống cờ bao gồm nhiều tuỳ chọn. Người kiểm thử chủ yếu quan tâm đến các mục được đánh dấu là "Buộc" vì các mục này đảm bảo rằng hành vi thử nghiệm được bật bất kể các cấu hình thiết bị khác.

Để chỉ kiểm tra các nhãn của nhóm thử nghiệm, hãy chọn "Enable Force Control 1" (Bật chế độ kiểm soát buộc bật 1) hoặc "Enabled Force LabelOnly" (Chỉ áp dụng cho nhãn đã bật). Các thao tác này sẽ dẫn đến việc trình duyệt gửi nhãn "fake_control_1.1" hoặc "fake_label_only_1.1".

Trong Chrome M120 trở lên, bạn cũng có thể dùng các mục sau.

Để kiểm tra việc chặn cookie của bên thứ ba, hãy chọn "Enabled Force Controls" (Buộc xử lý dữ liệu đang bật). Thao tác này sẽ gửi nhãn nhóm thử nghiệm "fake_processing_1.1", nhưng cũng sửa đổi trang cài đặt cookie và chế độ cài đặt cookie hiện tại để chặn cookie của bên thứ ba.

Để kiểm thử việc chặn cookie của bên thứ ba mà không có API quảng cáo riêng tư, hãy chọn "Buộc kiểm soát 2". Thao tác này sẽ gửi nhãn nhóm thử nghiệm "fake_control_2", cập nhật trang cài đặt cookie, chặn cookie của bên thứ ba và cũng chặn các API quảng cáo riêng tư mới.

Xin lưu ý rằng hiện tại có một vấn đề mà trình duyệt vẫn sẽ lưu giữ trang cài đặt cookie mới và chế độ cài đặt này sẽ chặn cookie của bên thứ ba ngay cả khi bạn tắt cờ này. Chúng tôi đang nỗ lực khắc phục sự cố này, nhưng trong thời gian chờ đợi, bạn có thể kiểm thử các giá trị cờ này trong một thư mục dữ liệu Chrome riêng biệt bằng cách chạy Chrome bằng cờ dòng lệnh --user-data-dir=<new dir>.

Ý kiến phản hồi

Chúng tôi sử dụng nhãn "chrome-testing" trong kho lưu trữ hỗ trợ nhà phát triển trên GitHub để quản lý câu hỏi. Chúng tôi hoan nghênh ý kiến phản hồi và thảo luận của bạn về các câu hỏi ban đầu:

Bạn cũng có thể đặt câu hỏi hoặc thảo luận mới trong kho lưu trữ bằng cách sử dụng mẫu "thử nghiệm trên nền tảng Chrome".