Testowanie w Chrome

Aby przygotować się na wycofanie plików cookie innych firm, udostępniamy tryby testowania obsługiwane przez Chrome, które umożliwiają sprawdzanie działania i funkcji witryn bez plików cookie innych firm. W tym przewodniku omawiamy dostępne w Chrome tryby testowania oraz sposób uzyskiwania dostępu do etykiet grup eksperymentalnych.

Przeglądarka Chrome w tym kontekście oznacza klienta Chrome, czyli instalację Chrome na urządzeniu. Każdy katalog danych pojedynczego użytkownika stanowi osobnego klienta.

Grupa eksperymentalna: zestaw przeglądarek Chrome, w których włączono, wyłączono lub skonfigurowano określone funkcje. W kontekście testów obsługiwanych przez Chrome jest to zestaw przeglądarek, dla których ustawiono etykiety.

Etykieta: w tym kontekście jest to wartość nagłówka żądania ustawiona dla przeglądarki należącej do grupy eksperymentalnej. Każda przeglądarka w grupie eksperymentalnej pozostanie w tej grupie przez cały okres testów obsługiwanych przez Chrome, dzięki czemu etykieta przeglądarki pozostanie spójna wśród testerów.

Oferujemy 2 różne tryby:

  • Tryb A: od listopada 2023 r. organizacje testujące PS R&M API mogły wyrazić zgodę na otrzymywanie spójnych etykiet w podzbiorze przeglądarek Chrome, co umożliwia skoordynowane testowanie przez różnych testerów.
  • Tryb B. Od 4 stycznia 2024 r. Chrome globalnie wyłączyła pliki cookie innych firm w części przeglądarek Chrome.

Jeśli pliki cookie innych firm zostaną wyłączone w trybie B, pozostaną wyłączone do końca pełnego ich wycofania.

Współpracujemy z CMA, aby mieć pewność, że te tryby testowania są zgodne z platformą testowania (i harmonogramem) dla firm zewnętrznych zgodnie z wytycznymi dotyczącymi testowania w branży. W związku z tym CMA przewiduje, że wyniki testowania w tych trybach mogą zostać wykorzystane przy ocenie Piaskownicy prywatności. Według CMA prawdopodobnie bardziej waży się na wyniki z projektu eksperymentalnego 2, w którym zastosowano etykiety trybu B i etykiety trybu A kontrolnego 1. Więcej informacji o projektowaniu eksperymentalnym 2 znajdziesz w wytycznych z CMA z 26 października.

Dostęp do etykiet można uzyskać za pomocą tymczasowej wartości Cookie-Deprecation dostępnej w nagłówku HTTP lub interfejsie JavaScript API. Szczegóły implementacji znajdziesz w dalszej sekcji Uzyskiwanie dostępu do etykiet z użyciem wartości Wycofywanie plików cookie.

Wyślemy tę ofertę zgodnie ze zwykłym procesem programowania Blink, w ramach którego zakończymy projekt techniczny i etap wydania Chrome. Chcielibyśmy udostępnić taki wdrożenie, jednak dodatkowe omówienie i zatwierdzenie sprawiają, że szczegóły mogą ulec zmianie. W miarę postępów w realizacji planów będziemy na bieżąco aktualizować tę stronę. Możesz nadal przesyłać opinie i pytania.

Tryb A: oznaczone etykietami grupy przeglądarek

Organizacje biorące udział w testach będą mogły wyrazić zgodę na otrzymywanie stałego zestawu etykiet dla podzbioru przeglądarek Chrome, co pozwoli na skoordynowane eksperymenty obejmujące różne technologie reklamowe w tym samym zestawie przeglądarek. Jeśli na przykład przeglądarka należy do grupy eksperymentalnej label_only_3 (jak pokazano w tabeli poniżej), wszystkie technologie reklamowe uczestniczące w programie będą mogły zobaczyć tę samą etykietę label_only_3 i odpowiednio się skoordynować: korzystają z interfejsów API PS R&M, ale nie będą używać plików cookie innych firm. Oczekujemy od uczestników strony zadbania o to, aby etykiety były przekazywane innym uczestnikom, co pozwoli na spójne eksperymentowanie podczas całego procesu wyboru reklam i pomiaru.

