Przejdź do treści

Consent Mode v2 w server-side GTM

Consent Mode przekazuje tagom Google, na co zgodził się odwiedzający, żeby mogły dostosować to, co zapisują i wysyłają. W server-side GTM stan zgody jedzie z każdym trafieniem do Twojego kontenera serwerowego. Tagi Google respektują go tam same, ale inne tagi serwerowe, na przykład Meta Conversions API, już nie. Ta lekcja omawia obie połowy.

Zaawansowany 11 min czytania

Czego się nauczysz

  • Wyjaśnisz cztery sygnały Consent Mode v2 i różnicę między trybem podstawowym a zaawansowanym.
  • Ustawisz domyślny stan zgody przed załadowaniem GTM i zaktualizujesz go, gdy odwiedzający wyrazi zgodę.
  • Zrozumiesz, jak stan zgody trafia do kontenera serwerowego z każdym trafieniem.
  • Zablokujesz tagi serwerowe spoza Google, gdy zgody nie ma.
  • Sprawdzisz stan zgody w Tag Assistant.

Zanim zaczniesz

  • GA4 działające przez Twój kontener serwerowy (lekcja 4).
  • Baner zgody (CMP) albo plan, żeby go dodać.

01 Cztery sygnały Consent Mode v2

Consent Mode v2 używa czterech sygnałów. Każdy ma wartość granted albo denied.

  • ad_storage: ciasteczka i pamięć na potrzeby reklam.
  • analytics_storage: ciasteczka i pamięć na potrzeby analityki, na przykład identyfikator klienta GA4.
  • ad_user_data: czy dane użytkownika mogą być wysyłane do Google w celach reklamowych.
  • ad_personalization: czy dane mogą służyć do reklam spersonalizowanych, na przykład remarketingu.

Dwa ostatnie doszły w wersji v2. Google wymaga ich do funkcji reklamowych dla odwiedzających z Europejskiego Obszaru Gospodarczego (EOG).

Consent Mode może działać na dwa sposoby:

  • Podstawowy: tagi Google w ogóle się nie ładują, dopóki odwiedzający nie dokona wyboru. Przed zgodą nic nie jest wysyłane.
  • Zaawansowany: tagi Google ładują się od razu z wartością domyślną (zwykle odmowa). Dopóki zgody nie ma, wysyłają pingi bez ciasteczek i identyfikatorów, których Google używa do modelowania. Po zgodzie działają normalnie.

02 Ustaw wartość domyślną i ją aktualizuj

Stan domyślny musi być ustawiony, zanim uruchomi się jakikolwiek tag. Jeśli ustawiasz go w kodzie, umieść go nad kodem GTM.

js
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
  ad_storage: 'denied',
  ad_user_data: 'denied',
  ad_personalization: 'denied',
  analytics_storage: 'denied',
  wait_for_update: 500
});

wait_for_update daje banerowi tyle milisekund na zgłoszenie zapisanego wyboru, zanim tagi się uruchomią. Gdy odwiedzający wyrazi zgodę, baner wysyła aktualizację:

js
gtag('consent', 'update', {
  ad_storage: 'granted',
  ad_user_data: 'granted',
  ad_personalization: 'granted',
  analytics_storage: 'granted'
});

W praktyce rzadko piszesz ten kod sam. Większość platform zgód (CMP) ma szablon w Community Template Gallery, który ustawia za Ciebie wartość domyślną i aktualizację.

  1. 1 W kontenerze Web wejdź w Tags, kliknij New i wybierz Tag Configuration. Kliknij Discover more tag types in the Community Template Gallery i wyszukaj swoje CMP.
  2. 2 Ustaw w szablonie stan domyślny, zwykle denied dla wszystkich czterech sygnałów.
  3. 3 Ustaw regułę Consent Initialization - All Pages, żeby szablon uruchamiał się przed każdym innym tagiem.
  4. 4 Opublikuj i przetestuj baner w Preview.

03 Jak zgoda trafia do kontenera serwerowego

Tagi Google w kontenerze Web dodają stan zgody do każdego wysyłanego trafienia. Parametr gcs niesie ad_storage i analytics_storage, a gcd wszystkie cztery sygnały razem z informacją, jak zostały ustawione. Trafienie idzie do sgtm.example.com, więc stan zgody dociera razem z nim do Twojego kontenera serwerowego.

