[ BLOG ]

Google Consent Mode v2 in WordPress einrichten (ohne Plugin-Bloat)

von Sascha Kohler | 29. September 2026 | Consent & DSGVO

Seit März 2024 verlangt Google für Websites mit Besuchern im Europäischen Wirtschaftsraum den Consent Mode v2 — sonst fallen Funktionen wie Remarketing und Conversion-Messung weg. Gleichzeitig zeigt die Praxis: Viele WordPress-Sites holen sich dafür eine komplette Consent-Management-Plattform ins Haus, obwohl der Mechanismus selbst erstaunlich schlank ist. Diese Anleitung erklärt, was der Consent Mode v2 technisch tut und wie du ihn in WordPress einrichtest — ohne Plugin-Bloat.

Hinweis: Dieser Artikel beschreibt die technische Einrichtung und ist keine Rechtsberatung. Welche Dienste auf deiner Website einwilligungspflichtig sind, prüfst du im Zweifel mit einer Fachperson.

Was der Consent Mode v2 macht

Der Consent Mode ist ein Signal-Kanal zwischen deinem Cookie-Banner und den Google-Tags auf der Seite. Statt Google-Skripte komplett zu blockieren, lädst du sie mit einem Default-Zustand „alles abgelehnt". Die Tags laufen dann in einem eingeschränkten Modus: Sie senden nur anonyme, cookieless Pings, bis der Besucher zustimmt — danach schalten sie auf normale Messung um.

Version 2 hat gegenüber v1 zwei zusätzliche Signale eingeführt. Insgesamt kommuniziert dein Banner also diese Zustände:

  • ad_storage — Cookies/Messung zu Werbezwecken
  • ad_user_data — Weitergabe von Nutzerdaten an Google zu Werbezwecken (neu in v2)
  • ad_personalization — personalisierte Werbung / Remarketing (neu in v2)
  • analytics_storage — Analytics-Cookies (GA4)
  • functionality_storage — funktionale Speicher (z. B. Spracheinstellungen)
  • security_storage — sicherheitsrelevante Speicher

Wichtig ist der Unterschied zwischen Basic und Advanced Consent Mode: Bei Basic werden Google-Tags vor der Einwilligung komplett blockiert (kein Ping, kein Load). Bei Advanced laden die Tags sofort im „denied"-Zustand und senden modellierte, anonyme Pings. Was du wählst, ist auch eine rechtliche Bewertung — Advanced bedeutet, dass Google-Server schon vor der Einwilligung kontaktiert werden.

Die drei Wege in WordPress

1. Consent-Management-Plattform (CMP) mit Consent-Mode-Support

Plugins wie Cookiebot, Complianz oder Borlabs Cookie bringen den Consent Mode eingebaut mit. Der Komfort ist real — aber du bekommst ein komplettes Consent-Framework mit Admin-Oberflächen, externen Regelwerken und nicht selten SaaS-Anbindung. Für eine einzelne WordPress-Site mit überschaubaren Diensten ist das häufig überdimensioniert: Du installiert ein Framework, um zwei Zeilen JavaScript zu erzeugen.

2. Manuelle Integration

Der Kern sind zwei Schritte: vor dem Google-Tag den Default setzen, und bei der Entscheidung des Besuchers den Zustand aktualisieren. Der Default kommt in den <head>, strikt vor dem eigentlichen gtag/GTM-Snippet:

<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',
  functionality_storage: 'granted',
  security_storage: 'granted',
  wait_for_update: 500
});
</script>

Nach der Einwilligung ruft dein Banner (oder dein Code) das Update auf:

gtag('consent', 'update', {
  ad_storage: 'granted',
  ad_user_data: 'granted',
  ad_personalization: 'granted',
  analytics_storage: 'granted'
});

Das ist die gesamte Mechanik. Der Rest — Banner-UI, Blocker für YouTube & Co., Consent-Nachweis, Widerruf-Möglichkeit — ist Fleißarbeit, keine Magie.