Dzięki temu wielu uczestników może na przykład przeprowadzać aukcje z Protected Audience bez użycia plików cookie innych firm w spójnej grupie przeglądarek. Uczestnicy aukcji przekazują zaobserwowaną etykietę kupującym, aby ułatwić skoordynowane testowanie.

Nie mają one wpływu na działanie Chrome – w tym na dostępność plików cookie innych firm. Etykiety zapewniają grupowanie dla niezależnych, skoordynowanych eksperymentów, ale to uczestniczące strony odpowiadają za egzekwowanie odpowiednich parametrów eksperymentu. Jeśli testujesz efekty usunięcia plików cookie innych firm, każdy uczestnik jest odpowiedzialny za wykluczenie danych z plików cookie innych firm w przypadku przeglądarek z tą etykietą.

Celem jest utworzenie grup reprezentatywnych dla normalnego ruchu w Chrome. Oznacza to, że powinny być dostępne zarówno pliki cookie innych firm, jak i interfejsy API PS R&M, chociaż niektórzy użytkownicy mogli zmienić lub wyłączyć funkcje za pomocą ustawień lub rozszerzeń.

Etykiety będą zasadniczo trwałe przez całą sesję przeglądania w Chrome i w różnych sesjach. Nie jest to jednak gwarantowane, ponieważ w rzadkich sytuacjach całkowite zresetowanie przeglądarki może spowodować też zresetowanie bieżącej etykiety.

Planujemy udostępnić 8, 5% stabilnych przeglądarek Chrome w trybie A.Nasza wstępna propozycja dzieli tę populację na 9 grup. Mniejsze podgrupy mają zapewnić technikom reklamowym elastyczność w łączeniu etykiet w celu tworzenia własnych eksperymentów o różnej wielkości. Grupy się nie nakładają.

Pamiętaj, że etykiety control_1.* są używane jako „Grupa kontrolna 1” zgodnie z wytycznymi CMA dotyczącymi testowania branżowego, więc uczestnicy testów nie powinni używać interfejsu Topics API ani przeprowadzać aukcji z użyciem Protected Audience API w przypadku tego ruchu. Etykiety nie wpływają na działanie przeglądarki, dlatego uczestnicy nie powinni przekazywać zaobserwowanych tematów ani rozpoczynać aukcji z użyciem Protected Audience API, gdy wykryją etykiety grupy control_1.*.

Zachęcamy do opinii, czy ten wybór grup spełnia potrzeby organizacji biorących udział w programie.

Etykieta % stabilnego ruchu
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

Grupy przeglądarek w trybie A label_only_ są dostępne od listopada 2023 r., a grupy w trybie A control_1_* zostały udostępnione od 4 stycznia 2024 r.

Tryb B: wyłącz 1% plików cookie innych firm

Od 4 stycznia 2024 r. przeglądarka Chrome wyłączyła pliki cookie innych firm w około 1% stabilnych przeglądarek Chrome (w IV kwartale 2023 r. także w przeglądarkach w wersji deweloperskiej, Canary i beta). Organizacje testujące interfejsy PS R&M API nie muszą włączać tego trybu, ponieważ będzie on stosowany równomiernie w całej przeglądarce. Pamiętaj, że może to mieć wpływ na niektóre funkcje witryny, jeśli nie wdrożyła ona jeszcze alternatywnego rozwiązania, takiego jak elementy CHIPS lub zestawy powiązanych witryn.

Planujemy też udostępnić niewielką część ruchu w trybie B z wyłączonymi interfejsami API PS R&M. Inne interfejsy API, takie jak zestawy powiązanych witryn, CHIPS i FedCM, nie zostaną wyłączone. Spodziewamy się, że to połączenie pomoże w ustaleniu podstawowego poziomu wydajności przeglądarek bez plików cookie innych firm i bez interfejsów API PS R&M.

