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ế độ kiểm thử trên nền tảng Chrome cho phép các trang web xem trước cách hoạt động của các tính năng và hành vi 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ế độ kiểm thử mà Chrome dự định 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 thiết bị. Mỗi thư mục dữ liệu của người dùng riêng lẻ sẽ cấu thành một ứng dụng riêng biệt.

Nhóm thử nghiệm: một tập hợp 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 nền tảng Chrome, một nhóm trình duyệt được đặt nhãn.

Label (Nhãn): trong ngữ cảnh này là giá trị tiêu đề 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 nhóm thử nghiệm sẽ vẫn nằm trong nhóm đó trong suốt quá trình thử nghiệm trên nền tảng Chrome, đảm bảo rằng nhãn cho trình duyệt vẫn nhất quán giữa những người thử nghiệm.

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 các 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 đã vô hiệu hoá cookie của bên thứ ba trên toàn cầu đối với một số trình duyệt Chrome.

Khi cookie của bên thứ ba bị tắt ở Chế độ B, các cookie này sẽ vẫn bị tắt trong suốt quá trình loại bỏ 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) dà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ể được sử dụng trong quá trình đánh giá Hộp cát về quyền riêng tư. CMA cho biết có thể họ sẽ chú trọng hơn vào kết quả của 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. Xem hướng dẫn của CMA ngày 26 tháng 10 để biết thêm thông tin về Thiết kế thử nghiệm 2.

Bạn có thể truy cập nhãn bằng cách sử dụng giá trị Cookie-Deprecation tạm thời có sẵn từ tiêu đề HTTP hoặc API JavaScript. Hãy xem phần sau Truy cập nhãn bằng giá trị Ngừng sử dụng cookie để biết thông tin chi tiết về cách triển khai.

Chúng tôi cũng sẽ gửi đề xuất này thông qua quy trình phát triển Blink thông thường, trong đó thiết kế kỹ thuật và mốc quan trọng 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 vận chuyển, nhưng việc thảo luận và phê duyệt thêm có nghĩa là những 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 khi kế hoạch phát triển và bạn có thể tiếp tục cung cấp ý 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 bền vững cho một nhóm nhỏ trình duyệt Chrome, cho phép 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ư trình bày 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 cho phù hợp: sử dụng API PS R&M, nhưng không sử dụng cookie của bên thứ ba. Chúng tôi mong muốn những người tham gia trên trang này đảm bảo các nhãn được chuyển tiếp đến những người tham gia khác nhằm cho phép 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ụ: điều này cho phép nhiều người tham gia chạy phiên đấu giá Protected Audience 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. Những người tham gia phiên đấu giá sẽ chuyển tiếp nhãn được ghi nhận 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ỳ hành vi nào trong các phiên bản Chrome đó, kể cả việc sử dụng cookie của bên thứ ba. Các nhãn này cung cấp nhóm các thử nghiệm phối hợp, độc lập, nhưng tuỳ thuộc vào các bên tham gia thực thi các tham số phù hợp cho thử nghiệm. Nếu bạn đang thử nghiệm tác động của việc xoá cookie của bên thứ ba, thì mỗi người tham gia có trách nhiệm loại trừ dữ liệu cookie của bên thứ ba cho những trình duyệt có nhãn đó.

Mục đích là để tạo ra 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à cả cookie của bên thứ ba và API PS R&M đều phải có sẵn, mặc dù một số bộ phận người dùng có thể đã sử dụng các chế độ cài đặt hoặc tiện ích để thay đổi hoặc tắt các tính năng.

Thường thì nhãn sẽ nằm cố định trong suốt một phiên duyệt web trên Chrome và trong các phiên khác. Tuy nhiên, điều này không được đảm bảo vì trong một số ít trường hợp, trong đó 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.Đề xuất ban đầu của chúng tôi chia dân số đó thành 9 nhóm. Các nhóm con nhỏ hơn được thiết kế nhằm cho phép các công nghệ quảng cáo linh hoạt trong việc kết hợp nhãn nhằm tạo ra các thử nghiệm riêng ở nhiều quy mô. Các nhóm không chồng chéo nhau.

Xin lưu ý rằng nhãn control_1.* được dùng làm "Kiểm soát 1" như đã nêu trong hướng dẫn của CMA về kiểm thử trong ngành, vì vậy, người tham gia kiểm thử 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. Do nhãn không ảnh hưởng đến hành vi của trình duyệt, nên người tham gia không được truyền các chủ đề được quan sát hoặc chạy phiên đấu giá trong Protected Audience khi họ phát hiện các nhãn nhóm control_1.*.

Chúng tôi hoan nghênh ý kiến phản hồi về việc các nhóm được lựa chọn 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 ở Chế độ A label_only_ đã có từ tháng 11 năm 2023, và Các nhóm trình duyệt Chế độ A control_1_* đã ra mắt từ ngày 4 tháng 1 năm 2024.

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

