RODOConsent ModeGooglecookiesGTM

Debug Consent Mode v2: jak sprawdzić, czy zgody działają poprawnie

Marcin
6 lipca 2026
9 min czytania
Debug Consent Mode v2: jak sprawdzić, czy zgody działają poprawnie

Od marca 2024 Consent Mode v2 nie jest już dodatkiem do analityki, tylko warunkiem poprawnego działania Google Ads i części raportowania w Google Analytics. Problem w tym, że samo włączenie CMP nie oznacza jeszcze, że zgody działają poprawnie. Najczęstszy błąd wygląda niewinnie: baner się pokazuje, użytkownik klika zgodę, ale tagi Google dostają zły stan albo dostają go za późno.

Ten przewodnik pokazuje, jak debugować Consent Mode v2 krok po kroku: w GTM Preview, w dataLayer, w wywołaniach gtag consent default i gtag consent update, w trybie incognito oraz w trzech scenariuszach, które naprawdę mają znaczenie: przed zgodą, po zgodzie i po odrzuceniu. Jeśli potrzebujesz najpierw przypomnieć sobie podstawy, zacznij od naszego przewodnika Consent Mode, a potem wróć do checklisty testów.

Spis treści

Consent Mode v2 przekazuje do Google informację, czy użytkownik zgodził się na konkretne typy przechowywania i przetwarzania danych. W praktyce interesują Cię cztery parametry:

ParametrZa co odpowiadaTypowy stan przed zgodą
ad_storagecookies reklamowedenied
analytics_storagecookies analitycznedenied
ad_user_dataprzesyłanie danych użytkownika do reklamdenied
ad_personalizationpersonalizacja reklamdenied

Dobry test nie kończy się na pytaniu, czy baner jest widoczny. Musisz sprawdzić, czy strona wysyła domyślny stan odmowy przed uruchomieniem tagów, czy po decyzji użytkownika pojawia się aktualizacja zgody i czy tagi reagują na tę zmianę.

Jeśli wdrażałeś Consent Mode przez Google Tag Manager, porównaj swoje ustawienia z naszym opisem konfiguracji w GTM. Dla platform sklepowych przydatne będą też osobne przewodniki dla WordPress i Shoper, bo tam kolejność ładowania skryptów bywa innym problemem niż sama konfiguracja tagów.

Test w trybie incognito: czysty punkt startowy

Debug zaczynaj od nowej sesji w trybie incognito. Nie chodzi o rytuał, tylko o uniknięcie fałszywych wyników. Jeśli w zwykłej przeglądarce masz już zapisaną zgodę z poprzedniego testu, strona może od razu pokazać stan granted, a Ty nie zauważysz, że pierwszy kontakt nowego użytkownika jest popsuty.

Zrób tak:

  1. Otwórz nowe okno incognito.
  2. Wejdź na testowaną stronę bez klikania banera.
  3. Otwórz DevTools i zakładkę Network.
  4. Odśwież stronę z włączonym filtrem dla collect, g/collect, gtm.js, gtag/js i consent.
  5. Dopiero potem kliknij akceptację albo odrzucenie.

W pierwszym teście nie loguj się do panelu, nie przechodź od razu przez kilka podstron i nie używaj rozszerzeń blokujących reklamy. Najpierw sprawdź prosty scenariusz: nowy użytkownik, pierwsze wejście, brak decyzji.

GTM Preview: jak sprawdzić kolejność zdarzeń

GTM Preview jest najlepszym miejscem do sprawdzenia, czy zgody dochodzą do tagów w odpowiedniej kolejności. Po połączeniu Preview ze stroną zwróć uwagę na lewą listę zdarzeń. Szukasz szczególnie momentu, w którym pojawia się inicjalizacja zgody, załadowanie kontenera i późniejsza decyzja użytkownika.

Poprawna kolejność wygląda zwykle tak:

  1. Consent Initialization albo skrypt CMP ustawia domyślne odmowy.
  2. GTM ładuje kontener.
  3. Page View i inne tagi startują z ograniczeniami zgody.
  4. Użytkownik klika zgodę lub odrzucenie.
  5. Do dataLayer trafia zdarzenie zgody.
  6. Consent Mode dostaje update.
  7. Tagi zależne od zgody mogą się uruchomić albo pozostać zablokowane.

Jeśli Page View lub tag Google Ads uruchamia się zanim pojawi się domyślny stan zgody, masz problem. Google może dostać sygnał bez właściwego kontekstu, a część tagów może ustawić cookies za wcześnie.