W ramach trybu B udostępniamy etykiety przeglądarek, których dotyczy problem. Etykiety są dostępne w tym samym czasie z wyłączonym interfejsami API. Proponujemy podzielenie populacji na 3 grupy treatment_1.*, w których pliki cookie innych firm są wyłączone, ale dostępne są interfejsy PS R&M API, oraz jedną grupę control_2, w której wyłączone są zarówno pliki cookie innych firm, jak i interfejsy API PS R&M.

Aby ułatwić debugowanie integracji interfejsu Attribution Reporting API i integracji interfejsu Private Aggregation API oraz aby uczestnicy testów mogli lepiej zrozumieć wpływ szumu, raporty na temat debugowania AAR i raporty na temat debugowania z funkcją agregacji prywatnej będą nadal dostępne w przypadku przeglądarek w trybie B, o ile użytkownik nie zablokował jednoznacznie plików cookie innych firm. Raporty debugowania nie będą dostępne w regionie control_2, ponieważ interfejsy PS R&M API nie są w tym wycinku. Raporty debugowania nadal będą wycofywane wraz z wycofaniem plików cookie innych firm.

  • W przypadku Attribution Reporting API, ponieważ pliki cookie innych firm są wyłączone, źródło raportowania nie może ustawić pliku cookie ar_debug i powinno polegać na ustawieniu pól debug_key (na potrzeby raportów o sukcesie atrybucji) i pól debug_reporting (w przypadku raportów szczegółowych), aby włączyć lub wyłączyć otrzymywanie raportów z debugowania.
  • W przypadku interfejsu Private Aggregation API źródło raportowania powinno polegać na wywołaniu funkcji enableDebugMode() w celu kontrolowania zgody na otrzymywanie raportów z debugowania. Firmy powinny nadal rozważać obowiązki prawne dotyczące korzystania z Attribution Reporting API i Private Aggregation API, w tym z raportów debugowania.

Tryb A będzie nadal działać, a grupy te różnią się od grup trybu A, ponieważ użytkownik będzie w trybie A, w trybie B lub w żadnym z nich. Uczestnicy testu powinni używać ruchu control_1.* jako grupy kontrolnej reprezentującej aktualne warunki korzystania z plików cookie innych firm.

Etykieta % stabilnego ruchu
treatment_1.1 0,25
treatment_1.2 0,25
treatment_1.3 0,25
control_2 0,25

Ograniczyliśmy też używanie plików cookie w 20% klientów Chrome Canary, Dev i beta.

Etykieta % ruchu w wersji przedpremierowej
prestable_treatment_1 10%
prestable_control_2 10%

Uwzględnienie w jednej z tych grup eksperymentalnych będzie miało taki sam efekt jak ich stabilne odpowiedniki.

Tak jak w przypadku trybu A, nie ma gwarancji dostępności interfejsów PS R&M API, ponieważ użytkownicy mogą je wyłączyć w ustawieniach Prywatność i bezpieczeństwo w Chrome. Nie możemy również zagwarantować, że pliki cookie innych firm zostaną wyłączone w przypadku każdego członka grupy control_2, ponieważ użytkownicy mogą otworzyć interfejs przeglądarki, aby zezwolić na pliki cookie innych firm w witrynie.

Monitorowanie eksperymentów

Pamiętaj, aby sprawdzać względną wielkość ruchu w każdej grupie eksperymentalnej i kontrolnej. treatment_1.1 powinien generować mniej więcej taką samą ilość ruchu jak treatment_1.2 i treatment_1.3.

Zalecamy rozwagę w przypadku ruchu zawierającego etykiety pochodzące z Chrome w wersji starszej niż 120. Jeśli Twój zespół, który zwykle zajmuje się nieprawidłowym ruchem, identyfikuje klienty użytkownika, które wykazują cechy nieprawidłowego ruchu, warto odfiltrować te klienty z wyników testów.

Etykiety z okresu przed wprowadzeniem

