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.

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

FunkcjaConsent Mode v1Consent Mode v2
Parametry zgód2 (analytics_storage, ad_storage)4+ (dodano ad_user_data, ad_personalization)
Wymagania prawneGDPRGDPR + Digital Markets Act (DMA)
Obowiązkowy od-Marzec 2024 (EOG)
Wpływ na remarketingCzęściowyPełny - bez zgody brak remarketingu

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

ParametrOpisWpływ na tagi
ad_storagePrzechowywanie cookies reklamowychGoogle Ads conversion tracking
ad_user_dataWysyłanie danych użytkownika do GoogleCustomer Match, Enhanced Conversions
ad_personalizationPersonalizacja reklamRemarketing, podobne grupy odbiorców
analytics_storagePrzechowywanie cookies analitycznychGA4 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

  1. Otwórz kontener GTM
  2. Przejdź do AdminContainer Settings
  3. 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

Dla tagów GA4 i Google Ads:

  1. Otwórz tag (np. GA4 Configuration)
  2. Przejdź do Advanced SettingsConsent Settings
  3. Wybierz:
    • No additional consent required - tag odpala zawsze
    • Require additional consent for tag to fire - wybierz wymagane zgody

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, _gid ustawiane 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:

  1. Minimum danych - wystarczająca ilość ruchu z zgodami
  2. Advanced Mode - Basic Mode nie wspiera modelowania
  3. Google signals - włączone w GA4
  4. Linking - połączenie GA4 z Google Ads

Weryfikacja implementacji

GTM Preview Mode

  1. Otwórz GTM Preview
  2. Sprawdź zakładkę Consent
  3. Upewnij się, że:
    • Domyślne wartości są denied
    • Po interakcji z banerem wartości się aktualizują
    • Tagi reagują na zmiany zgód

Chrome DevTools

// Sprawdź aktualny stan zgód
console.log(google_tag_data.ics.entries);

// Lub
dataLayer.filter(item => item[0] === 'consent');

Google Tag Assistant

  1. Zainstaluj rozszerzenie Google Tag Assistant
  2. Sprawdź czy tagi raportują poprawne stany zgód
  3. Szukaj komunikatów o błędach Consent Mode

GA4 DebugView

  1. Otwórz GA4 → ConfigureDebugView
  2. Szukaj parametru gcs (Google Consent State) w eventach
  3. Wartości:
    • G100 = wszystkie zgody granted
    • G110 = ad_storage denied, analytics granted
    • G111 = tylko analytics denied

Typowe problemy i rozwiązania

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

  1. Wyraźna zgoda - checkbox musi być odznaczony domyślnie
  2. Łatwe wycofanie - użytkownik musi móc łatwo zmienić zdanie
  3. Równoważne opcje - “Akceptuj” i “Odmów” równie widoczne
  4. Informacja - jasny opis co cookies robią
  5. Dokumentacja - zapisuj zgody jako dowód

Digital Markets Act (DMA)

Od marca 2024, DMA wymaga:

  • Explicite zgoda na ad_user_data i ad_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:

  1. Wdrożenie obowiązkowe od marca 2024 dla reklamodawców w EOG
  2. Advanced Mode pozwala na modelowanie konwersji przy braku zgód
  3. Cztery parametry - ad_storage, ad_user_data, ad_personalization, analytics_storage
  4. Integracja z CMP - użyj certyfikowanej platformy dla łatwej implementacji
  5. 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

  1. Google Developers - Consent mode https://developers.google.com/tag-platform/security/guides/consent

  2. Google Ads Help - Consent mode implementation https://support.google.com/google-ads/answer/10000067

  3. Google Analytics Help - Consent mode for websites https://support.google.com/analytics/answer/9976101

  4. Google - EU user consent policy https://www.google.com/about/company/user-consent-policy/

  5. Google Tag Manager - Consent overview https://support.google.com/tagmanager/answer/10718549

  6. European Commission - Digital Markets Act https://digital-markets-act.ec.europa.eu/