Google Consent Mode v2 to zaktualizowana wersja mechanizmu zarządzania zgodami użytkowników, która stała się obowiązkowa dla reklamodawców w Europejskim Obszarze Gospodarczym (EOG) od marca 2024 roku. Bez prawidłowej implementacji tracisz dane o konwersjach i możliwości remarketingu w Google Ads.
Czym jest Google Consent Mode?
Consent Mode to API Google, które pozwala dostosować zachowanie tagów Google (Analytics, Ads, Floodlight) w zależności od zgód użytkownika na cookies. Zamiast całkowicie blokować tagi gdy użytkownik odmówi zgody, Consent Mode wysyła “bezpomiarowe pingi” (cookieless pings), które pozwalają na modelowanie konwersji.
Różnica między v1 a v2
| Funkcja | Consent Mode v1 | Consent Mode v2 |
|---|---|---|
| Parametry zgód | 2 (analytics_storage, ad_storage) | 4+ (dodano ad_user_data, ad_personalization) |
| Wymagania prawne | GDPR | GDPR + Digital Markets Act (DMA) |
| Obowiązkowy od | - | Marzec 2024 (EOG) |
| Wpływ na remarketing | Częściowy | Pełny - bez zgody brak remarketingu |
Parametry zgód w Consent Mode v2
Obowiązkowe parametry
gtag('consent', 'default', {
'ad_storage': 'denied', // Cookies reklamowe
'ad_user_data': 'denied', // Wysyłanie danych użytkownika do Google Ads
'ad_personalization': 'denied', // Personalizacja reklam (remarketing)
'analytics_storage': 'denied', // Cookies analityczne (GA4)
'wait_for_update': 500 // Czas oczekiwania na CMP (ms)
});
Opis parametrów
| Parametr | Opis | Wpływ na tagi |
|---|---|---|
ad_storage | Przechowywanie cookies reklamowych | Google Ads conversion tracking |
ad_user_data | Wysyłanie danych użytkownika do Google | Customer Match, Enhanced Conversions |
ad_personalization | Personalizacja reklam | Remarketing, podobne grupy odbiorców |
analytics_storage | Przechowywanie cookies analitycznych | GA4 cookies (_ga, _gid) |
Opcjonalne parametry
gtag('consent', 'default', {
// ... obowiązkowe parametry
'functionality_storage': 'denied', // Funkcjonalne cookies (preferencje)
'personalization_storage': 'denied', // Personalizacja treści
'security_storage': 'granted' // Bezpieczeństwo (zawsze granted)
});
Tryby implementacji
Basic Mode (podstawowy)
W trybie podstawowym tagi Google nie są ładowane dopóki użytkownik nie wyrazi zgody. To najprostsza implementacja, ale tracisz możliwość modelowania konwersji.
// Tagi ładowane tylko po zgodzie
if (userConsented) {
// Załaduj gtag.js
}
Advanced Mode (zaawansowany) - REKOMENDOWANY
W trybie zaawansowanym tagi są ładowane zawsze, ale ich zachowanie dostosowuje się do zgód. Przy braku zgody wysyłane są “cookieless pings” - anonimowe dane bez identyfikatorów użytkownika.
// Tagi ładowane zawsze, zachowanie zależy od zgód
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied'
});
// Później, po wyrażeniu zgody
gtag('consent', 'update', {
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted',
'analytics_storage': 'granted'
});
Implementacja w Google Tag Manager
Krok 1: Włącz Consent Mode w kontenerze
- Otwórz kontener GTM
- Przejdź do Admin → Container Settings
- Zaznacz Enable consent overview
Krok 2: Dodaj domyślne ustawienia zgód
Utwórz tag Consent Initialization - All Pages (typ: Custom HTML) z najwyższym priorytetem:
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Domyślne ustawienia - wszystko zablokowane
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
});
// Region-specific defaults (opcjonalnie)
gtag('consent', 'default', {
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted',
'analytics_storage': 'granted',
'region': ['US', 'CA'] // Poza EOG - domyślnie granted
});
</script>
Trigger: Consent Initialization - All Pages
Krok 3: Skonfiguruj tagi Built-in Consent
Dla tagów GA4 i Google Ads:
- Otwórz tag (np. GA4 Configuration)
- Przejdź do Advanced Settings → Consent Settings
- Wybierz:
- No additional consent required - tag odpala zawsze
- Require additional consent for tag to fire - wybierz wymagane zgody
Krok 4: Integracja z CMP (Consent Management Platform)
Popularne platformy CMP z wbudowaną integracją GTM:
- Cookiebot
- OneTrust
- Usercentrics
- Osano
- Cookie Information
Przykład: Integracja z Cookiebot
<!-- Cookiebot banner script (przed GTM) -->
<script
id="Cookiebot"
src="https://consent.cookiebot.com/uc.js"
data-cbid="YOUR-COOKIEBOT-ID"
data-blockingmode="auto"
type="text/javascript"
></script>
GTM otrzyma automatyczne aktualizacje zgód przez dataLayer.
Przykład: Custom CMP
Jeśli masz własny system zgód, wysyłaj aktualizacje do dataLayer:
// Po kliknięciu "Akceptuj wszystkie"
function acceptAllCookies() {
gtag('consent', 'update', {
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted',
'analytics_storage': 'granted'
});
// Zapisz wybór w localStorage/cookie
localStorage.setItem('cookie_consent', JSON.stringify({
ad_storage: true,
ad_user_data: true,
ad_personalization: true,
analytics_storage: true,
timestamp: Date.now()
}));
}
// Po kliknięciu "Tylko niezbędne"
function acceptEssentialOnly() {
gtag('consent', 'update', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied'
});
localStorage.setItem('cookie_consent', JSON.stringify({
ad_storage: false,
ad_user_data: false,
ad_personalization: false,
analytics_storage: false,
timestamp: Date.now()
}));
}
Krok 5: Odczytaj zapisane zgody przy powrocie
// Na początku każdej sesji
(function() {
const savedConsent = localStorage.getItem('cookie_consent');
if (savedConsent) {
const consent = JSON.parse(savedConsent);
gtag('consent', 'update', {
'ad_storage': consent.ad_storage ? 'granted' : 'denied',
'ad_user_data': consent.ad_user_data ? 'granted' : 'denied',
'ad_personalization': consent.ad_personalization ? 'granted' : 'denied',
'analytics_storage': consent.analytics_storage ? 'granted' : 'denied'
});
}
})();
Wpływ na dane w GA4 i Google Ads
Gdy użytkownik wyrazi zgodę
Pełne śledzenie jak dotychczas:
- Cookies
_ga,_gidustawiane normalnie - Pełne dane demograficzne i zainteresowań
- Remarketing działa
- Enhanced Conversions aktywne
Gdy użytkownik odmówi zgody (Advanced Mode)
Google stosuje Conversion Modeling i Behavioral Modeling:
- Cookieless pings - anonimowe dane bez identyfikatorów
- Modelowanie konwersji - Google szacuje brakujące konwersje na podstawie wzorców
- Brak remarketingu - użytkownik nie będzie w listach odbiorców
- Brak cross-device tracking - sesje nie będą łączone
Wymagania dla Conversion Modeling
Aby modelowanie działało poprawnie, potrzebujesz:
- Minimum danych - wystarczająca ilość ruchu z zgodami
- Advanced Mode - Basic Mode nie wspiera modelowania
- Google signals - włączone w GA4
- Linking - połączenie GA4 z Google Ads
Weryfikacja implementacji
GTM Preview Mode
- Otwórz GTM Preview
- Sprawdź zakładkę Consent
- Upewnij się, że:
- Domyślne wartości są
denied - Po interakcji z banerem wartości się aktualizują
- Tagi reagują na zmiany zgód
- Domyślne wartości są
Chrome DevTools
// Sprawdź aktualny stan zgód
console.log(google_tag_data.ics.entries);
// Lub
dataLayer.filter(item => item[0] === 'consent');
Google Tag Assistant
- Zainstaluj rozszerzenie Google Tag Assistant
- Sprawdź czy tagi raportują poprawne stany zgód
- Szukaj komunikatów o błędach Consent Mode
GA4 DebugView
- Otwórz GA4 → Configure → DebugView
- Szukaj parametru
gcs(Google Consent State) w eventach - Wartości:
G100= wszystkie zgody grantedG110= ad_storage denied, analytics grantedG111= tylko analytics denied
Typowe problemy i rozwiązania
Problem: Consent Mode nie aktualizuje się
Przyczyna: Baner cookies nie wysyła gtag('consent', 'update', ...).
Rozwiązanie: Sprawdź integrację CMP lub dodaj własne wywołania.
Problem: Tagi odpalają się przed banerem
Przyczyna: Brak wait_for_update lub zbyt krótki timeout.
Rozwiązanie:
gtag('consent', 'default', {
// ...
'wait_for_update': 2000 // Zwiększ timeout
});
Problem: Brak modelowania konwersji
Przyczyna: Basic Mode lub za mało danych.
Rozwiązanie: Przejdź na Advanced Mode i poczekaj na wystarczającą ilość danych (min. kilkaset konwersji z zgodami).
Problem: Remarketing nie działa
Przyczyna: ad_personalization: 'denied'.
Rozwiązanie: To zgodne z prawem - użytkownik odmówił zgody na remarketing. Skup się na First-Party Data strategies.
Zgodność z GDPR i DMA
Wymagania prawne
- Wyraźna zgoda - checkbox musi być odznaczony domyślnie
- Łatwe wycofanie - użytkownik musi móc łatwo zmienić zdanie
- Równoważne opcje - “Akceptuj” i “Odmów” równie widoczne
- Informacja - jasny opis co cookies robią
- Dokumentacja - zapisuj zgody jako dowód
Digital Markets Act (DMA)
Od marca 2024, DMA wymaga:
- Explicite zgoda na
ad_user_dataiad_personalization - Bez tych zgód Google Ads remarketing jest niemożliwy
- Enhanced Conversions wymagają
ad_user_data: 'granted'
Podsumowanie
Google Consent Mode v2 to niezbędny element każdej strony działającej w EOG. Kluczowe punkty:
- Wdrożenie obowiązkowe od marca 2024 dla reklamodawców w EOG
- Advanced Mode pozwala na modelowanie konwersji przy braku zgód
- Cztery parametry -
ad_storage,ad_user_data,ad_personalization,analytics_storage - Integracja z CMP - użyj certyfikowanej platformy dla łatwej implementacji
- Testowanie - GTM Preview, Tag Assistant, GA4 DebugView
Prawidłowa implementacja chroni przed utratą danych o konwersjach i zapewnia zgodność z GDPR oraz Digital Markets Act.
Źródła
-
Google Developers - Consent mode https://developers.google.com/tag-platform/security/guides/consent
-
Google Ads Help - Consent mode implementation https://support.google.com/google-ads/answer/10000067
-
Google Analytics Help - Consent mode for websites https://support.google.com/analytics/answer/9976101
-
Google - EU user consent policy https://www.google.com/about/company/user-consent-policy/
-
Google Tag Manager - Consent overview https://support.google.com/tagmanager/answer/10718549
-
European Commission - Digital Markets Act https://digital-markets-act.ec.europa.eu/