Do stycznia 2024 r. prowadziliśmy okresy poprzedzające kilka grup eksperymentalnych: był to okres, w którym Chrome mógł dokładnie określić i wybrać statystycznie obiektywne grupy. Te okresy wstępne obejmowały wszystkie grupy eksperymentalne, które miały się rozpocząć w styczniu: grupy trybu B i grupy Control_1.*. Nie musisz tu podejmować żadnych działań ze strony dewelopera ani witryny – grupy sprzed tego okresu nie zauważą żadnych zmian w działaniu ani dostępności interfejsu API, ale w niektórych sytuacjach mogą pojawić się zwrócenia etykiety preperiod. Przeglądarki z etykietą preperiod mogą przenieść się do jednej z grup eksperymentalnych, ale nie jest to gwarantowane, dlatego nie należy zakładać, że przeglądarki z tą etykietą wezmą udział w eksperymencie.

Grupa eksperymentalna jest podzbiorem populacji objętej badaniem: w tym przypadku jest to jedna z grup oznaczonych etykietami.

Na czas trwania trybu A i B wprowadziliśmy tymczasową wartość Cookie-Deprecation dostępną za pomocą nagłówka HTTP akceptacji i interfejsu JavaScript API. Zawiera ona etykietę odpowiedniej grupy eksperymentalnej trybu A lub B (zgodnie z wartościami procentowymi powyżej), jeśli należy do jednej z tych grup.

Dostęp do etykiet wymaga dostępu do informacji przechowywanych na urządzeniu użytkownika. Zdajemy sobie sprawę, że w niektórych jurysdykcjach (np. w Unii Europejskiej i Wielkiej Brytanii) taka działalność przypomina używanie plików cookie i dostęp do etykiet prawdopodobnie wymaga zgody użytkownika. Zanim zaczniesz wysyłać prośby o etykiety, zasięgnij porady prawnej, aby ustalić, czy obowiązek uzyskania zgody Cię dotyczy.

Aby otrzymać nagłówek żądania Sec-Cookie-Deprecation, witryna musi najpierw ustawić plik cookie receive-cookie-deprecation. Ten plik cookie musi korzystać z atrybutu Partitioned, co oznacza, że wyrażenie zgody na otrzymywanie nagłówka wymaga zgody na otrzymywanie nagłówka w przypadku każdej witryny najwyższego poziomu.

Jeśli np. 3p-example.site chce otrzymywać nagłówek Sec-Cookie-Deprecation ze swoich zasobów umieszczonych w witrynie example.com, wtedy 3p-example.site musi w tym kontekście ustawić następujący plik cookie.

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

Atrybuty plików cookie Secure, HttpOnly, SameSite i Partitioned są wymagane. Inne atrybuty: Domain, Path, Expires i Max-Age mogą być ustawione zgodnie z Twoimi potrzebami, ale Path=/ jest dobrym ustawieniem domyślnym. W tym przykładzie ustawiamy Max-Age=15552000 tak, by plik cookie nie wygasał przed upływem 180 dni.

Możesz zacząć ustawiać plik cookie receive-cookie-deprecation=1 przed rozpoczęciem okresu testowania obsługiwanego przez Chrome, aby mieć pewność, że przeglądarki w grupie eksperymentalnej podają nagłówek żądania Sec-Cookie-Deprecation, gdy tylko stanie się dostępny.

Jeśli np. przeglądarka należy do grupy example_label_1, kolejne żądania zawierające ten plik cookie będą też zawierać nagłówek Sec-Cookie-Deprecation.

Sec-Cookie-Deprecation: example_label_1

Jeśli przeglądarka nie należy do grupy, nie zostanie wysłany żaden nagłówek. Etykiety są powiązane z obecnością pliku cookie, więc jeśli w przypadku danej witryny plik cookie zostanie usunięty, zablokowany lub zablokowany, etykiety nie będą wysyłane. Ponieważ atrybut Partitioned jest przeznaczony do dalszego korzystania po całkowitym wycofaniu plików cookie innych firm, oznacza to, że pliki cookie Partitioned mogą być ustawiane po zablokowaniu plików cookie innych firm.

Uzyskiwanie dostępu do interfejsu API JavaScriptDeprecationLabel

Dostęp do wartości Cookie-Deprecation można też uzyskać za pomocą interfejsu navigator.cookieDeprecationLabel.getValue() JavaScript API. Spowoduje to zwrócenie obietnicy, która odnosi się do ciągu znaków zawierającego odpowiednią etykietę grupy. Jeśli na przykład przeglądarka należy do grupy 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"
 });
}

