Blog
CookiePass i Google Consent Mode: co baner zgody robi z Twoim ruchem
Opublikowano · 3 min czytania
Na tej stronie używamy CookiePass. To usługa zgody na cookies, która implementuje Google Consent Mode v2 tak, jak określa to Google — i ta właściwość okazuje się ważniejsza niż kolory banera: decyduje, co Twój tag Google wysyła przy każdym wyświetleniu strony, zanim odwiedzający odpowie, po jego „tak” i po jego „nie”. Tak to wygląda od strony serwera, gdzie każde z tych trafień przechodzi przez Twój kontener.
Co Consent Mode naprawdę zmienia
Consent Mode nie jest włącznikiem tagów. Z nim tag Google nadal odpala się na każdej stronie; zmienia się flaga na każdym trafieniu i to, co Google z tym trafieniem robi. Gdy analytics_storage jest odrzucone, tag nie ustawia cookies, nie zachowuje client id między stronami i wysyła to, co Google nazywa pingiem bez cookies — trafienie, którego GA4 używa do modelowania, a nie do raportów, które czytasz.
Flaga to parametr zapytania o nazwie gcs: dwie litery i dwie cyfry. Pierwsza cyfra to ad_storage, druga analytics_storage; 1 oznacza zgodę, 0 odmowę.
gcs=G100 ad_storage denied, analytics_storage denied
gcs=G101 ad_storage denied, analytics_storage granted
gcs=G110 ad_storage granted, analytics_storage denied
gcs=G111 both granted
(no gcs) no Consent Mode on the page — treated as grantedOstatni wiersz umyka najczęściej. Strona bez Consent Mode w ogóle nie wysyła gcs, a Google traktuje każde jej trafienie jako objęte zgodą. Dodanie banera implementującego Consent Mode nie zmniejsza więc tego, co jest wysyłane — zaczyna mówić o tym prawdę.
Jak CookiePass to podłącza
Consent Mode v2 wymaga sekwencji, nie ustawienia. Stan domyślny musi być zadeklarowany, zanim załaduje się tag Google — odmowa dla każdego, kto jeszcze nie wybrał — aktualizacja musi nastąpić w chwili decyzji odwiedzającego, a stan musi być przywracany przy każdej kolejnej wizycie. Przy złej kolejności pierwsze wyświetlenie strony w każdej sesji wychodzi jako objęte zgodą, zanim baner w ogóle się wyrenderuje.
Oto sekwencja, którą CookiePass generuje z własnego skryptu, więc nic z niej nie trafia do Twojego kontenera Tag Managera:
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
wait_for_update: 500
});
// …the visitor accepts…
gtag('consent', 'update', {
ad_storage: 'granted',
analytics_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted'
});To cała integracja. Tagi Google same respektują stan zgody, w tym tagi, które SignalHost publikuje w Twoim kontenerze webowym. Nic w kontenerze serwerowym nie potrzebuje warunku zgody; dodanie go ręcznie to sposób, w jaki zablokowany tag Google ląduje obok niezablokowanych tagów zdarzeń wysyłających dane prosto do Google.
Co Twój kontener serwerowy widzi przed decyzją i po niej
Każde trafienie pokonuje tę samą drogę: przeglądarka wysyła je na Twoją własną nazwę hosta, edge przekazuje je do kontenera serwerowego, a kontener wysyła je do GA4. Różnica jest wyłącznie w ładunku.
- Przed decyzją: gcs=G100 na każdym trafieniu, brak cookie _ga i nowy client id na każdej stronie. GA4 dostaje ping bez cookies; Twój kontener liczy żądanie.
- Po akceptacji: gcs=G111, cookies są ustawiane, a sesja się skleja. Od tego miejsca to trafienia, z których składają się Twoje raporty.
- Po odmowie: gcs=G100 na każdej stronie, dopóki decyzja obowiązuje. Zdarzenia pomiaru zaawansowanego — scroll, file_download i reszta — podlegają tej samej regule co page_view.
Dlatego strona kontenera pokazuje przy banerze dwie liczby na zdarzenie: trafienia wysłane ze zgodą na analitykę — to, co Analytics pokaże jako użytkowników i sesje — oraz, po ukośniku, wszystko, co kontener przekazał. session_start i first_visit nie pojawiają się w żadnej kolumnie: Analytics wyprowadza je z flag na pierwszym page_view zamiast otrzymywać jako zdarzenia.
Co to oznacza dla Twoich liczb o ruchu
Spodziewaj się, że obie kolumny się różnią — i że ta różnica jest najbardziej użyteczną liczbą na stronie.
- Analytics raportuje mniej użytkowników i sesji, niż Twój kontener liczy żądań. Różnica to udział odwiedzających, którzy odmówili lub nigdy nie odpowiedzieli — Twój współczynnik zgód, zmierzony zamiast zgadywanego.
- GA4 może wypełnić część tej luki modelowaniem zachowań, gdy usługa osiągnie progi Google. Dane modelowane pojawiają się w raportach; w Twoim kontenerze nigdy, bo nigdy nie są wysyłane.
- Przy odrzuconym ad_storage śledzenie konwersji Google Ads nie ma czego przypisać, a conversion linker czego łączyć. Kontener serwerowy tego nie zmienia i nie powinien: first-party nie znaczy bez zgody.
- Projekt banera jest teraz decyzją pomiarową. Współczynnik zgód 60% i 85% to ta sama strona z innymi przyciskami, a różnica między kolumnami pokaże Ci, który masz.
Lista kontrolna
- Ładuj skrypt zgody przed tagiem Google. Stan domyślny musi istnieć przed pierwszym trafieniem.
- Otwórz stronę z banerem bez odpowiedzi i odczytaj gcs na żądaniu /g/collect w panelu sieci przeglądarki. Powinno być G100.
- Zaakceptuj i odczytaj ponownie na następnej stronie. Powinno być G111.
- Nie dodawaj reguł zgody do niczego w kontenerze serwerowym. Tag webowy już niesie stan.
- Wróć na stronę kontenera dzień później i odczytaj parę liczb przy page_view. Pierwsza podzielona przez drugą to Twój współczynnik zgód.
Wybraliśmy CookiePass, bo wykonuje dokładnie powyższą sekwencję, działał na tej stronie po jednym popołudniu i pozwala banerowi przyjąć kolory strony. Liczby z poprzedniej sekcji są dowodem, że to działa.
