Google Consent Mode v2 to dziś standard, a nie opcja — bez niego tracisz dane w Google Analytics 4 i ryzykujesz niezgodność z RODO. W tym tutorialu pokażę Ci, jak skonfigurować Consent Mode v2 przez Google Tag Manager krok po kroku, korzystając z platformy CookiePilot jako CMP.
📌 Jeśli dopiero poznajesz temat, zacznij od naszego wpisu Google Consent Mode v2 — Kompletny Przewodnik 2026, gdzie wyjaśniamy czym jest consent mode i jak działa modelowanie konwersji.
Spis treści
- Czego potrzebujesz przed wdrożeniem
- Jak działa Consent Mode v2 z GTM — architektura
- Krok 1 — Tag CookiePilot: Consent Init
- Krok 2 — Tag CookiePilot: Banner
- Krok 3 — Publikacja kontenera GTM
- Krok 4 — Weryfikacja wdrożenia
- Najczęstsze błędy i jak je naprawić
- Checklist przed uruchomieniem
- FAQ
Czego potrzebujesz przed wdrożeniem
Zanim zaczniesz, upewnij się, że masz:
- Konto w Google Tag Manager z uprawnieniami do edycji kontenera (gtm.google.com)
- Konto w CookiePilot — platforma CMP generuje klucz API i zarządza banerem (cookiepilot.io)
- Dostęp do kodu strony lub wtyczki tagującej (WordPress, Shopify itp.)
- Skrypt GTM poprawnie zainstalowany na stronie (tag w
<head>i<body>)
⚠️ Uwaga: Consent Mode v2 wymaga, by domyślne wartości zgód były ustawiane synchronicznie, zanim załaduje się jakikolwiek skrypt analityczny lub reklamowy. Dlatego kolejność tagów w GTM jest krytyczna — szczegóły poniżej.
Jak działa Consent Mode v2 z GTM — architektura
Wdrożenie składa się z dwóch tagów uruchamianych w ściśle określonej kolejności:
Strona się ładuje
│
▼
[TAG 1] Consent Init ← Trigger: Consent Initialization
gtag("consent","default") ← Blokuje GA4, Ads do czasu zgody
Odczytuje cookie CMP ← Jeśli zgoda już była, aktualizuje
│
▼
[TAG 2] Banner ← Trigger: All Pages
Ładuje skrypt CookiePilot ← Wyświetla baner (jeśli potrzebny)
Nasłuchuje na wybór ← gtag("consent","update") po kliknięciu
│
▼
[Pozostałe tagi] ← GA4, Google Ads, Pixel itp.
Czekają na zgody ← Uruchamiają się tylko gdy granted
Kluczowa zasada: Tag 1 musi odpalić się przed Tag 2 i przed wszystkimi innymi tagami analitycznymi. Trigger Consent Initialization gwarantuje właśnie tę kolejność — jest wbudowanym mechanizmem GTM zaprojektowanym do tego celu.
Więcej o samym mechanizmie przeczytasz w oficjalnej dokumentacji Google dotyczącej Consent Mode.
Krok 1 — Tag CookiePilot: Consent Init
Ten tag ustawia domyślne wartości zgód (wszystkie denied) i natychmiast aktualizuje je, jeśli użytkownik już wcześniej dokonał wyboru (cookie cookiepilot_consent istnieje w przeglądarce).
1.1 Utwórz nowy tag
W interfejsie GTM: Tagi → Nowy → Typ tagu → Niestandardowy kod HTML
1.2 Wklej kod tagu
<script>
"use strict";
(function(){
window.dataLayer = window.dataLayer || [];
window.gtag = function(){ window.dataLayer.push(arguments) };
// Domyślne odrzucenie wszystkich zgód
window.gtag("consent", "default", {
ad_storage: "denied",
ad_user_data: "denied",
ad_personalization: "denied",
analytics_storage: "denied",
functionality_storage: "denied",
personalization_storage:"denied",
security_storage: "granted",
wait_for_update: 500
});
// Odczyt istniejącego wyboru użytkownika z cookie
var a = document.cookie.match(/(^|;)\s*cookiepilot_consent=([^;]+)/);
if(a){
try{
var e = JSON.parse(decodeURIComponent(a[2]));
window.gtag("consent", "update", {
analytics_storage: e.analytics ? "granted" : "denied",
ad_storage: e.marketing ? "granted" : "denied",
ad_user_data: e.marketing ? "granted" : "denied",
ad_personalization: e.marketing ? "granted" : "denied",
functionality_storage: e.preferences? "granted" : "denied",
personalization_storage: e.preferences? "granted" : "denied",
security_storage: "granted"
});
} catch(err){}
}
})();
</script>
💡
wait_for_update: 500daje baner 500ms na załadowanie i wysłanie aktualizacji zgód. Dla wolniejszych stron możesz zwiększyć tę wartość do 1000ms.
1.3 Ustaw trigger
Trigger → Nowy → Inicjalizacja zgody — Wszystkie strony (ang. Consent Initialization — All Pages)
Jest to specjalny typ wyzwalacza GTM, który odpala się najwcześniej w cyklu życia strony — przed Initialization - All Pages i All Pages.
1.4 Nazwij i zapisz tag
Nazwa przykładowa: CookiePilot — Consent Init

