Wer braucht den Consent Mode v2 — und wer nicht?
Der Consent Mode v2 ist Googles Antwort auf verschärfte Datenschutzvorgaben. Unter dem Consent Mode versteht man nicht die Anzeige eines Cookie-Banners, sondern den Signal-Standard, mit dem Google erfährt, ob und wie getrackt werden darf.
Konkret geht es darum, dass Google-Dienste wie Google Ads und Google Analytics nicht mehr einfach so Daten erheben dürfen. Neu wird verlangt, dass sie über ein standardisiertes Einwilligungs-Framework wissen, ob und welche Daten verarbeitet werden dürfen. Obwohl gemäss Schweizer Datenschutzgesetz keine Cookie-Einwilligung nötig ist (danke dafür!), brät Google für die Schweiz keine Extrawurst und somit sind wir datenschutzrechtlich schon in der Europäischen Union. So schnell kann es gehen. Kurz: Nicht das Gesetz verpflichtet — Google tut’s.
Wer braucht den Consent Mode v2?
Alle, die:
- Google Ads (mit Conversion-Tracking oder Remarketing) nutzen, auch wenn die Ads nur in der Schweiz ausgespielt werden,
- Google Analytics einsetzen,
- oder langfristig auf Google-Dienste setzen wollen, die personalisierte Daten verarbeiten.
Wer braucht ihn nicht zwingend?
Websites mit reinem Schweizer Zielpublikum ohne Ads-Kampagnen und ohne Google Analytics. Das neue Schweizer Datenschutzgesetz verlangt, wie geschrieben, keine explizite Cookie-Einwilligung nach EU-Vorbild. Aber eben: Google Tools verlangen den Consent Mode v2, wenn mit ihnen Daten erhoben werden. Wer meinen Artikel zum neuen Schweizer Datenschutzgesetz aufmerksam gelesen hat, weiss, dass allein schon der Einsatz von Google Tools in der Schweiz auf dünnem Eis steht, da Google Daten ins datenschutzrechtlich unsichere Ausland (USA) spediert. Nur, das scheint (nicht ganz zu Unrecht) kaum jemanden zu interessieren.
Zusammengefasst: Google interessiert sich wenig für nationale Rechtslagen — sobald Ads oder Analytics im Einsatz sind, gelten die neuen technischen Anforderungen.
Google wäre nicht Google, wenn es einfach wäre
Wer sich das von Google als «Tipp» empfohlene Video «How to Install Consent Mode V2 (with GTM and Cookiebot)» oder die nett gemeinte Hilfestellung «Set up your consent banner with a Consent Management Platform or a Content Management System» anschaut, wird schnell mit einer Flut technischer Begriffe und Konfigurationsebenen konfrontiert. Aber so schnell lasse ich mich dann doch nicht abschrecken.
Consent Mode v2 ist kein Plugin, das man mit einem Klick aktiviert. Es ist ein Zusammenspiel mehrerer Tools und Technologien, namentlich zwischen:
- einem Consent Management Tool (CMP),
- dem Google Tag Manager,
- dem Google Site Kit (falls im Einsatz),
- und diverser Konfigurationen auf Code-Ebene.
Das Ganze ist also technisch einigermassen komplex (wen wunderts?), mässig bis schlecht dokumentiert und eine reibungslose Implementierung abhängig davon, wie Google-Dienste eingebunden sind. Selbst offizielle Tools wie Google Site Kit für WordPress stehen Googles Wunsch nach Consent gerne einmal im Weg.
Was man alles braucht — und warum ich das WordPress-Plugin Complianz gewählt habe
Google stellt freundlicherweise eine Liste mit möglichen CMP-Partnern zur Verfügung. Nach mehreren Tests habe ich mich für Complianz entschieden. Das WordPress-Plugin bietet:
- eine vollständige Consent-Mode-v2-Unterstützung (inkl. gtag(’consent’)-Signale),
- eine direkte Integration mit dem Tag Manager,
- eine Google-verifizierte Lösung laut offizieller CMP-Liste,
- und einen Assistenten, der auch technisch weniger versierte User durch das Setup führt, wobei das Setup des Plugins nicht das eigentliche Problem ist.
Ein zusätzlicher Vorteil: Complianz erkennt automatisch Konflikte mit Google Site Kit, ein Plugin, das ich gern und oft einsetze — und bietet konkrete Empfehlungen, wie man beide Tools koordiniert nutzt. Damit lässt sich der Consent Mode v2 auch in bestehenden Setups nachrüsten, ohne dass gleich alle aufeinander abgestimmten Google-Tools auseinanderfallen.
Last but not least bietet Complianz zwei sehr gute Schritt-für-Schritt-Anleitungen, die wirklich hilfreich waren, auch wenn ich sie natürlich viel zu spät gefunden habe: «Simplified Guide to Google Consent Mode v2» und «A Complete Guide to Install Site Kit and Configure Google Consent Mode with Complianz». Damit gelingt die Implementierung auch ohne einen Deep Dive in den Google Tag Manager, wie er im oben erwähnten Video getätigt wird.
Die gute Nachricht für mich und alle anderen, die sich längst an die Google-Chrome-Extension «I don’t care about cookies» gewöhnt haben und deren Funktion zur Verbannung wohl EU-konformer, aber dennoch ultimativ nerviger und immer umfangreichender werdenden Cookie-Balken nicht mehr missen wollen: Es unterdrückt auch die Anzeige des Complianz-Cookie-Banners zuverlässig. Aber das ist ein anderes Thema.
Mein Fazit nach den ersten zwei Implementierungen
Ich habe den Consent Mode v2 nun auf zwei WordPress-Sites mit völlig unterschiedlichem technischem Unterbau eingerichtet (bluebird.ch und clix.ch), jeweils als Vollintegration mit Google Ads, GTM und Site Kit.
Der Aufwand war nicht unbeträchtlich, besonders bei der ersten Website — die Sache mit der Lernkurve ist bei Google-Tools doch immer wieder überraschend intensiv. Aber am Ende hat sich das Ergebnis gelohnt: rechtssichere Einbindung, transparente Datenverarbeitung — und ein Gefühl technischer Klarheit für die Umsetzung auf weiteren Websites. Ein Gefühl, das man bei Google-Tools leider nicht allzu oft hat.
Postscriptum
Als besonders hilfreich empfand ich das im Complianz-Artikel eingefügte Script, um die Funktionstüchtigkeit des Consent Mode direkt in der Browser-Konsole zu prüfen — also ganz ohne fünf der sieben Siegel des Google Tag Managers öffnen zu müssen. Ich hoffe, dieser Erfahrungsbericht hilft anderen, sich durch das Google-Gestrüpp etwas weniger allein zu fühlen.
(() => {
l = s => s == undefined ? "" : s ? "granted" : "denied";
c = s => s == "granted" ? "color: #29b6f6": "color: #C00";
if (!"google_tag_data" in window) {
console.log("No Consent Mode data found, please check your Complianz settings.");
return;
}
var g = google_tag_data.ics.entries, i = "", t = "", u = "";
for (var a in g) {
i = l(g[a]['initial']);
u = l(g[a]['update']);
if (i == "" && u == "") continue;
t = ("\t" + a + ":" +
(i != "" ? "\n\t\tDefault: %c" + i : "%c") + "%c" +
(u != "" ? "\n\t\tUpdate: %c" + u : "%c"));
console.log(t, i != "" ? c(i) : "", "", u != "" ? c(u) : "", "");
}
if (i == "") console.log("");
})();