Blog 13 min czytania

Jak skutecznie wdrożyć Google Consent Mode v2 (ciasteczka)

Consent Mode v2 Google Tag Manager GA4 Google Ads

Redakcja

Redakcja CiąglePiszemy.pl

Jak skutecznie wdrożyć Google Consent Mode v2 (ciasteczka)

Skuteczne wdrożenie Google Consent Mode v2 nie polega na samym postawieniu banera cookies. Na stronie muszą zadziałać cztery rzeczy we właściwej kolejności: baner lub Consent Management Platform (CMP) zbiera wybór użytkownika, default consent ustawia stan przed tagami, update zmienia go po decyzji, a całość da się potwierdzić w Tag Assistant oraz w Google Ads lub GA4.

Jeśli którykolwiek z tych elementów wypada, masz tylko pozorne wdrożenie. Użytkownik widzi baner, ale Google nie dostaje poprawnych sygnałów zgody albo dostaje je za późno. To właśnie tu najczęściej powstaje problem: interfejs działa wizualnie, lecz Google Tag Manager, Google tag (gtag.js), GA4 albo Google Ads pracują na złej kolejności zdarzeń.

Jeżeli chcesz wdrożyć temat bez chaosu, myśl o nim jak o łańcuchu zależności, a nie jak o pojedynczym skrypcie.

Element Co ma działać Czerwona flaga
Baner lub CMP zbiera decyzję użytkownika i zapisuje ją do dalszego użycia baner znika, ale nigdzie nie widać aktualizacji stanu zgody
Default consent ad_storage, analytics_storage, ad_user_data, ad_personalization są ustawione zanim poleci config albo event pierwsze odsłony lecą bez stanu zgody
Update consent po akcji użytkownika stan jest aktualizowany na tej samej stronie, przed przejściem dalej kliknięcie „Akceptuję” tylko zamyka baner
Weryfikacja Tag Assistant i diagnostyka Google potwierdzają, że wdrożenie działa szerzej niż tylko w przeglądarce jedyny test to ręczne kliknięcie w baner „na oko”

Google Consent Mode v2 nie jest banerem cookies. To warstwa, która przekazuje wybór użytkownika do Google i wymusza, by tagi respektowały ten wybór. Sam baner bez poprawnego przesłania sygnałów nie oznacza skutecznego wdrożenia.

Wniosek praktyczny: jeśli w Tag Assistant nie widzisz zdarzeń Consent z czterema parametrami, nie masz jeszcze poprawnego Consent Mode v2, nawet jeśli baner wygląda profesjonalnie.

Co v2 zmieniło i kiedy temat naprawdę Cię dotyczy

Aktualizacja z listopada 2023 dodała dwa sygnały, których wcześniej często w ogóle nie wdrażano: ad_user_data i ad_personalization. Jeśli masz stare wdrożenie oparte tylko o ad_storage i analytics_storage, to nie jest już pełne Consent Mode v2.

W praktyce temat robi się krytyczny wtedy, gdy korzystasz nie tylko z samej analityki, ale też z funkcji reklamowych Google. Od marca 2024 nowe sygnały mają znaczenie w wybranych use case'ach reklamowych dla ruchu z EEA, Wielkiej Brytanii i Szwajcarii. Najmocniej widać to w scenariuszach typu remarketing, Enhanced Conversions, tagowe śledzenie konwersji czy użycie danych GA4 w usługach reklamowych Google.

Parametr Za co odpowiada Kiedy jest szczególnie ważny
analytics_storage zgoda na storage związany z analityką gdy używasz GA4 i chcesz poprawnie mierzyć ruch oraz zdarzenia
ad_storage zgoda na storage związany z reklamą gdy działają tagi Google Ads, Conversion Linker lub remarketing
ad_user_data zgoda na wysyłanie danych użytkownika związanych z reklamą do Google gdy korzystasz z tagowego śledzenia konwersji, Enhanced Conversions albo innych use case'ów reklamowych opartych o dane użytkownika
ad_personalization zgoda na personalizację reklam gdy budujesz remarketing, listy odbiorców i personalizowane kampanie reklamowe