3. Schlankes Consent-Plugin

Die dritte Option liegt dazwischen: ein Plugin, das genau diese Mechanik kapselt, ohne externe Plattform. Offenlegung: Skit Consent ist unser eigenes Plugin — es setzt den Default serverseitig gerendert in den <head>, führt Updates nach Kategorie aus und blockiert eingebettete Dienste bis zur Einwilligung. Wer lieber selbst baut, findet in Variante 2 alles Nötige.

Einbindung über Google Tag Manager vs. gtag.js

Nutzt du den GTM, ändert sich nichts am Prinzip: Das Default-Snippet gehört trotzdem direkt in den <head> vor den GTM-Container — nicht als Tag im Container selbst, denn der würde zu spät feuern. In der GTM-Console aktivierst du unter Admin → Container Settings → Additional Settings die „Consent Overview". GA4-Tags respektieren die Consent-Signale automatisch; bei eigenen Tags prüfst du pro Tag unter Consent Settings, ob „Built-in Consent Checks" oder zusätzliche Checks nötig sind.

Nutzt du gtag.js direkt (ohne GTM), setzt du Default und Update wie oben gezeigt — mehr braucht die Integration nicht.

Verifizieren, dass es funktioniert

  • Tag Assistant: tagassistant.google.com mit deiner URL öffnen — unter „Consent" siehst du Default- und Update-Zustände pro Signal.
  • DevTools: In der Console dataLayer ausgeben — die Events consent mit default und später update müssen erscheinen.
  • Netzwerk-Tab: Vor der Einwilligung dürfen GA4-Requests kein gcs-Flag mit granted-Werten tragen; nach „Akzeptieren" ändern sich die Parameter.
  • Privates Fenster: Teste immer inkognito — sonst greift deine gespeicherte Einwilligung und du siehst nichts.

Die häufigsten Fehler

  • Default zu spät: Das Consent-Snippet steht nach dem GTM/GA-Tag — die Signale werden ignoriert.
  • Doppelte Default-Calls: Plugin setzt einen Default, eigenes Snippet einen zweiten — der letzte gewinnt, nicht immer der richtige.
  • Update ohne Kategorie-Logik: „Alle ablehnen" feuert trotzdem update: granted, weil das Event falsch verdrahtet ist.
  • Fehlende Widerruf-Möglichkeit: Technisch trivial (erneuter Consent-Call mit denied), rechtlich aber Pflicht — ein kleiner Consent-Button oder Footer-Link genügt.

Fazit

Consent Mode v2 ist kein Hexenwerk: Default vor dem Tag, Update nach der Entscheidung, sauber verifizieren. Die eigentliche Arbeit steckt im Rest — Banner, Blocker, Nachweis, Widerruf. Genau dafür bauen wir Skit Consent: die Mechanik oben ist darin fertig implementiert, ohne externe Dienste und ohne Abo.

Warteliste: Trag dich ein, wenn du beim Launch dabei sein willst — Early-Access-Infos und Launchpreis kommen per Mail.

Newsletter

Updates zu neuen Releases, Features und Divi-5-Tipps — kein Spam.

Wofür interessierst du dich? (optional)

[ WEITERLESEN ]

Mehr aus der Werkstatt.

[ 29. September 2026 ]

Wie viel Ladezeit kostet ein Cookie-Banner wirklich? Wo die Kosten entstehen (JS im kritischen Pfad, externe CMP-Server, CLS, Dritt-Fonts), wie du sie selbst misst — und die Checkliste für eine schnelle Lösung.

[ 30. September 2026 ]

WooCommerce ist für den Versandhandel gebaut — für Plugins, Themes und Downloads oft zu viel. Vendokit ist unser schlanker WordPress-Shop für digitale Produkte: Warenkorb, Kasse, Lizenzschlüssel und Support aus einem Plugin. Der Diviskit-Shop läuft schon damit.