W panelu konkretnego taga w GTM Preview sprawdź sekcję Consent. Zobaczysz tam, czy tag wymaga zgód i jaki stan był dostępny w chwili uruchomienia. Nie sugeruj się tylko zielonym statusem Fired. Tag może się uruchomić technicznie, ale nadal działać w trybie ograniczonym, jeśli zgody są denied.

dataLayer: gdzie szukać stanu zgód

dataLayer pokazuje, co naprawdę dzieje się na stronie. W konsoli przeglądarki wpisz:

window.dataLayer

Przejrzyj zdarzenia od początku do końca. Szukaj wpisów związanych z CMP, zgodą użytkownika i aktualizacją Consent Mode. Nazwy zdarzeń różnią się między wdrożeniami, ale często spotkasz coś w rodzaju cookie_consent_update, consent_update, CookieConsent albo własny event z konfiguracji CMP.

Dobry wpis powinien być czytelny dla developera. Przykład:

window.dataLayer.push({
  event: 'cookie_consent_update',
  ad_storage: 'granted',
  analytics_storage: 'granted',
  ad_user_data: 'granted',
  ad_personalization: 'granted'
});

Jeśli widzisz tylko informację accepted: true, ale bez mapowania na cztery parametry Google, nie zakładaj, że Consent Mode działa. CMP może poprawnie zapisywać zgodę w swoim mechanizmie, a jednocześnie nie przekazywać jej do Google w formacie wymaganym przez Consent Mode v2.

Sprawdź też, czy przy odrzuceniu zgody pojawia się aktualizacja do denied. Część błędnych wdrożeń obsługuje tylko kliknięcie Akceptuj, a przy Odrzuć zostawia poprzedni stan albo nie wysyła żadnego eventu.

W klasycznym wdrożeniu Consent Mode v2 powinieneś zobaczyć dwa typy wywołań. Pierwsze ustawia stan domyślny przed decyzją użytkownika:

gtag('consent', 'default', {
  ad_storage: 'denied',
  analytics_storage: 'denied',
  ad_user_data: 'denied',
  ad_personalization: 'denied'
});

Drugie aktualizuje stan po decyzji:

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

Nie zawsze zobaczysz te funkcje wprost w źródle strony, szczególnie gdy CMP i GTM robią część pracy za Ciebie. Nadal możesz sprawdzić efekt w GTM Preview, w Network i w dataLayer.

Najważniejsza zasada: default musi pojawić się wcześnie. Najlepiej przed tagami Google. update ma pojawić się dopiero po realnej decyzji użytkownika. Jeśli update z granted pojawia się automatycznie przy wejściu na stronę, baner tylko udaje wybór.

Google opisuje działanie Consent Mode w oficjalnej dokumentacji dla deweloperów: Consent Mode on websites and mobile apps. W polskim kontekście pamiętaj też o zgodzie wynikającej z RODO i przepisów dotyczących plików cookies. CookiePilot pomaga połączyć część techniczną z banerem i rejestrem zgód, ale test po wdrożeniu nadal warto zrobić ręcznie.

Trzy scenariusze: przed zgodą, po zgodzie, po odrzuceniu

Najprostsza checklista wygląda tak:

ScenariuszCo klikaszOczekiwany wynik
Przed zgodąNicCztery parametry Consent Mode są denied, tagi nie ustawiają cookies marketingowych
Po zgodzieAkceptuj wszystkieParametry zgodne z wyborem przechodzą na granted, tagi zależne od zgody mogą działać
Po odrzuceniuOdrzuć lub zapisz bez zgódParametry zostają denied, brak cookies reklamowych i analitycznych wymagających zgody

Test przed zgodą

Wejdź w incognito, nie klikaj banera i sprawdź cookies w DevTools, zakładka Application. Jeżeli przed zgodą pojawiają się _ga, _gid, _fbp albo cookies reklamowe, masz sygnał ostrzegawczy. Nie każdy cookie jest zakazany przed zgodą, bo istnieją cookies technicznie niezbędne, ale analityczne i marketingowe wymagają ostrożności.

Test po zgodzie

Kliknij Akceptuj wszystkie. W GTM Preview sprawdź, czy pojawia się event zgody i czy parametry zmieniają się na granted. W Network zobaczysz zwykle nowe requesty do Google Analytics lub Google Ads. To normalne, o ile pojawiają się po decyzji użytkownika, nie przed nią.

Test po odrzuceniu

Zamknij incognito, otwórz nowe okno i kliknij Odrzuć. To osobny test, nie tylko odwrotność akceptacji. Sprawdź, czy analytics_storage, ad_storage, ad_user_data i ad_personalization zostają denied. Przejdź też na drugą podstronę. Źle wdrożony baner potrafi zachować odmowę na pierwszej stronie, ale gubi ją przy kolejnej odsłonie.