Jeśli przeglądarka nie należy do grupy, interfejs API będzie niedostępny lub wartość będzie pustym ciągiem znaków, dlatego upewnij się, że masz włączone wykrywanie cech.

Interfejs JavaScript API można wywoływać niezależnie od obecności pliku cookie receive-cookie-deprecation. Jeśli jednak pliki cookie zostaną całkowicie zablokowane lub dotyczą konkretnej strony, interfejs API znów będzie niedostępny lub zwróci pusty ciąg znaków.

Tak jak w przypadku każdej wartości podanej przez klienta, najpierw oczyść i zweryfikuj wartość z nagłówka lub interfejsu JavaScript API.

Demonstracje i testowanie

Od wersji Chrome 120 dostępne są flagi umożliwiające lokalnym deweloperom testowanie żądania i odczytywania etykiet.

Flaga chrome://flags/#tpc-phase-out-facilitated-testing umożliwia wybór etykiet testowych. Są one poprzedzone ciągiem fake_, aby odróżnić je od rzeczywistych. Włączenie tej flagi nie powoduje przypisania przeglądarki do żadnej z grup eksperymentalnych.

Działanie etykiet możesz zobaczyć na stronie goo.gle/cft-demo.

Ponieważ rejestracja jest egzekwowana w przypadku interfejsów API do pomiaru trafności i pomiarów Piaskownicy prywatności, konieczne może być zastąpienie wymuszania testów lokalnych za pomocą funkcji chrome://flags/#privacy-sandbox-enrollment-overrides i podania źródła wersji demonstracyjnej. Jeśli korzystasz z Chrome z terminala, możesz też dodać tę flagę wiersza poleceń: --args --disable-features=EnforcePrivacySandboxAttestations

chrome://flags/#tpc-phase-out-facilitated-testing
Ustawienia flag testowych obsługiwanych przez Chrome

Menu flag zawiera wiele opcji. Testerzy będą zainteresowani wpisami o stanie „Force”, ponieważ dzięki nim zachowanie w eksperymencie będzie aktywne niezależnie od innych konfiguracji urządzeń.

Aby przetestować tylko etykiety grup eksperymentalnych, wybierz „Włączono wymuszanie kontroli 1” lub „Włączono wymuszanie tylko etykiet”. Przeglądarka będzie wysyłać etykiety „fake_control_1.1” lub „fake_label_only_1.1”.

W Chrome M120 i nowszych możesz też używać tych wpisów.

Aby przetestować blokowanie plików cookie innych firm, wybierz „Włączono wymuszanie traktowania”. Spowoduje to wysłanie etykiety grupy eksperymentów „fake_treatment_1.1”, a także na stronę ustawień plików cookie i ich bieżące ustawienia tak, aby blokowały pliki cookie innych firm.

Aby przetestować blokowanie plików cookie innych firm bez interfejsów API do wyświetlania reklam prywatnych, wybierz „Force Control 2”. Spowoduje to wysłanie etykiety grupy eksperymentu „fake_control_2”, aktualizację strony ustawień plików cookie, zablokowanie plików cookie innych firm oraz wyłączenie nowych interfejsów API reklam prywatnych.

Uwaga: występuje problem polegający na tym, że przeglądarka pozostaje na stronie ustawień nowych plików cookie i blokuje pliki cookie innych firm nawet wtedy, gdy wyłączysz flagę. Pracujemy nad rozwiązaniem tego problemu, a już teraz możesz przetestować te wartości flag w osobnym katalogu danych Chrome, uruchamiając przeglądarkę Chrome z flagą --user-data-dir=<new dir> w wierszu poleceń.

Prześlij opinię

Do zarządzania pytaniami używamy etykiety „chrome-testing” w repozytorium pomocy dla deweloperów na GitHubie. Zachęcamy do przekazywania opinii i dyskusji na temat pierwszych pytań:

Możesz też zgłaszać nowe pytania lub dyskusje w repozytorium, korzystając z szablonu „Testy obsługiwane przez Chrome”.