Najprostszy test decyzyjny wygląda tak:

  1. Jeśli używasz tylko GA4 do podstawowej analityki, temat nadal Cię dotyczy, ale zwykle najważniejsza jest poprawna kolejność wdrożenia i realistyczne oczekiwania wobec danych.
  2. Jeśli używasz Google Ads, remarketingu lub Enhanced Conversions, nowe sygnały v2 są krytyczne, a stary model „mam baner, więc sprawa załatwiona” przestaje działać.
  3. Jeśli wykorzystujesz dane GA4 w reklamach Google, temat nie kończy się na analytics cookies. To już obszar wspólny dla analityki i reklam.

Wniosek praktyczny: im mocniej Twoja strona opiera się na Google Ads, tym mniej sensu ma traktowanie Consent Mode v2 jako kosmetycznego dodatku do cookies. To element pomiaru, a nie dekoracja banera.

Jak wdrożyć bez chaosu: CMP, GTM i własny baner

Najpierw wybierz architekturę wdrożenia. To ważniejsze niż sam wygląd banera, bo większość błędów bierze się z mieszania kilku źródeł prawdy o zgodzie naraz.

Scenariusz Kiedy ma sens Na co uważać
CMP lub integracja CMS gdy chcesz najszybciej wdrożyć stabilny baner i nie budować logiki samodzielnie nie każda integracja automatycznie wysyła pełne sygnały v2
CMP + GTM gdy masz Google Tag Manager i chcesz zachować kontrolę nad tagami tag CMP musi uruchamiać się na Consent Initialization, nie później
Własny baner + gtag.js gdy strona jest prosta, nie używasz GTM i masz pełną kontrolę developerską łatwo ustawić default albo update za późno
Własny baner + GTM custom template gdy zespół rozumie consent APIs w GTM i potrzebuje niestandardowej logiki prowizorka na Custom HTML często kończy się błędami wyścigu zdarzeń

Niezależnie od wariantu, poprawna kolejność wdrożenia wygląda tak:

  1. Ustal jedno źródło prawdy o zgodzie: CMP albo własny baner.
  2. Ustaw default consent przed każdym config lub event, najlepiej dla wszystkich czterech parametrów v2.
  3. Po interakcji użytkownika wyślij update consent natychmiast, na tej samej stronie i przed ewentualnym przeładowaniem lub przekierowaniem.
  4. Zadbaj o trwałość wyboru na kolejnych podstronach, żeby stan zgody nie „gubił się” po kliknięciu w menu.
  5. Jeśli baner albo CMP ładuje się asynchronicznie, użyj wait_for_update, żeby tagi Google nie wysłały danych za wcześnie.

Jeśli wdrażasz przez Google Tag Manager

W Google Tag Manager najbezpieczniejszy układ to taki, w którym tag CMP albo tag ustawiający domyślne zgody odpala się na Consent Initialization - All Pages. Ten trigger jest po to, żeby stan zgody był znany zanim odpalą się inne tagi, nawet te z Initialization.

W praktyce warto trzymać się trzech zasad:

  1. Preferuj template CMP z galerii Community Template Gallery albo template od dostawcy CMP zamiast własnej prowizorki.
  2. Jeśli robisz własne rozwiązanie w GTM, używaj consent APIs GTM do setDefaultConsentState i updateConsentState, a nie Custom HTML z ręcznym gtag('consent', ...).
  3. Nie dokładaj starych blokad do tagów Google bez wyraźnego powodu. GA4, Google Ads, Floodlight i Conversion Linker mają wbudowane consent checks.

To ostatnie jest ważne, bo częstym problemem są historyczne exception triggers albo Additional Consent Checks, które blokują tagi Google także wtedy, gdy Consent Mode jest już wdrożony poprawnie. Wtedy możesz myśleć, że działasz w trybie Advanced, a w praktyce tagi nie wysyłają nawet cookieless pings.