Jeśli chcesz szybko zobaczyć, jak powinien zachowywać się poprawnie skonfigurowany baner, sprawdź nasze demo CookiePilot. Przy wdrożeniu produkcyjnym możesz potem porównać własne zdarzenia z zachowaniem kontrolnym.

Typowe błędy we wdrożeniu

Najczęstsze problemy nie są spektakularne. To małe przesunięcia w kolejności i brak mapowania kategorii CMP na parametry Google.

BłądObjawJak naprawić
Brak default przed tagamiGTM odpala Page View zanim zgoda ma stanPrzenieś ustawienie zgody do Consent Initialization albo wyżej w kodzie
Tylko dwa parametry Consent ModeBrakuje ad_user_data i ad_personalizationZaktualizuj wdrożenie do Consent Mode v2
Akceptacja działa, odrzucenie niePo odmowie zostaje poprzedni stanDodaj osobny event i update dla odrzucenia
Zgoda zapisana, ale GTM jej nie widziCMP zapisuje cookie, lecz nie pushuje eventuDodaj mapowanie do dataLayer albo integrację CMP z GTM
Tagi mają złe wymagania consentTag fired mimo braku zgodySprawdź Consent Settings w GTM dla każdego taga
Test robiony na starej sesjiWyniki są inne po czyszczeniu cookiesTestuj w incognito i po wyczyszczeniu storage

W CookiePilot stawiamy na prostą konfigurację dla firm, które potrzebują RODO, PKE i Consent Mode v2 bez rozbudowanego enterprise setupu. Plany zaczynają się od 29 PLN miesięcznie, więc jeśli po debugowaniu widzisz, że obecny baner wymaga zbyt wielu obejść, sprawdź cennik CookiePilot i porównaj koszt poprawnego wdrożenia z czasem developera.

Krótka procedura audytu dla developera

Jeśli masz tylko 20 minut, zrób ten zestaw:

  1. Nowe okno incognito.
  2. GTM Preview podłączony do testowanej strony.
  3. Wejście bez kliknięcia banera.
  4. Kontrola Consent w pierwszych eventach GTM.
  5. Kontrola window.dataLayer.
  6. Kliknięcie Akceptuj i sprawdzenie update.
  7. Nowe incognito, kliknięcie Odrzuć i ponowna kontrola.
  8. Przejście na drugą podstronę.
  9. Sprawdzenie cookies w Application.
  10. Krótki zapis wyniku: co jest denied, co jest granted, które tagi fired.

Taki audyt nie zastępuje pełnego przeglądu prawnego, ale szybko wykrywa większość błędów technicznych. Dla sklepów na Shoper, WordPress i WooCommerce to często wystarczy, żeby odróżnić problem w CMP od problemu w kolejności skryptów lub konfiguracji GTM.

FAQ

Najpewniej sprawdzisz to w GTM Preview, dataLayer i DevTools. Szukaj domyślnego stanu denied przed zgodą oraz aktualizacji do granted dopiero po kliknięciu zgody. Sprawdź też scenariusz odrzucenia, bo tam często wychodzą błędy.

Czy wystarczy, że baner cookies pokazuje się na stronie?

Nie. Baner może być widoczny, ale nie przekazywać prawidłowych parametrów do Google. Debug Consent Mode polega na sprawdzeniu komunikacji między CMP, GTM, gtag i tagami Google, nie tylko warstwy wizualnej.

Dlaczego testować w incognito?

Tryb incognito daje czysty start bez zapisanej wcześniejszej zgody. Dzięki temu widzisz, co dzieje się przy pierwszej wizycie nowego użytkownika. To najważniejszy moment dla poprawnego consent default.

Co oznacza, że tag jest fired przy stanie denied?

To nie zawsze błąd. Niektóre tagi Google mogą uruchamiać się w trybie ograniczonym i wysyłać sygnały bez cookies. Problem zaczyna się wtedy, gdy tag ustawia cookies lub personalizuje reklamy mimo braku zgody.

Tak. CookiePilot obsługuje cztery parametry Consent Mode v2: ad_storage, analytics_storage, ad_user_data i ad_personalization. Możesz przetestować działanie na demo, a potem dobrać plan w cenniku.

Powiązane przewodniki

Autor: Zespół CookiePilot. Pomagamy polskim firmom wdrożyć zgodność z RODO, PKE i Consent Mode v2 bez bólu głowy.

Napisane przez

Marcin

Zespół CookiePilot dzieli się wiedzą o RODO, PKE i zarządzaniu cookies.

Udostępnij ten artykuł: