Problemy z Consent Mode
Objaw A: GA4 nadal uruchamia się przed zgodą
Przyczyna: Domyślny stan Consent Mode nie jest ustawiony przed załadowaniem GA4.
Rozwiązanie: Dodaj blok domyślnego consensu przed skryptem GA4 i przed ConsentForge:
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
'analytics_storage': 'denied',
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'wait_for_update': 500
});
</script>
<!-- ConsentForge -->
<script src="https://cdn.consentforge.com/consentforge.min.js" data-token="..." defer></script>
<!-- GA4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"></script>
Objaw B: gtag('consent', 'update') nie uruchamia się
Jak sprawdzić: DevTools → Konsola → window.dataLayer.filter(e => e[0] === 'consent') — powinno pokazać default + update po akceptacji przez użytkownika.
Przyczyna: Funkcja gtag niedostępna, gdy ConsentForge próbuje zaktualizować consent mode.
Rozwiązanie: Upewnij się, że gtag jest zdefiniowane na window przed załadowaniem ConsentForge (przez powyższy blok domyślny).
Objaw C: Consent Mode działa, ale GA4 nie pokazuje modelowanych danych
Przyczyna: Modelowane dane konwersji pojawiają się w Google Ads po 5–7 dniach od wstępnej konfiguracji Consent Mode.
Rozwiązanie: Poczekaj 7 dni po prawidłowej konfiguracji. Sprawdź w Google Ads → Narzędzia → Diagnostyka Consent Mode.
Objaw D: Tag inicjalizacji zgody GTM nie uruchamia się jako pierwszy
Jak sprawdzić: Podgląd GTM → sprawdź kolejność uruchamiania tagów. Tag ConsentForge powinien uruchamiać się na wyzwalaczu "Consent Initialization".
Rozwiązanie: Zmień wyzwalacz tagu GTM ConsentForge na Consent Initialization - All Pages (nie Page View).
Weryfikacja
Po naprawieniu potwierdź w Konsoli DevTools:
// Powinno pokazać domyślne 'denied', a następnie aktualizację 'granted' po akceptacji
window.dataLayer.filter(e => e[0] === 'consent')