Klient GA4 odczytuje te parametry i przekazuje je dalej w danych zdarzenia. Tagi Google w kontenerze serwerowym (tag GA4, śledzenie konwersji Google Ads) respektują je automatycznie: gdy w trybie zaawansowanym zgody nie ma, przekazują ping bez ciasteczek i nie ustawiają ani nie odczytują identyfikatorów.

04 Zabezpiecz tagi serwerowe spoza Google

Tagi innych dostawców w kontenerze serwerowym, na przykład Meta Conversions API, TikTok czy LinkedIn, nie odczytują parametrów zgody Google. Uruchamiają się zawsze, gdy pasuje ich reguła, nawet jeśli odwiedzający odmówił. Warunek zgody musisz dodać do reguły samodzielnie.

  1. 1 W kontenerze serwerowym wejdź w Variables i utwórz nową zmienną Event Data ze ścieżką klucza x-ga-gcs. Przechowuje wartość gcs, na przykład G111.
  2. 2 Czytaj ją tak: G1, potem jedna cyfra dla ad_storage i jedna dla analytics_storage, gdzie 1 oznacza zgodę, a 0 odmowę. G111 to zgoda na oba, G100 to odmowa obu.
  3. 3 Otwórz regułę tagu dostawcy i dodaj warunek, na przykład zmienna matches RegEx ^G11 dla tagów, które wymagają ad_storage.
  4. 4 Przetestuj raz z odmową i raz ze zgodą. Tag powinien uruchomić się tylko w drugim przypadku.

Jeśli potrzebujesz ad_user_data albo ad_personalization, prościej wysłać stan zgody samodzielnie: dodaj do tagu zdarzenia GA4 w kontenerze Web parametr, na przykład marketing_consent, z wartością granted albo denied, odczytaj go w kontenerze serwerowym zmienną Event Data i użyj w regule.

05 Sprawdź stan zgody

  1. 1 Otwórz kontener Web w Preview w nowym oknie prywatnym, żeby nie był zapisany żaden wcześniejszy wybór.
  2. 2 W Tag Assistant wybierz w podsumowaniu (Summary) najwcześniejsze zdarzenie Consent i otwórz kartę Consent. On-page Default powinno pokazywać denied dla czterech sygnałów (albo Twoje wartości regionalne).
  3. 3 Zaakceptuj baner, wybierz najnowsze zdarzenie Consent i sprawdź, czy On-page Update pokazuje granted.
  4. 4 W Preview serwera otwórz zapytanie sprzed zgody i po niej i porównaj x-ga-gcs w Event Data.
  • Wartość domyślna jest ustawiona, zanim uruchomi się jakikolwiek tag.
  • Wszystkie cztery sygnały v2 są ustawione w wartości domyślnej i w aktualizacji.
  • Kontener serwerowy dostaje nowy stan zgody, gdy odwiedzający ją wyrazi.
  • Tagi serwerowe spoza Google uruchamiają się tylko po zgodzie.

Najczęstsze pytania

Wybrać podstawowy czy zaawansowany Consent Mode?

Tryb zaawansowany pozwala Google modelować konwersje odwiedzających, którzy odmówili, więc zwykle widzisz pełniejsze liczby. Tryb podstawowy nie wysyła niczego przed zgodą. To, którego możesz użyć, zależy od Twojej oceny prawnej, a nie od kontenera serwerowego.

Czy dzięki server-side GTM mogę pominąć baner zgody?

Nie. Przeniesienie tagów na serwer zmienia miejsce przetwarzania danych, a nie to, czy potrzebujesz zgody na ich zbieranie. Obowiązują te same zasady.

Dlaczego kontener serwerowy dostaje trafienia, mimo że zgody nie ma?

W trybie zaawansowanym tagi Google wysyłają pingi bez ciasteczek, dopóki zgody nie ma. Kontener serwerowy dostaje je ze stanem odmowy, a tagi Google w nim przekazują je dalej bez identyfikatorów.

Gotowy, żeby przejść do praktyki?

Wdróż kontener server GTM na własnej domenie w kilka minut. Plan darmowy nie wymaga karty.

Załóż darmowe konto