Chrome đã vô hiệu hoá cookie của bên thứ ba trên khoảng 1% trình duyệt Chrome ổn định từ ngày 4 tháng 1 năm 2024 (và cả 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 chế độ này vì chế độ này sẽ được áp dụng thống nhất trên toàn bộ tập hợp trình duyệt. Tất nhiên, vẫ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 áp dụng một 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 API PS R&M. Các API khác, chẳng hạn như Bộ trang web có liên quan, CHIPS (Cookie có trạng thái đồng ý), và FedCM sẽ không bị tắt. Chúng tôi dự đoán rằng sự kết hợp này sẽ giúp thiết lập đường cơ sở về hiệu suất 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 cung cấp nhãn cho các trình duyệt bị ảnh hưởng. Các nhãn này xuất hiện cùng lúc với thời điểm API bị tắt. Chúng tôi đề xuất chia tập hợp 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_2 trong đó cả cookie của bên thứ ba lẫn API PS R&M bị tắt.

Để hỗ trợ gỡ lỗi 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 Tổng hợp riêng tư sẽ vẫn có sẵn cho các trình duyệt ở Chế độ B, miễn là người dùng không chặn cookie của bên thứ ba một cách rõ ràng. 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 thiết lập các trường debug_key (đối với báo cáo phân bổ thành công) và trường debug_reporting (đối với báo cáo chi tiết) để chọn sử dụng 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 các báo cáo gỡ lỗi. Các công ty nên tiếp tục cân nhắc cách áp dụng các nghĩa vụ theo quy định khi sử dụng Attribution Reporting API và API Tổng hợp riêng tư, bao gồm cả báo cáo gỡ lỗi.

Chế độ A tiếp tục chạy và các nhóm này khác với nhóm Chế độ A, vì khi người dùng ở Chế độ A, Chế độ B hoặc không ở Chế độ nào cả. Những 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 khách Chrome Canary, Dev và Beta.

Nhãn % lưu lượng truy cập ổn định trước
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ẽ mang lại hiệu quả tương tự như đối với các nhóm tương đương Ổn định.

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

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 biện 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 với treatment_1.2treatment_1.3.

Bạn nên cân nhắc thận trọng đối với lưu lượng truy cập có chứa nhãn đến từ các phiên bản Chrome trước phiên bản 120. Nếu nhóm chuyên xử lý lưu lượng truy cập không hợp lệ của bạn xác định được những tác nhân người dùng cho thấy cá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 những tác nhân này khỏi kết quả kiểm thử.

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

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: một khoảng thời gian để cho phép Chrome xác định chính xác và chọn các nhóm không thiên vị về mặt thống kê. Các giai đoạn trước khi chạy này trên tất cả các nhóm thử nghiệm được lên lịch để 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 thử nghiệm trước giai đoạn này sẽ không có bất kỳ thay đổi nào về hành vi hoặc khả năng sử dụng API. Tuy nhiên, bạn nê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 được đả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 chắc chắn sẽ tham gia thử nghiệm.

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

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

Việc truy cập nhãn bao gồm việc 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ự như việc sử dụng cookie. Do đó, việc truy cập vào nhãn có thể cần phải có sự đồng ý của người dùng cuối. Trước khi bắt đầu yêu cầu gắn nhãn, bạn nên xin ý kiến tư vấn pháp lý về việc liệu 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, nghĩa là phải chọn nhận tiêu đề trên mỗi 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 các tài nguyên được nhúng trên example.com, thì 3p-example.site phải đặt cookie sau 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 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 sau 180 ngày.

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

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 có 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á, 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à cookie Partitioned có thể được đặt khi cookie của bên thứ ba bị chặn.

Truy cập vào API JavaScript cookieUsageLabel

Bạn cũng có thể truy cập vào giá trị Cookie-Deprecation bằng API JavaScript navigator.cookieDeprecationLabel.getValue(). Thao tác này sẽ trả về một lời hứa 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ể có cookie receive-cookie-deprecation hay không. Tuy nhiên, nếu cookie bị chặn hoàn toàn hoặc chỉ chặn cho trang web đó, thì API sẽ không còn sử dụng được 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 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

Từ Chrome 120 trở đi, đã có sẵn các cờ để cho phép nhà phát triển kiểm thử cục bộ 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 về 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 tham gia bất kỳ nhóm thử nghiệm nào.

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

Vì quá trình đăng ký được thực thi 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ư, nên bạn có thể cần phải ghi đè biện pháp thực thi để 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
Chế độ cài đặt cờ thử nghiệm hỗ trợ Chrome

Trình đơn cờ thả xuống bao gồm nhiều lựa chọn. Người kiểm thử sẽ 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ấu hình thiết bị khác là gì.

Để chỉ kiểm thử các nhãn của nhóm thử nghiệm, hãy chọn "Bật chế độ kiểm soát buộc bật 1" hoặc "Chỉ bật tính năng buộc nhãn". Việc này sẽ khiến 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 tính năng chặn cookie của bên thứ ba, hãy chọn "Bật biện pháp xử lý buộc bật". Thao tác này sẽ gửi nhãn nhóm thử nghiệm "fake_treatment_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.

Để thử nghiệm tính năng chặn cookie của bên thứ ba mà không cần 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, cũng như chặn các API quảng cáo riêng tư mới.

Xin lưu ý rằng có một vấn đề là trình duyệt vẫn sẽ giữ nguyên trang cài đặt cookie mới và chế độ cài đặt chặn cookie của bên thứ ba ngay cả khi bạn tắt cờ. 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ể thử nghiệm 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 khởi chạy Chrome với 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ác 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ề những 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 "kiểm thử trên nền tảng Chrome".