Google Consent Mode v2 pozwala tagom Google dostosować działanie do decyzji przekazanej przez baner lub platformę zarządzania zgodami (CMP). Nie zbiera zgody samodzielnie i nie zastępuje prawidłowo skonfigurowanego mechanizmu zgód.
Poniżej znajdziesz praktyczne omówienie czterech sygnałów, dwóch trybów działania oraz wdrożenia za pomocą Google Tag Managera lub biblioteki gtag.js.
Czym jest Google Consent Mode v2?
Consent Mode jest mechanizmem komunikacji między interfejsem zgody a tagami Google. Po dokonaniu wyboru przez użytkownika CMP lub własny baner powinien przekazać odpowiednie wartości: granted albo denied.
W wersji v2 używane są cztery podstawowe sygnały:
| Sygnał | Znaczenie |
|---|---|
ad_storage | Zezwolenie na przechowywanie danych związanych z reklamami |
analytics_storage | Zezwolenie na przechowywanie danych związanych z analityką |
ad_user_data | Zezwolenie na przesyłanie do Google danych użytkownika do celów reklamowych |
ad_personalization | Zezwolenie na używanie danych do personalizacji reklam |
Dwa ostatnie sygnały odróżniają Consent Mode v2 od wcześniejszej wersji. Wszystkie cztery powinny odzwierciedlać rzeczywisty wybór użytkownika.
Jeżeli dopiero projektujesz warstwę zgody, zacznij od sprawdzenia, jak powinien działać baner cookies.
Basic a Advanced Consent Mode
Tryb Basic
W trybie Basic tagi Google pozostają zablokowane do czasu uzyskania odpowiedniej zgody. Jeżeli użytkownik jej nie udzieli, tagi objęte daną kategorią nie są uruchamiane.
Ten wariant ogranicza zakres danych przekazywanych przed zgodą, ale może również zmniejszać dostępność danych pomiarowych i możliwość modelowania.
Tryb Advanced
W trybie Advanced tagi Google mogą zostać załadowane z domyślnymi sygnałami ustawionymi na denied. W zależności od konfiguracji mogą wtedy wysyłać żądania bez plików cookie, a po wyborze użytkownika otrzymują zaktualizowany stan zgody.
| Obszar | Basic | Advanced |
|---|---|---|
| Uruchomienie tagów przed decyzją | Tagi są blokowane | Tagi mogą działać w ograniczonym trybie |
Żądania przy stanie denied | Brak żądań z zablokowanych tagów | Możliwe żądania bez plików cookie |
| Aktualizacja po wyborze | Tak | Tak |
| Dostępność modelowania | Bardziej ograniczona | Zależna od danych i warunków określanych przez Google |
Wybór trybu powinien uwzględniać konfigurację techniczną, rodzaj używanych tagów oraz ocenę prawną organizacji. Samo zastosowanie trybu Advanced nie przesądza o zgodności wdrożenia z prawem.
Więcej szczegółów zawiera osobne porównanie trybu Basic i Advanced.
Jak wdrożyć Consent Mode v2 w Google Tag Managerze
1. Uruchom CMP przed pozostałymi tagami
Tag lub szablon CMP powinien korzystać z wyzwalacza Consent Initialization — All Pages. Pozwala to ustawić domyślny stan zgody przed uruchomieniem tagów pomiarowych i reklamowych.
2. Ustaw domyślne sygnały
Przed wyborem użytkownika cztery sygnały można ustawić następująco:
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied'
});
Kod ustawiający wartości domyślne musi wykonać się przed tagami Google. W przypadku CMP często odpowiada za to gotowy szablon, jednak kolejność działania należy zweryfikować.
3. Przekaż aktualizację po wyborze
Po zapisaniu decyzji użytkownika baner lub CMP powinien wywołać polecenie update. Poniższy przykład przedstawia zgodę na analitykę bez zgody reklamowej:
gtag('consent', 'update', {
ad_storage: 'denied',
analytics_storage: 'granted',
ad_user_data: 'denied',
ad_personalization: 'denied'
});
Nie ustawiaj wszystkich wartości na granted, jeżeli użytkownik zaakceptował tylko wybrane kategorie.
Szczegółową procedurę znajdziesz w przewodniku po wdrożeniu Consent Mode v2 w Google Tag Managerze.
Jak wdrożyć Consent Mode v2 bez GTM
Przy użyciu gtag.js domyślne sygnały należy ustawić przed konfiguracją tagu Google:
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied'
});
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
gtag('js', new Date());
gtag('config', 'TAG_ID');
</script>
Następnie interfejs zgody musi wywołać gtag('consent', 'update', {...}) z wartościami odpowiadającymi decyzji użytkownika. Należy także obsłużyć późniejszą zmianę lub wycofanie zgody.
Jak przetestować wdrożenie Consent Mode v2
Test przed wyborem użytkownika
W trybie podglądu Google Tag Managera lub w Tag Assistant sprawdź, czy:
- polecenie
defaultwykonuje się przed tagami Google; - wszystkie cztery sygnały są obecne;
- początkowe wartości odpowiadają przyjętej konfiguracji;
- tagi wymagające zgody nie uruchamiają się przedwcześnie.
Test po akceptacji i odrzuceniu
Przetestuj co najmniej trzy ścieżki:
- odrzucenie wszystkich opcjonalnych kategorii;
- akceptację tylko analityki;
- akceptację analityki i marketingu.
Po każdej decyzji zweryfikuj zdarzenie aktualizujące stan zgody. Sprawdź również, czy ponowne otwarcie ustawień i wycofanie zgody prowadzi do kolejnej prawidłowej aktualizacji.
W przeprowadzeniu testów pomoże szczegółowa instrukcja debugowania Consent Mode v2.
Najczęstsze błędy
- Domyślny stan zgody jest ustawiany po uruchomieniu tagów.
- Wdrożenie przekazuje tylko
ad_storageianalytics_storage, pomijając sygnały dodane w wersji v2. - Baner zapisuje wybór, ale nie wysyła polecenia
consent update. - Wszystkie sygnały otrzymują wartość
granted, mimo że użytkownik zaakceptował tylko jedną kategorię. - Tag CMP korzysta ze zwykłego wyzwalacza All Pages zamiast Consent Initialization.
- Zmiany przetestowano w podglądzie, ale kontener GTM nie został opublikowany.
- Wycofanie zgody nie aktualizuje stanu przekazywanego tagom.
Lista kontrolna wdrożenia
- Baner lub CMP zapisuje rzeczywisty wybór użytkownika.
- Polecenie
defaultwykonuje się przed tagami Google. - Skonfigurowano cztery sygnały Consent Mode v2.
- Polecenie
updateodwzorowuje poszczególne kategorie zgód. - Odrzucenie, częściowa akceptacja i pełna akceptacja zostały przetestowane oddzielnie.
- Użytkownik może zmienić lub wycofać zgodę.
- Konfigurację sprawdzono w Tag Assistant i w żądaniach sieciowych.
- Opublikowana wersja kontenera odpowiada wersji przetestowanej.
Podsumowanie
Prawidłowe wdrożenie Google Consent Mode v2 wymaga nie tylko dodania czterech sygnałów, lecz także zachowania właściwej kolejności: najpierw stan domyślny, następnie uruchomienie tagów zgodnie z wybranym trybem, a po decyzji użytkownika — aktualizacja zgody. Częstymi źródłami problemów są zbyt późna inicjalizacja oraz brak połączenia między banerem a tagami.
Po konfiguracji wykonaj pełny test odrzucenia, częściowej akceptacji, pełnej akceptacji i wycofania zgody. Jeśli przed wdrożeniem chcesz zobaczyć przykładową obsługę stanów zgody, sprawdź demo CookiePilot.
Napisane przez
Marcin
Zespół CookiePilot dzieli się wiedzą o RODO, PKE i zarządzaniu cookies.