Jeśli wdrażasz przez Google tag (gtag.js)

Przy gtag.js krytyczne są dwa momenty. Po pierwsze, default consent musi pojawić się przed komendami wysyłającymi pomiar, czyli przed config i event. Po drugie, po wyborze użytkownika potrzebujesz update consent, który odpali się natychmiast, a nie po sekundzie, po przeładowaniu albo dopiero na kolejnej podstronie.

Jeśli baner ładuje się asynchronicznie, brak wait_for_update to typowy błąd wdrożeniowy. Tagi zaczynają działać zanim CMP zdąży powiedzieć, jaka jest decyzja użytkownika. Potem widać pozornie losowe zachowanie: część odsłon ma zgodę, część nie, a debugowanie kończy się zgadywaniem.

Kiedy własny baner jest złym pomysłem

Własny baner nie jest zły z definicji, ale staje się złą decyzją wtedy, gdy nie masz zasobów, by utrzymać logikę zgód na wszystkich podstronach, wersjach językowych i szablonach. To także słaby wybór, jeśli jednocześnie używasz kilku systemów: osobno CMP, osobno GTM, osobno custom JS i nikt już nie wie, który element naprawdę steruje consentem.

CMP może ułatwić wdrożenie, ale nie gwarantuje poprawności. Własny baner daje kontrolę, ale bez dyscypliny technicznej łatwo kończy się większą liczbą błędów niż korzyści.

Wniosek praktyczny: lepsze jest stabilne wdrożenie przez sensowny CMP lub prosty, czysty układ w GTM niż „elastyczny” miks pięciu skryptów, którego nikt nie potrafi zweryfikować.

Basic vs Advanced: która wersja ma sens

Najkrócej: Basic Consent Mode wystarczy, jeśli chcesz całkowicie blokować tagi Google do momentu zgody. Advanced Consent Mode ma sens wtedy, gdy korzystasz z Google Ads i zależy Ci na lepszym modelowaniu, bo tagi mogą ładować się z domyślnym stanem denied i wysyłać cookieless pings do momentu decyzji użytkownika.

Obszar Basic Advanced
Ładowanie tagów tagi Google są blokowane do czasu interakcji z banerem tagi ładują się od razu, ale respektują domyślny stan zgody
Co trafia do Google przed zgodą nic, nawet stan domyślny stan zgody i cookieless pings
Modelowanie w Google Ads model ogólny, mniej szczegółowy model bardziej szczegółowy, oparty o dane reklamodawcy
Kiedy zwykle wybrać prostsza analityka, świadoma blokada wszystkiego do czasu zgody Google Ads, remarketing, większy nacisk na pomiar konwersji
Najczęstsza pułapka oczekiwanie, że mimo pełnej blokady odzyskasz podobną jakość danych jak wcześniej CMP albo GTM nadal blokują Google tags, więc „Advanced” istnieje tylko w dokumentacji projektu

Warto tu od razu odciąć najczęstszy skrót myślowy: Advanced nie odzyskuje wszystkich utraconych danych. To nie jest tryb „napraw wszystko”. Modelowanie może poprawić jakość pomiaru, ale nie sprawi, że raporty obserwowane znowu będą wyglądały tak, jak przed ograniczeniem zgód.

To szczególnie ważne przy rozmowie z biznesem. Po wdrożeniu możesz zobaczyć mniej obserwowanych konwersji, sesji albo użytkowników z części ruchu i to samo w sobie nie musi oznaczać błędu. Błąd zaczyna się wtedy, gdy nie masz poprawnych sygnałów zgody, kiedy tagi odpalają się w złej kolejności albo gdy baner blokuje tagi Google tak agresywnie, że nie ma nawet podstaw do sensownego modelowania.

Kiedy nie warto wybierać Advanced

Nie warto wybierać trybu Advanced, jeśli organizacja świadomie wymaga pełnego braku requestów do Google przed wyborem użytkownika. Nie ma też sensu forsować go tam, gdzie CMP i tak blokuje wszystkie tagi Google na poziomie technicznym, bo skończysz z półśrodkiem trudnym do debugowania.

