LW IT Solutions logo LW IT Solutions logo LW IT Solutions
« Blog-Übersicht /Digital Analytics / Google Consent Mode v2 implementieren
Diesen Artikel in anderen Sprachen lesen:

Google Consent Mode v2 implementieren

Teil 1 von 4 der Reihe Einwilligung richtig verdrahten

Google Consent Mode v2 implementieren
Inhalt
  1. Vier Einstellungen mit unterschiedlichen Aufgaben
  2. Methode 1: Google Tag Manager
  3. Methode 2: direkte Einbindung mit gtag.js
  4. Prüfung vor der Freigabe
  5. Optional: URL-Passthrough
  6. Fragen und Antworten
  7. Quellen

Google Consent Mode v2 übermittelt Einwilligungsentscheidungen an Google-Tags. Das Banner erfasst die Auswahl; Consent Mode verändert das Messverhalten. Zur vollständigen Einrichtung gehören ein Ausgangszustand, Aktualisierungen nach einer Auswahl und die Wiederherstellung gespeicherter Einstellungen auf weiteren Seiten.

Google-Produktvorgaben und geltendes Recht sind getrennt zu prüfen. Consent Mode ist keine allgemeine gesetzliche Pflicht für jede europäische Website. Der Einbau stellt auch keine Rechtskonformität her. Die zulässige Verarbeitung entscheidet darüber, ob vor der Zustimmung begrenzte Anfragen erlaubt sind.

Vier Einstellungen mit unterschiedlichen Aufgaben

  • analytics_storage: analysebezogene Speicherung.
  • ad_storage: werbebezogene Speicherung.
  • ad_user_data: Übermittlung von Nutzerdaten für Werbung.
  • ad_personalization: personalisierte Werbung.

Basic blockiert die betreffenden Tags bis zur Zustimmung. Advanced lädt einwilligungsabhängige Tags mit restriktiven Ausgangswerten und kann nach abgelehnter Speicherung cookielose Messdaten senden. „Cookielos“ bedeutet keinen vollständigen Verzicht auf Datenübertragung. Verhaltens- und Conversion-Modellierung haben zusätzliche Voraussetzungen und garantieren keine Wiederherstellung fehlender Messwerte.

Zwei Wege für Advanced Consent Mode: GTM-Consent-APIs oder direkte gtag.js-Ausgangswerte und bestätigte Updates. Integrierte Prüfungen unterscheiden sich von zusätzlichen Sperren. Basic blockiert bewusst.
Das Diagramm zeigt beide Wege zu Default und Update im Consent Mode v2 und das Verhalten der Google-Tags bei verweigerter Zustimmung.

Methode 1: Google Tag Manager

Unter Verwaltung → Containereinstellungen liegt die Option zum Aktivieren der Einwilligungsübersicht. Die Übersicht erleichtert die Prüfung der benötigten Zustimmungen je Tag.

Ein mit Consent Mode kompatibles CMP-Template verbindet Banner und GTM. Die Ausgangswerte gehören auf Consent Initialization – All Pages. Eigene Templates verwenden setDefaultConsentState und updateConsentState. Wartende gtag-Aufrufe in Custom HTML bieten nicht dieselbe Zusicherung der Reihenfolge. Ob getrennte Default- und Update-Tags nötig sind, hängt von der konkreten CMP-Anbindung ab.

Integrierte Einwilligungsprüfungen verändern das Verhalten eines unterstützten Google-Tags. Zusätzliche Einwilligungsprüfungen verhindern dagegen die Ausführung, bis sämtliche genannten Zustimmungen vorliegen. Bei einer freigegebenen Advanced-Einrichtung lässt „Keine zusätzliche Einwilligung erforderlich“ die integrierten Prüfungen aktiv. Basic blockiert die betreffenden Tags bewusst. Ein fehlender Ping ist deshalb allein kein Grund zum Entfernen einer Sperre.

Methode 2: direkte Einbindung mit gtag.js

Das folgende Beispiel zeigt Advanced. An beiden Stellen benötigt die Platzhalter-Mess-ID die tatsächliche GA4-ID. Die Ausgangswerte stehen vor den Messbefehlen. Ohne regionale Einschränkung gelten diese Werte weltweit.

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>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>

