Zum Inhalt springen

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.

js
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:

js
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. 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. 2 Konfiguriere den Standardstatus in der Vorlage, meist denied für alle vier Signale.
  3. 3 Setze den Trigger auf Consent Initialization - All Pages, damit sie vor allen anderen Tags läuft.
  4. 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.

04 Server-Tags anderer Anbieter absichern

Tags anderer Anbieter im Server-Container, etwa Meta Conversions API, TikTok oder LinkedIn, lesen die Consent-Parameter von Google nicht. Sie feuern, sobald ihr Trigger greift, auch wenn der Besucher abgelehnt hat. Die Consent-Prüfung musst du selbst in den Trigger einbauen.

  1. 1 Geh im Server-Container zu Variables und lege eine neue Event Data-Variable mit dem Key Path x-ga-gcs an. Sie enthält den gcs-Wert, zum Beispiel G111.
  2. 2 Lies ihn als G1, dann eine Ziffer für ad_storage und eine für analytics_storage, wobei 1 granted und 0 denied bedeutet. G111 heißt beide erteilt, G100 beide verweigert.
  3. 3 Öffne den Trigger des Anbieter-Tags und füge eine Bedingung hinzu, zum Beispiel die Variable matches RegEx ^G11 für Tags, die ad_storage brauchen.
  4. 4 Teste einmal mit verweigerter und einmal mit erteilter Einwilligung. Das Tag sollte nur im zweiten Fall feuern.

Brauchst du ad_user_data oder ad_personalization, ist es einfacher, den Consent-Status selbst zu senden: Ergänze im GA4-Event-Tag des Web-Containers einen Event-Parameter wie marketing_consent mit dem Wert granted oder denied, lies ihn im Server-Container mit einer Event Data-Variable aus und nutze ihn im Trigger.

05 Consent-Status prüfen

  1. 1 Öffne den Web-Container in der Preview in einem frischen privaten Fenster, damit keine frühere Wahl gespeichert ist.
  2. 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 denied zeigen (oder deine regionalen Standardwerte).
  3. 3 Akzeptiere das Banner, wähle das neueste Consent-Event und prüfe, dass On-page Update granted zeigt.
  4. 4 Öffne in der Server-Preview eine Anfrage vor und eine nach der Einwilligung und vergleiche x-ga-gcs in 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