Słabym pomysłem jest też wdrożenie Advanced tylko dlatego, że „tak trzeba”, bez realnego zapotrzebowania po stronie reklamowej. Jeśli nie używasz Google Ads, remarketingu i nie potrzebujesz modelowania, prosty Basic bywa rozsądniejszy niż pseudozaawansowana implementacja, której nikt potem nie umie utrzymać.

Wniosek praktyczny: wybieraj Basic albo Advanced jako decyzję biznesowo-pomiarową, nie estetyczną. Lepszy poprawny Basic niż źle rozumiany Advanced.

Jak sprawdzić wdrożenie i co najczęściej jest zepsute

Większość problemów nie wychodzi w trakcie kodowania, tylko podczas testów. Dlatego poprawne wdrożenie trzeba sprawdzić w kilku scenariuszach: wejście bez zgody, akceptacja, odmowa, częściowa zgoda i przejście na kolejną podstronę.

Checklist testowy krok po kroku

  1. Otwórz stronę w Tag Assistant i zacznij nową sesję.
  2. W podsumowaniu wybierz najwcześniejsze zdarzenie Consent i sprawdź, czy ustawione są wszystkie cztery parametry: ad_storage, analytics_storage, ad_user_data, ad_personalization.
  3. Kliknij w banerze akceptację lub własny zestaw zgód, a potem wróć do najnowszego zdarzenia Consent i sprawdź, czy wartości rzeczywiście się zaktualizowały.
  4. W zakładce tagów sprawdź, które tagi się uruchomiły, a które zostały zablokowane przez stan zgody. To najprostszy sposób, by odróżnić poprawne zachowanie od starego, ręcznego blokowania wszystkiego.
  5. Powtórz test dla odmowy i dla co najmniej jednej głębszej podstrony, nie tylko strony głównej.
  6. Jeśli korzystasz z Google Ads, sprawdź status konwersji i kartę Diagnostics. Przy wystarczającym wolumenie kliknięć i po co najmniej 7 pełnych dniach od wdrożenia możesz dopiero zobaczyć aktywne modelowanie i impact results.

Sam GA4 nie jest dobrym narzędziem do wstępnego potwierdzenia poprawności implementacji. W raportach zobaczysz efekt biznesowy i techniczny wymieszany razem. Dlatego najpierw potwierdzasz mechanikę w Tag Assistant, a dopiero później interpretujesz spadki lub różnice w danych.

Objaw Co to zwykle znaczy Co sprawdzić od razu
Consent tab jest pusta Consent Mode nie działa na stronie albo Google tag został zablokowany czy CMP wspiera Google Consent Mode i czy tag w ogóle się ładuje
Default consent ustawiony za późno config, page_view albo inny tag poleciał wcześniej kolejność względem Consent Initialization, Initialization, config i event
Brak update po kliknięciu użytkownika baner zmienia UI, ale nie wysyła nowego stanu zgody mechanizm update consent i moment jego wykonania przed przejściem dalej
Zgody działają tylko na części stron stan consentu nie jest ustawiany globalnie albo taga brakuje na niektórych szablonach wszystkie typy stron, wersje językowe, podstrony kampanijne i ścieżki wejścia
Brakuje ad_user_data albo ad_personalization wdrożenie zatrzymało się na starej wersji consent mode mapowanie CMP lub własnego kodu do pełnych parametrów v2
Tagi Google nie odpalają się mimo wdrożenia stara logika GTM nadal blokuje tagi exception triggers i Additional Consent Checks na tagach Google
Po wdrożeniu spada pomiar poza EEA regionalne ustawienia zostały zastosowane globalnie czy domyślne denied ograniczono do regionów, w których baner faktycznie ma obowiązywać

Spadek danych po wdrożeniu: kiedy to normalne, a kiedy to błąd

