Google Consent Mode v2: Implementierung via GTM und Vanilla JS
Wer im Europäischen Wirtschaftsraum (EWR) tätig ist oder Daten europäischer Nutzer verarbeitet, für den ist der Google Consent Mode v2 keine “Nice-to-have”-Funktion mehr, sondern eine zwingende Anforderung (seit März 2024). Durch das Gesetz über digitale Märkte (DMA) hat Google die Datenverarbeitung seiner Werbe- und Analyseplattformen grundlegend geändert.
Ein Fehlen des Consent Mode v2 bedeutet den Verlust von Remarketing-Funktionen und eine drastische Verschlechterung der Conversion-Messung. Das Ziel ist es, die Datenqualität zu erhalten und gleichzeitig strikt die Datenschutzprotokolle einzuhalten. Hier ist eine detaillierte Anleitung, warum Consent Mode v2 wichtig ist, wie er den GMP-Stack beeinflusst und wie er korrekt implementiert wird.
Warum ist Consent Mode v2 so entscheidend?
Im Kern schlägt der Consent Mode die Brücke zwischen den Privatsphäre-Entscheidungen der Nutzer und den Datenerfassungssystemen. Wenn ein Nutzer mit dem Cookie-Banner interagiert, kommuniziert der Consent Mode dessen Auswahl (granted oder denied) an die Google-Tags. Die Einführung der Version 2 brachte zwei kritische neue Parameter mit Fokus auf Werbung:
- ad_user_data: Setzt die Zustimmung für das Senden von Nutzerdaten an Google zu Werbezwecken.
- ad_personalization: Setzt die Zustimmung für personalisierte Werbung (Remarketing).
Was bewirkt er für Google-Tags (Ads, Floodlights, SA360, GA4)?
Bei korrekter Konfiguration im “Advanced Consent Mode” laden die Tags vor der Entscheidung, ändern aber ihr Verhalten drastisch basierend auf dem Zustimmungsstatus:
- Google Analytics 4 (GA4): Wenn
analytics_storageverweigert wird, liest oder schreibt GA4 keine Cookies. Stattdessen sendet es “Cookieless Pings”. GA4 nutzt maschinelles Lernen, um mittels Verhaltensmodellierung die Datenlücken zu schließen, ohne die Privatsphäre zu verletzen. - Google Ads & SA360: Wenn
ad_storageoderad_user_dataverweigert wird, senden Werbe-Tags anonyme Conversion-Pings. Die Google-Engine nutzt dann Conversion-Modellierung, um verlorene Conversions wiederherzustellen, damit ROAS-Berechnungen und automatische Gebotsstrategien stabil bleiben. - Floodlights (Campaign Manager 360): Ähnlich wie bei Google Ads respektieren Floodlight-Tags den Zustimmungsstatus und nutzen aggregierte Daten und Modellierung zur genauen Conversion-Zuordnung in Display- und Video-Kampagnen, ohne auf Third-Party-Cookies angewiesen zu sein.
Ohne Version 2 verwirft Google nicht zugestimmte Daten, was Messung und Zielgruppenaufbau lahmlegt.
Methode 1: Implementierung über Google Tag Manager (GTM)
Für die meisten Setups ist GTM der sauberste Weg, um Zustimmungen zu verwalten, da er als zentrales Nervensystem der Tracking-Architektur dient.
Schritt 1: Consent Overview aktivieren Gehe in den GTM-Arbeitsbereich > Verwaltung > Containereinstellungen. Aktiviere “Consent Overview”. Dies schaltet ein Schild-Symbol in der Tag-Ansicht frei, um Zustimmungen einfach zu verwalten.
Schritt 2: CMP-Template oder Consent Mode Template nutzen Anstatt eigene Logik zu bauen, nutze ein zertifiziertes CMP (z.B. Cookiebot, OneTrust, CookieYes) aus der Community Template Gallery.
- Füge das CMP-Template hinzu und konfiguriere es mit deiner CMP-ID.
- Nutze den Trigger: Consent Initialization – All Pages. Dies ist ein spezieller Trigger, der vor normalen Seitenaufrufen feuert und garantiert, dass Zustimmungsstandards vor Google-Tags gesetzt werden.
- Wenn das CMP direkt implementiert ist, empfiehlt sich das Template “gtm-templates-simo-ahava”. Füge zwei Instanzen als Tags hinzu:
- Default Tag: Feuert bei Consent Initialization, alles auf “Denied”.
- Update Tag: Feuert bei Consent Update vom CMP.
Schritt 3: Tag-Zustimmungseinstellungen konfigurieren Google-Tags (GA4, Google Ads) haben eingebaute Prüfungen. Man muss sie nicht blockieren:
- Öffne den GA4- oder Google Ads-Tag.
- Gehe zu Erweiterte Einstellungen > Zustimmungseinstellungen.
- Stelle sicher, dass er
ad_storageund/oderanalytics_storagebenötigt. Der Tag erledigt den Rest – er feuert normal bei Zustimmung oder sendet anonyme Pings bei Ablehnung.
Methode 2: Implementierung via Vanilla JavaScript
Bei hochoptimierten Frontends oder SPAs, bei denen GTM zu schwerfällig ist, ist die direkte Implementierung via Vanilla JS der richtige Weg.
1. Der Standardzustand (Platzierung im <head>) Das Skript muss vor gtag.js ausgeführt werden. Es weist Google an, standardmäßig alles abzulehnen.
HTML
<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',
'wait_for_update': 500
});
</script>2. Der Aktualisierungszustand (getriggert durch Nutzeraktion) Wenn der Nutzer auf “Akzeptieren” klickt, muss ein Update an das dataLayer gepusht werden.
JavaScript
document.getElementById('btn-accept-all').
addEventListener('click', function() {
gtag('consent', 'update', {
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted',
'analytics_storage': 'granted'
});
document.getElementById('cookie-banner').style.display = 'none';
});Zusammenfassung
Die Implementierung des Google Consent Mode v2 ist der definitive Weg, um digitale Analytics- und Werbeinfrastrukturen zukunftssicher zu machen. Ob über die GTM-Schnittstelle oder per Vanilla JavaScript – die korrekte Definition von Standardzuständen und Aktualisierungen stellt die Rechtskonformität sicher und ermöglicht es den Algorithmen von Google gleichzeitig, Datenlücken zu schließen.