Consent Mode v2 mit Server-Side-GTM
Consent Mode teilt Google-Tags mit, wozu der Besucher zugestimmt hat, damit sie anpassen können, was sie speichern und senden. Mit Server-Side-GTM reist der Consent-Status mit jedem Hit zu deinem Server-Container. Google-Tags dort berücksichtigen ihn von selbst, andere Server-Tags wie die Meta Conversions API aber nicht. Diese Lektion behandelt beide Hälften.
Profi 11 Min. Lesezeit
Das lernst du
- Die vier Signale von Consent Mode v2 und den Unterschied zwischen Basic und Advanced Mode erklären.
- Einen Standard-Consent-Status setzen, bevor GTM lädt, und ihn aktualisieren, wenn der Besucher zustimmt.
- Verstehen, wie der Consent-Status mit jedem Hit deinen Server-Container erreicht.
- Verhindern, dass Server-Tags anderer Anbieter feuern, wenn die Einwilligung verweigert wurde.
- Den Consent-Status mit Tag Assistant prüfen.
Bevor du startest
- GA4, das über deinen Server-Container läuft (Lektion 4).
- Ein Consent-Banner (CMP) oder der Plan, eines einzubauen.
01 Die vier Signale von Consent Mode v2
Consent Mode v2 nutzt vier Signale. Jedes ist entweder granted oder denied.
-
ad_storage: Cookies und Speicher für Werbung. -
analytics_storage: Cookies und Speicher für Analytics, etwa die GA4-Client-ID. -
ad_user_data: ob Nutzerdaten für Werbezwecke an Google gesendet werden dürfen. -
ad_personalization: ob Daten für personalisierte Werbung wie Remarketing genutzt werden dürfen.
Die letzten beiden kamen mit v2 hinzu. Google verlangt sie für Werbefunktionen bei Besuchern aus dem Europäischen Wirtschaftsraum (EWR).
Es gibt zwei Arten, Consent Mode zu betreiben:
- Basic: Google-Tags laden überhaupt nicht, bis der Besucher eine Wahl trifft. Vor der Einwilligung wird nichts gesendet.
- Advanced: Google-Tags laden sofort mit dem Standardwert (meist denied). Solange die Einwilligung verweigert ist, senden sie cookielose Pings ohne Kennungen, die Google für die Modellierung nutzt. Nach der Einwilligung arbeiten sie normal.
02 Standard setzen und aktualisieren
Der Standardstatus muss gesetzt sein, bevor irgendein Tag läuft. Wenn du ihn im Code setzt, platziere ihn über dem GTM-Snippet.
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
});wait_for_update gibt dem Banner so viele Millisekunden Zeit, eine gespeicherte Wahl zu melden, bevor Tags feuern. Stimmt der Besucher zu, sendet das Banner ein Update:
gtag('consent', 'update', {
ad_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted',
analytics_storage: 'granted'
});In der Praxis schreibst du diesen Code selten selbst. Die meisten Consent-Plattformen (CMPs) haben eine Vorlage in der Community Template Gallery, die Standard und Update für dich setzt.
- 1 Geh im Web-Container zu Tags, klicke auf New und wähle Tag Configuration. Klicke auf Discover more tag types in the Community Template Gallery und suche nach deiner CMP.
- 2 Konfiguriere den Standardstatus in der Vorlage, meist
deniedfür alle vier Signale. - 3 Setze den Trigger auf Consent Initialization - All Pages, damit sie vor allen anderen Tags läuft.
- 4 Veröffentliche und teste das Banner in der Preview.
03 Wie der Consent-Status den Server-Container erreicht
Google-Tags im Web-Container hängen den Consent-Status an jeden Hit an, den sie senden. Der Parameter gcs trägt ad_storage und analytics_storage, gcd trägt alle vier Signale und dazu, wie sie gesetzt wurden. Weil der Hit an sgtm.example.com geht, kommt der Status mit ihm bei deinem Server-Container an.
Der Client GA4 liest diese Parameter und gibt sie in den Event-Daten weiter. Google-Tags im Server-Container (das GA4-Tag, Google Ads Conversion Tracking) berücksichtigen sie automatisch: Ist die Einwilligung im Advanced Mode verweigert, leiten sie einen cookielosen Ping weiter und setzen oder lesen keine Kennungen.
05 Consent-Status prüfen
- 1 Öffne den Web-Container in der Preview in einem frischen privaten Fenster, damit keine frühere Wahl gespeichert ist.
- 2 Wähle in Tag Assistant in der Summary das früheste Consent-Event und öffne den Tab Consent. On-page Default sollte für die vier Signale
deniedzeigen (oder deine regionalen Standardwerte). - 3 Akzeptiere das Banner, wähle das neueste Consent-Event und prüfe, dass On-page Update
grantedzeigt. - 4 Öffne in der Server-Preview eine Anfrage vor und eine nach der Einwilligung und vergleiche
x-ga-gcsin Event Data.
- Der Standard ist gesetzt, bevor ein Tag feuert.
- Alle vier v2-Signale sind im Standard und im Update gesetzt.
- Der Server-Container erhält den neuen Consent-Status, nachdem der Besucher zugestimmt hat.
- Server-Tags anderer Anbieter feuern nur mit Einwilligung.
Häufige Fragen
Soll ich Basic oder Advanced Consent Mode nutzen?
Im Advanced Mode kann Google die Conversions von Besuchern modellieren, die abgelehnt haben, deshalb siehst du meist vollständigere Zahlen. Der Basic Mode sendet vor der Einwilligung nichts. Welchen du nutzen darfst, hängt von deiner rechtlichen Einschätzung ab, nicht vom Server-Container.
Kann ich mit Server-Side-GTM auf das Consent-Banner verzichten?
Nein. Wenn du Tags auf einen Server verlagerst, änderst du, wo die Daten verarbeitet werden, nicht, ob du für ihre Erhebung eine Einwilligung brauchst. Es gelten dieselben Consent-Regeln.
Warum erhält der Server-Container noch Hits, wenn die Einwilligung verweigert ist?
Im Advanced Mode senden Google-Tags weiter cookielose Pings, solange die Einwilligung verweigert ist. Der Server-Container erhält sie mit dem Status denied, und die Google-Tags dort leiten sie ohne Kennungen weiter.
Bereit, es in die Praxis umzusetzen?
Richte in wenigen Minuten einen Server-GTM-Container auf deiner eigenen Domain ein. Für den Free-Tarif brauchst du keine Karte.
Kostenloses Konto erstellen