Krok 2 — Tag CookiePilot: Banner
Ten tag ładuje skrypt banera CookiePilot, który wyświetla interfejs zgody i nasłuchuje na wybory użytkownika. Po kliknięciu przycisku baner automatycznie wywołuje gtag("consent","update") z odpowiednimi wartościami.
2.1 Utwórz drugi tag Custom HTML
Tagi → Nowy → Niestandardowy kod HTML
2.2 Wklej kod tagu
<script>
(function() {
var s = document.createElement('script');
s.src = 'https://cdn.cookiepilot.io/cookiepilot.js';
s.setAttribute('data-cpkey', 'TWÓJ_KLUCZ_API'); // ← wstaw klucz z panelu CookiePilot
document.head.appendChild(s);
})();
</script>
🔑 Klucz API znajdziesz w panelu CookiePilot w sekcji edycji domeny — kod instalacyjny jest tam gotowy do skopiowania.

2.3 Ustaw trigger
Trigger → Wszystkie strony (All Pages)
W sekcji Zaawansowane ustawienia tagu ustaw:
- Sekwencja tagów: brak (domyślnie)
- Opcja uruchamiania: Raz na stronę
2.4 Nazwij i zapisz tag
Nazwa przykładowa: CookiePilot — Banner

Krok 3 — Publikacja kontenera GTM
3.1 Sprawdź kolejność tagów w podglądzie
Przed publikacją użyj trybu Podgląd (Preview):
- Kliknij Podgląd w prawym górnym rogu GTM
- Wpisz URL swojej strony i kliknij Connect
- W panelu debuggera sprawdź zakładkę Tags
- Upewnij się, że
CookiePilot — Consent Initpojawia się w sekcjiConsent Initialization— przed wszystkimi innymi tagami CookiePilot — Bannerpowinien być w sekcjiAll Pages
3.2 Opublikuj kontener
Jeśli podgląd wygląda poprawnie:
- Zamknij tryb podglądu
- Kliknij Opublikuj (niebieski przycisk, prawy górny róg)
- Dodaj opis wersji np.
Wdrożenie Consent Mode v2 — CookiePilot - Kliknij Opublikuj

