Consent Mode-Probleme
Symptom A: GA4 wird weiterhin vor der Einwilligung ausgelöst
Ursache: Der Standard-Consent-Mode-Status wurde nicht gesetzt, bevor GA4 geladen wird.
Lösung: Fügen Sie den Consent-Default-Block vor dem GA4-Skript und vor ConsentForge ein:
<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>
Symptom B: gtag('consent', 'update') wird nicht ausgelöst
Diagnose: DevTools → Konsole → window.dataLayer.filter(e => e[0] === 'consent') – sollte Standard- und Aktualisierungseinträge anzeigen, nachdem der Nutzer akzeptiert hat.
Ursache: Die gtag-Funktion ist nicht auf window verfügbar, wenn ConsentForge versucht, den Consent Mode zu aktualisieren.
Lösung: Stellen Sie sicher, dass gtag auf window definiert ist, bevor ConsentForge geladen wird (über den Standard-Block oben).
Symptom C: Consent Mode funktioniert, aber GA4 zeigt keine modellierten Daten
Ursache: Modellierte Conversion-Daten erscheinen erst 5–7 Tage nach der erstmaligen Consent Mode-Einrichtung in Google Ads.
Lösung: Warten Sie 7 Tage nach der korrekten Einrichtung. Überprüfen Sie in Google Ads → Tools → Consent Mode-Diagnose.
Symptom D: GTM Consent Initialization-Tag wird nicht zuerst ausgelöst
Diagnose: GTM-Vorschau → Tag-Auslösereihenfolge prüfen. Das ConsentForge-Tag sollte beim Trigger „Einwilligungs-Initialisierung" ausgelöst werden.
Lösung: Ändern Sie den Trigger des ConsentForge GTM-Tags auf Einwilligungs-Initialisierung – Alle Seiten (nicht Seitenaufruf).
Überprüfung
Bestätigen Sie nach der Behebung in der DevTools-Konsole:
// Sollte 'denied'-Standards und dann 'granted'-Aktualisierung nach Akzeptanz zeigen
window.dataLayer.filter(e => e[0] === 'consent')