Die 500 ms sind eine beispielhafte Wartezeit für ein asynchrones Einwilligungsupdate. Der Wert ist weder ein allgemeiner Mindestwert noch eine Frist, nach deren Ablauf Zustimmung entsteht. Nach Ablauf gelten weiterhin die abgelehnten Ausgangswerte.

Updates für Zustimmung, Ablehnung und Widerruf

Die folgende Funktion erwartet vier ausdrückliche boolesche Entscheidungen. Fehlende Werte und andere Datentypen ergeben denied. Die Banner-Anbindung ruft die Funktion nach einer bestätigten Auswahl, nach Widerruf und beim Wiederherstellen einer gültigen gespeicherten Entscheidung auf. Der bloße Seitenaufruf begründet keinen solchen Aufruf mit Zustimmung.

JavaScript
function applyGoogleConsent(choice) {
  const state = value => value === true ? 'granted' : 'denied';
  gtag('consent', 'update', {
    ad_storage: state(choice.adStorage),
    ad_user_data: state(choice.adUserData),
    ad_personalization: state(choice.adPersonalization),
    analytics_storage: state(choice.analyticsStorage)
  });
}

Die Funktion implementiert weder ein Banner noch die Speicherung der Auswahl. Dafür bleibt die CMP zuständig, einschließlich Gültigkeit, Ablauf und Wiederherstellung auf jeder Seite. Updates müssen Google vor einem Seitenwechsel erreichen. Ein einzelnes gespeichertes Kennzeichen „akzeptiert“ bildet getrennte Kategorien nicht ab.

Prüfung vor der Freigabe

Tag Assistant zeigt die Ausgangswerte im ersten Consent-Ereignis und spätere Aktualisierungen. Zur Prüfung gehören Erstbesuch, vollständige Ablehnung, Zustimmung, Teilauswahl, Folgeseite und Widerruf. Netzwerk- und Speicheransicht des Browsers zeigen das tatsächliche Verhalten im gewählten Basic- oder Advanced-Modus.

Eine fehlende Anfrage kann auch durch Browserblocker, Skriptfehler oder einen eigenen Endpunkt entstehen. Eine ausbleibende Anfrage an google-analytics.com beweist keine bestimmte GTM-Ausnahme.

Optional: URL-Passthrough

URL-Passthrough kann Klickinformationen über Links derselben Domain anstelle von Werbe-Cookies weiterreichen. Bei direktem gtag.js gehört die Einstellung vor config-Befehle:

JavaScript
gtag('set', 'url_passthrough', true);

Die Option benötigt kompatible Tags und eine einheitliche Konfiguration. Weiterleitungen und Anwendungsnavigation benötigen Tests mit den zusätzlichen Parametern. URL-Parameter können in Protokolle und Referrer gelangen; die Aktivierung benötigt deshalb eine bewusste Verarbeitungsentscheidung. ads_data_redaction ist eine getrennte Einstellung zum Entfernen von Anzeigenklickinformationen aus betreffenden Anfragen bei verweigerter Werbespeicherung.

Fragen und Antworten

Wartet wait_for_update bis zur Entscheidung?

Nein. Die begrenzte Wartezeit berücksichtigt eine asynchrone Initialisierung. Eine spätere bestätigte Auswahl benötigt weiterhin ein Update.

Ist das Blockieren eines Google-Tags immer falsch?

Nein. Im Basic-Modus ist die Sperre beabsichtigt. Ein Fehler besteht erst bei einer Abweichung von der gewählten und zulässigen Einrichtung.

Einwilligung richtig verdrahten

  1. Google Consent Mode v2 implementieren
  2. Wie cookielose Pings im Google Consent Mode funktionieren
  3. GA4 Consent Mode v2: Der gcd-Parameter, CMP-Wettläufe und serverseitiges Debugging
  4. Consent-Status an Server-Side GTM übergeben
Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Kontakt

Eine Frage oder eine Idee für ein Webprojekt? Schreib mir kurz, worum es geht. Das Formular nutzt reCAPTCHA zum Schutz vor Spam.

Kommentar schreiben

Abweichende Zahlen aus anderen Konten und Rückfragen zur Einrichtung sind hier willkommen.

Die E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit einem Stern versehen.