Po wdrożeniu Consent Mode v2 część spadku danych jest naturalna. Jeśli użytkownik odmawia zgody, nie zobaczysz takiej samej ilości danych obserwowanych jak wcześniej. To normalne zarówno w GA4, jak i przy raportowaniu konwersji.

Niepokój powinny wzbudzić inne sytuacje:

  1. Tag Assistant nie pokazuje poprawnego default i update.
  2. Wdrożenie działa tylko na stronie głównej albo tylko na części podstron kampanijnych.
  3. Google Ads nie wykrywa consent mode na stronach, które realnie biorą udział w ścieżce konwersji.
  4. W GTM nadal wiszą dodatkowe blokady, które unieważniają logikę tagów Google działających zgodnie ze stanem zgody.

Jeżeli widzisz niższe dane, ale jednocześnie mechanika wdrożenia jest poprawna, nie zakładaj od razu błędu implementacji. Równie często to po prostu efekt tego, że wcześniej mierzyłeś szerzej, a teraz pomiar respektuje realne decyzje użytkowników.

Minimalna lista kontrolna przed publikacją

  • default consent jest ustawiony przed wszystkimi komendami pomiarowymi i przed tagami Google
  • update consent odpala się natychmiast po decyzji użytkownika
  • wszystkie cztery parametry v2 są widoczne w debugowaniu
  • stan zgody działa na wszystkich typach stron, nie tylko na stronie głównej
  • w GTM nie ma starych exception triggers ani zbędnych Additional Consent Checks na tagach Google
  • scenariusze akceptacji, odmowy i częściowej zgody zostały sprawdzone na produkcji

Wniosek praktyczny: poprawny Consent Mode v2 poznajesz nie po tym, że baner się pokazuje, tylko po tym, że potrafisz prześledzić pełen cykl default -> update -> zachowanie tagów -> diagnostyka Google.

Na koniec najważniejsza rzecz: skuteczne wdrożenie nie wymaga encyklopedii o cookies, tylko porządku. Jeśli wybierzesz jedną architekturę, ustawisz default consent przed tagami, dopilnujesz update po decyzji użytkownika i przetestujesz całość w Tag Assistant, to odróżnisz realne wdrożenie od pozoru wdrożenia już na etapie pierwszego debugowania.

FAQ

Najczęstsze pytania związane z tematem artykułu.

Czy Google Consent Mode v2 jest obowiązkowy dla każdej strony? +
Nie każda strona ma identyczny przypadek użycia, ale jeśli korzystasz z Google tagów, banera cookies i chcesz poprawnie przekazywać stan zgody do Google, temat dotyczy Cię praktycznie od razu. Szczególnie ważny staje się przy Google Ads, remarketingu, Enhanced Conversions i użyciu danych GA4 w reklamach dla ruchu z EEA, UK i Szwajcarii.
Czy sam baner cookies wystarczy? +
Nie. Baner zbiera wybór użytkownika, ale skuteczne wdrożenie wymaga jeszcze ustawienia domyślnego stanu zgody przed tagami, wysłania aktualizacji po decyzji użytkownika i dopilnowania, żeby tagi Google respektowały ten stan na wszystkich stronach.
Czy lepiej wybrać Basic czy Advanced Consent Mode? +
Basic ma sens, gdy chcesz całkowicie blokować tagi Google do momentu zgody. Advanced warto rozważyć, jeśli korzystasz z Google Ads i zależy Ci na lepszym modelowaniu, ale nie oznacza to odzyskania wszystkich danych ani nie zwalnia z poprawnej implementacji.
Jak sprawdzić, czy Consent Mode v2 działa poprawnie? +
Najpierw w Tag Assistant sprawdź najwcześniejsze i najnowsze zdarzenie Consent oraz cztery parametry: ad_storage, analytics_storage, ad_user_data i ad_personalization. Potem sprawdź, czy Google Ads pokazuje aktywne modelowanie i czy wdrożenie jest wykrywane na wszystkich stronach, a nie tylko na stronie głównej.

Inne artykuły

Jeśli chcesz wejść głębiej, zobacz powiązane wpisy z naszego bloga.