Krok 4 — Weryfikacja wdrożenia
Po publikacji sprawdź poprawność wdrożenia na kilka sposobów:
4.1 Rozszerzenie Google Tag Assistant
Zainstaluj Tag Assistant Companion w Chrome. Odwiedź stronę i sprawdź:
- Czy
gtag("consent","default")jest wywoływane - Czy parametry zgód mają wartości
denied/grantedzgodnie z wyborem użytkownika
4.2 Narzędzia deweloperskie przeglądarki
Otwórz DevTools → Sieć (Network) i wyszukaj żądania do google-analytics.com lub googletagmanager.com. Sprawdź, czy zawierają parametr gcs (Google Consent State):
gcs=G100— wszystkie zgody odrzuconegcs=G111— analytics i ads przyznanegcs=G1--— częściowe zgody
4.3 Raport Consent Mode w GA4
W Google Analytics 4 przejdź do: Admin → Zbieranie danych i modyfikacje → Zbieranie danych → Consent Mode
Powinien pojawić się zielony wskaźnik potwierdzający aktywny Consent Mode. Pełne dane modelowania konwersji będą widoczne po 7 dniach zbierania danych.
Więcej o weryfikacji znajdziesz w dokumentacji Google Analytics 4.
Najczęstsze błędy i jak je naprawić
❌ Błąd 1: gtag is not defined
Przyczyna: Tag Consent Init nie odpala się lub odpala za późno.
Rozwiązanie: Sprawdź, czy trigger to Consent Initialization — All Pages, a nie All Pages.
❌ Błąd 2: GA4 zbiera dane bez zgody
Przyczyna: Tag GA4 odpalał się przed ustawieniem domyślnych zgód.
Rozwiązanie: Upewnij się, że Consent Init ma trigger Consent Initialization i nie ma żadnych niestandardowych priorytetów tagów, które mogłyby go przesunąć.
❌ Błąd 3: Baner wyświetla się mimo istniejącej zgody
Przyczyna: Cookie cookiepilot_consent jest blokowane przez politykę SameSite lub domenę.
Rozwiązanie: Sprawdź w DevTools → Application → Cookies, czy cookie istnieje po zapisaniu zgody. Upewnij się, że domena cookie zgadza się z domeną strony.
❌ Błąd 4: wait_for_update timeout powoduje opóźnienie GA4
Przyczyna: Wartość wait_for_update: 500 jest za wysoka dla szybkiej strony.
Rozwiązanie: Możesz zmniejszyć do 300ms lub pozostawić 500ms — dla UX i dokładności danych 500ms to bezpieczny kompromis rekomendowany przez Google.
❌ Błąd 5: Consent Mode nie widoczny w raporcie GA4
Przyczyna: Dane potrzebują do 7 dni na pojawienie się w raporcie. Alternatywnie: Consent Mode jest aktywny dopiero po publikacji, nie retroaktywnie. Rozwiązanie: Poczekaj 7 dni i sprawdź ponownie. Modelowanie działa tylko do przodu od momentu wdrożenia.
Checklist przed uruchomieniem
Przed upublicznieniem kontenera GTM przejdź przez tę listę:
- Tag
Consent Initma trigger Consent Initialization — All Pages - Tag
Bannerma trigger All Pages i opcję Raz na stronę - Klucz API CookiePilot jest wklejony w tagu
Banner - W trybie podglądu GTM tag
Consent Initodpala się przed tagami GA4 i Ads - Po kliknięciu „Akceptuj" w banerze — cookie
cookiepilot_consentpojawia się w przeglądarce - Po kliknięciu „Akceptuj" —
gtag("consent","update")jest wywoływany z wartościamigranted - W Google Analytics 4 raport Consent Mode pokazuje aktywne połączenie
- Strona przeszła test na CookieServe lub podobnym narzędziu audytowym
FAQ
Czy mogę używać Consent Mode v2 bez CMP?
Technicznie tak — możesz napisać własny kod do zbierania zgód. W praktyce jednak platforma CMP (jak CookiePilot) automatycznie obsługuje aktualizacje consent update, przechowuje wybory, generuje baner zgodny z RODO i zarządza dokumentacją zgód. Własne rozwiązanie wymaga znacznie więcej pracy i wiedzy prawnej.
Czy Consent Mode v2 jest wymagany przez Google?
Tak — od marca 2024 Google wymaga Consent Mode v2 dla wszystkich reklamodawców korzystających z Google Ads i Google Analytics na terenie EOG. Bez niego tracisz modelowanie konwersji i remARketing. Szczegóły w przewodniku po Consent Mode v2.
Jak długo trwa pełne wdrożenie?
Samo wdrożenie w GTM zajmuje ok. 30 minut. Konfiguracja banera w panelu CookiePilot (polityka prywatności, wygląd, języki) to dodatkowe 15–30 minut. Raport modelowania w GA4 pojawia się po 7 dniach.
Czy GTM jest jedyną metodą wdrożenia?
Nie. Consent Mode v2 możesz wdrożyć też bezpośrednio przez kod (gtag.js w <head>), przez dedykowane wtyczki WordPress (np. oficjalna wtyczka CookiePilot) lub przez platformy e-commerce (Shopify, PrestaShop). GTM jest najwygodniejszy dla stron, które już z niego korzystają.
Co z cookies stron trzecich po odrzuceniu zgody?
Consent Mode v2 nie blokuje fizycznie plików cookie — blokuje wysyłanie danych do Google. Do fizycznego blokowania skryptów stron trzecich (np. Facebooka, HotJara) potrzebujesz funkcji blokowania skryptów dostępnej w platformach CMP takich jak CookiePilot. Jest to wymagane przez RODO dla cookies niefunkcjonalnych.
Podsumowanie
Wdrożenie Consent Mode v2 przez Google Tag Manager sprowadza się do dwóch tagów:
- Consent Init — ustawia domyślne
deniedi odczytuje istniejące zgody z cookie - Banner — ładuje interfejs CMP i obsługuje
consent updatepo wyborze użytkownika
Kluczem jest właściwy trigger dla każdego tagu i kolejność odpalania. Jeśli zrobisz to poprawnie, Google Analytics 4 będzie odbierać sygnały zgody, modelowanie konwersji zacznie działać, a Twoja strona będzie zgodna z RODO i wymaganiami Google.
Masz pytania? Sprawdź nasz Kompletny Przewodnik po Google Consent Mode v2 lub porównanie platform CMP.
Napisane przez
Marcin
Zespół CookiePilot dzieli się wiedzą o RODO, PKE i zarządzaniu cookies.
