Google Consent Mode v2 teilt den Google-Tags mit, ob ein Besucher Cookies für Analyse und Werbung zugestimmt hat. Ohne ihn nimmt Google Besucher aus dem Europäischen Wirtschaftsraum nicht in deine Werbe-Zielgruppen auf. Hier findest du eine Einrichtung mit gtag.js zum Kopieren – und wie du prüfst, ob sie funktioniert.
Was Consent Mode v2 ist
Consent Mode ist eine Reihe von Signalen, die deine Website an Google-Tags sendet (Google Analytics 4, Google Ads, Floodlight). Jedes Signal ist granted oder denied, und die Tags passen ihr Verhalten an. Version 2 vom November 2023 hat zwei Signale zu Werbedaten ergänzt:
| Signal | Was es steuert |
|---|---|
ad_storage | Speicherung, etwa Cookies, für Werbung |
analytics_storage | Speicherung, etwa Cookies, für Analyse (zum Beispiel Besuchsdauer) |
ad_user_data (neu in v2) | Übermittlung werbebezogener Nutzerdaten an Google |
ad_personalization (neu in v2) | Personalisierte Werbung, etwa Remarketing |
Wer ihn braucht
Seit März 2024 erwartet Google Einwilligungssignale für Besucher im Europäischen Wirtschaftsraum. Fehlen sie, landen diese Besucher nicht in den Zielgruppen der Google-Werbeprodukte, Remarketing und personalisierte Anzeigen funktionieren für sie nicht mehr. Für personalisierte Werbung müssen sowohl ad_user_data als auch ad_personalization erteilt sein.
Hat deine Website keine Besucher aus Europa und nutzt du kein Google Ads, ist Consent Mode optional. Nutzt du eine von Google zertifizierte Consent-Management-Plattform, sendet sie die Signale wahrscheinlich schon – prüfe zuerst deren Einstellungen.
Basis- oder erweiterter Modus
| Basis | Erweitert | |
|---|---|---|
| Bevor der Besucher antwortet | Google-Tags werden gar nicht geladen | Tags laden mit dem Standardzustand (meist denied) |
| Wenn der Besucher ablehnt | Es wird nichts an Google gesendet | Cookielose Pings ohne Kennungen werden gesendet |
| Conversion-Modellierung | Allgemeines Modell | Genaueres, werbetreibendenspezifisches Modell |
Der Code unten ist die erweiterte Einrichtung: Die Tags laden sofort und warten im abgelehnten Zustand auf die Antwort. Für den Basis-Modus lädst du das Google-Tag erst nach der Zustimmung.
Schritt 1. Standardwerte vor dem Google-Tag setzen
Der Standardzustand muss gesetzt sein, bevor das Tag etwas sendet. Füge dieses Snippet im <head> oberhalb des Google-Tags bzw. des Tag-Manager-Snippets ein:
<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, // ms Wartezeit auf ein asynchron geladenes Banner
});
</script>
<!-- danach das Google-Tag oder das Google-Tag-Manager-Snippet -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script>
gtag('js', new Date());
gtag('config', 'G-XXXXXXX');
</script>Um nur in bestimmten Ländern standardmäßig abzulehnen, ergänzt du region mit ISO-Codes, etwa region: ['DE', 'AT', 'CH']. Standardwerte ohne region gelten überall sonst.
Schritt 2. Die Entscheidung des Besuchers senden
Klickt der Besucher einen Button im Banner, rufst du update auf. Speichere die Entscheidung und sende sie zu Beginn jedes weiteren Seitenaufrufs erneut, direkt nach den Standardwerten:
<div id="cookie-banner" hidden>
<p>Wir nutzen Cookies für Analyse und Werbung. Einverstanden?</p>
<button type="button" data-choice="granted">Akzeptieren</button>
<button type="button" data-choice="denied">Ablehnen</button>
</div>
<script>
const KEY = 'cookie_choice';
const send = (state) => gtag('consent', 'update', {
ad_storage: state,
ad_user_data: state,
ad_personalization: state,
analytics_storage: state,
});
const saved = localStorage.getItem(KEY);
const banner = document.getElementById('cookie-banner');
if (saved) send(saved); else banner.hidden = false;
banner.addEventListener('click', (e) => {
const state = e.target.dataset.choice;
if (!state) return;
localStorage.setItem(KEY, state);
send(state);
banner.hidden = true;
});
</script>Optional: url_passthrough und ads_data_redaction
Zwei Einstellungen helfen, wenn Werbe-Cookies abgelehnt sind:
gtag('set', 'url_passthrough', true); // Klickdaten in Links statt in Cookies weitergeben
gtag('set', 'ads_data_redaction', true); // Klick-IDs schwärzen, solange ad_storage abgelehnt istMit Google Tag Manager
Im Tag Manager gehören die Standardwerte in ein Tag mit dem Trigger Consent Initialization – All Pages (Einwilligungsinitialisierung), der vor allen anderen auslöst. Die meisten Consent-Plattformen bieten dafür eine fertige Vorlage in der Community Template Gallery; das update sendet dann die Plattform, sobald der Besucher antwortet.
Consent Mode prüfen
- Öffne deine Website über Tag Assistant und sieh dir den Tab Consent an: Zuerst muss der Standardzustand erscheinen, nach einem Klick im Banner das Update.
- Öffne in den Entwicklertools des Browsers den Tab Netzwerk und filtere nach
collect: Anfragen an Google Analytics enthalten den Parametergcs, der nach der Zustimmung vonG100(abgelehnt) zuG111(erteilt) wechselt. - Lade die Seite nach der Zustimmung neu: Die gespeicherte Entscheidung muss erneut gesendet werden, ohne dass das Banner erscheint.
Ein Banner für Google und deine anderen Tools
Consent Mode betrifft nur Google-Tags. Andere Skripte auf der Website brauchen dieselbe Antwort. Das Widget von Sitecog zum Beispiel hat einen eigenen Einwilligungsmodus: Ergänze data-consent="required" an seinem Tag, dann wartet die Analyse auf die Einwilligung, während Formulare und Live-Chat weiter funktionieren. Google-Einwilligungssignale sendet es nicht – gib die Antwort aus deinem Banner an beide weiter:
<script src="https://widget.sitecog.com/widget.js" data-consent="required" defer></script>
<script>
window.crmConsent = window.crmConsent || []; // eine Warteschlange: funktioniert auch vor widget.js
function applyChoice(state) {
gtag('consent', 'update', {
ad_storage: state,
ad_user_data: state,
ad_personalization: state,
analytics_storage: state,
});
crmConsent.push(state === 'granted' ? 'grant' : 'deny');
}
</script>Häufige Fragen
Ist Consent Mode ein Cookie-Banner?
Nein. Consent Mode gibt nur die Entscheidung des Besuchers an Google-Tags weiter. Du brauchst weiterhin ein Banner (eigenes oder von einer Consent-Management-Plattform), das fragt und den update-Befehl aufruft.
Brauche ich Consent Mode v2 außerhalb des EWR?
Google verlangt Einwilligungssignale für Besucher im Europäischen Wirtschaftsraum. Anderswo ist es optional, du kannst es aber trotzdem nutzen – mit dem Parameter region lehnst du standardmäßig nur in den Ländern ab, in denen es nötig ist.
Was passiert, wenn ein Besucher Cookies ablehnt?
Im Basis-Modus senden die Google-Tags nichts. Im erweiterten Modus senden sie cookielose Pings ohne Kennungen, die Google für die Conversion-Modellierung nutzt.
Macht Consent Mode meine Website DSGVO-konform?
Nicht allein. Consent Mode respektiert die Entscheidung des Besuchers; ob du richtig, rechtzeitig und verständlich fragst, hängt von deinem Banner und deiner Datenschutzerklärung ab.
Richtet Sitecog Google Consent Mode für mich ein?
Nein. Das Sitecog-Widget hat einen eigenen Einwilligungsmodus für seine Analyse und sendet keine Google-Einwilligungssignale. Verbinde beides mit demselben Banner, wie in dieser Anleitung gezeigt.