So richtest du GA4 mit Google Consent Mode v2 ein
Seit März 2024 verlangt Google Consent Mode v2 von Werbetreibenden, die Nutzer im EWR und im Vereinigten Königreich ansprechen, und Datenschutzgesetze schreiben vor, dass Tracking auf die Einwilligung wartet. Richtig umgesetzt bleibt Analytics datenschutzkonform nutzbar. Falsch umgesetzt trackst du entweder illegal oder verlierst deine Daten. Hier ist die richtige Reihenfolge.
Was Consent Mode v2 macht
Consent Mode teilt den Google-Tags über vier Signale mit, wozu der Besucher zugestimmt hat: analytics_storage, ad_storage sowie die beiden in v2 neu hinzugekommenen ad_user_data und ad_personalization. Solange ein Signal auf denied steht, setzen Tags für diesen Zweck keine Cookies. Im Advanced-Modus senden sie trotzdem cookielose Pings, mit denen Google Conversions modelliert.
Schritt 1: Standardwert setzen, bevor ein Tag lädt
Der Standardwert muss vor gtag.js oder dem Google Tag Manager ausgeführt werden, also ganz oben im <head>:
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied',
functionality_storage: 'granted',
security_storage: 'granted',
wait_for_update: 500
});
</script>
Generiere diesen Block zusammen mit deinem GA4-Tag in der richtigen Reihenfolge mit dem Google Tag Snippet Generator.
Schritt 2: Einwilligung über das Banner aktualisieren
Wenn der Besucher eine Auswahl trifft, sende ein Update nur mit dem, was er akzeptiert hat, und merke dir die Auswahl für seinen nächsten Besuch:
function onConsent(choice) { // z. B. { analytics: true, marketing: false }
gtag('consent', 'update', {
analytics_storage: choice.analytics ? 'granted' : 'denied',
ad_storage: choice.marketing ? 'granted' : 'denied',
ad_user_data: choice.marketing ? 'granted' : 'denied',
ad_personalization: choice.marketing ? 'granted' : 'denied'
});
localStorage.setItem('consent', JSON.stringify(choice));
}
Beim nächsten Seitenaufruf rufe dasselbe Update direkt nach dem Standardwert auf, bevor Tags feuern. Eine Consent-Management-Plattform (Cookiebot, OneTrust, Usercentrics und andere) kann das für dich übernehmen. Alternativ baust du ein Banner mit Script-Blocking mit dem Cookie Consent Banner Generator.
Schritt 3: Regionen (optional)
Du kannst strengere Standardwerte nur dort anwenden, wo das Gesetz es verlangt. Dazu ergänzt du eine region-Liste, zum Beispiel für den EWR, das Vereinigte Königreich und die Schweiz, und setzt außerhalb davon einen Standardwert „granted“. Kläre mit deinem Rechtsberater, welche Regionen für dich gelten.
Schritt 4: Funktion prüfen
- Öffne die Seite in einem privaten Fenster und klicke nicht auf das Banner. Es sollten keine
_ga-Cookies existieren, und Anfragen an Google solltengcs=G100enthalten. - Akzeptiere alles. Die Anfragen sollten auf
gcs=G111wechseln, und das_ga-Cookie sollte erscheinen. - Lehne alles ab und lade die Seite neu. Es sollte nichts mehr gesetzt werden.
Der Consent Mode Checker erledigt das automatisch: Er lädt deine Seite in einem echten Browser, liest den Consent-Status aus und listet jeden Tracker auf, der vor und nach der Einwilligung feuert. Mit dem Tracking Tag Checker siehst du, welche Tags eine Seite überhaupt lädt.
Häufige Fehler
- Den Standardwert nach dem GA4-Tag setzen. Dann wird der erste Hit gesendet, bevor die Einwilligung bekannt ist.
ad_user_dataundad_personalizationvergessen. Dann bist du noch bei Consent Mode v1.- Meta-, TikTok- oder LinkedIn-Pixel außerhalb des Consent-Flows fest einbauen. Consent Mode steuert nur Google-Tags. Blockiere andere Pixel, bis die Marketing-Einwilligung vorliegt.
- Custom Events vor der Einwilligung senden. Erstelle sie mit dem GA4 Event Generator und sende sie über gtag, damit die Einwilligung greift.