Google Consent Mode v2
Links
https://www.growganic.de/google-consent-mode/ - gute Einführung PrivacyWire_-_ProcessWire_Modul#Google_Consent_v2
Einführung
Mit Google Consent v2 möchte Google Datenschutzkonform werden. Google Consent v2 verlangt, dass der Google Tagmanager sogenannte Signals an Google schickt, je nachdem welche Optionen der User ausgewählt hat. Dementsprechend verspricht Google sich and die Datenschutzvorgaben zu halten. Aus sicht des Datenschützers fragwürdig aber typisch Google. Es löst zumindest das Problem, dass man oft nicht weiß, zu welchem Zweck der GTag gerade verwendet wird.
Überblick
Wichtige Parameter
Über Parameter im Data Layer können Website-Betreiber steuern, wie Google Analytics und Google Ads Daten basierend auf den Nutzereinwilligungen speichern und verarbeiten.
analytics_storage // denied/granted - analytics sammelt Daten anonymisiert und eingeschränkt ad_storage // denied/granted - Nutzung von Werbe-Cookies ad_user_data // neu in v2 - Nutzerverhalten wird gemessen oder anonymisiert verarbeitet ad_personalization // neu in v2 - personalisierte Werbung
Es gibt noch weitere und das Ganze ist work in progress
Basic vs. Advanced (Einwilligungsmodus)
https://support.google.com/google-ads/answer/10000067?hl=de
Basic bedeutet dass der Google Tag erst geladen wird, wenn der User zustimmt. So kommt ohne Zustimmung nichts bei Google an. Safe, aber für den Kunden unbefriedigend. Laut Google gehen 70% der User verloren.
Bei Advanced verwendet cookilose Pings und so werden anonymisierte Nutzerdaten erhoben.
Wenn man nicht wollte das Google einen Trackt musste man in seinem Google Konto dieses deaktivieren. Das ist eigentlich nicht DSGVO Konform. In V2 löst Google das anders. Die Idee ist, dass eine Website basierend auf den Cookie Banner Einstellungen Google informiert was die Wünsche des Users sind.
Es gibt zwei Modi:
Einfacher Einwilligungsmodus - das ist wie ein funktionierender Cookie Banner. Google bekommt nichts mit wenn jemand nicht einwilligt.
Erweiterter Modus - Google bekommt den Ping mit, überträgt aber (hoffentlich) keine Daten bis der User zugestimmt hat.
Basics zum neuen Consent V2
https://support.google.com/tagmanager/answer/13695607?hl=de (Änderungen beim Consent erklärt)
Im wesentlichen kommen Parameter dazu, mit denen man den Datenschutz steuern kann:
https://support.google.com/tagmanager/answer/13802165
Im Link oben steht was man Einstellen kann und was man beachten sollte.
https://support.google.com/tagmanager/answer/13802165
Hier findet sich eine Übersicht über die relevanten Parameter zum Einwilligungsmodus. Die benötigt man wenn man was programmieren möchte.
Implementierung
Im Wesentlichen geht es erstmal darum:
Wie kommt der passende GTAG Code für die Einwilligungszustände des Nutzers in die Website? Und wie werden sie aktualisiert?
Der Code kann über externe Anbieter geliefert werden. Man kann ihn selbst reinschreiben oder man kann den Google Tag Manger selbst nehmen und darüber den Code einschleusen (z.b. über ein Template).
Externe Anbieter ?
Google schlägt vor man solle eine CMP (consent management platform) nutzen. Also Cookie Bot o.ä. Allerdings verlangen diese mittlerweile um die 8 Euro aufwärts pro Monat. Es gibt aber auch die Möglichkeit selbst eine Lösung zu bauen.
https://developers.google.com/tag-platform/tag-manager/templates/consent-apis?hl=de
Voraussetzungen
- Tracking- und Marketing-Tags über den Google Tag Manager einbinden. Mit Hilfe des dataLayer schickt man die Parameter an die jeweiligen Google Dienste.
Einstellungen im Google Tag Manger
Wenn kein Template genutzt wird aber der Consent v2 Code richtig gesendet wird (siehe z.B. PrivacyWire Consent v2). Kann man im Tagmanager ganz normal Tags anlegen. Z.B. einen Standard Conversion Tag der von Seitenaufrufen getriggert wird:
Tag-Konfiguration Tag-Typ: Conversion-Verknüpfung Google Keine Konfiguration erforderlich. Verknüpfungen für alle Seiten-URLs aktivieren Trigger Auslösende Trigger :All Pages Seitenaufruf
Lösung 1: Code selbst implementieren
Für Entwickler vielleicht der einfachste und schnellste Weg. Man braucht dann halt auch nicht unbedingt Zugang zum Tag Manager. Für Beispiel Implementierung siehe
PrivacyWire_-_ProcessWire_Modul#Google_Consent_v2
Lösung 2: Template für Google Tag Manager
Googles vorgeschlagener Weg ist es Code über den Google Tagmanager einzuschleusen. Dafür soll man ein sog. Template im Google Tagmanager einrichten:
https://developers.google.com/tag-platform/tag-manager/templates/consent-apis?hl=de
Wenn ich das richtig verstehe ist das einfach ein Weg Code über einen Assistenten vorzukonfigurieren und ihn dann direkt über den Google Tagmanager auch in die Website zu injizieren.
Nachteile:
- Mehr Aufwand
- Zugang zu GTM erforderlich
Vorteile:
- Unit Tests -> mehr Sicherheit.
- Evtl. aktuellerer Code wenn er auf den Google Beispielen und Vorkonfigurationen basiert.
Man kann als Developer solche Templates auch der Community zur Verfügung stellen:
https://developers.google.com/tag-platform/tag-manager/templates/gallery?hl=de
Allgemeines Vorgehen zur Template Erstellung
- Neue Vorlage im Tagmanager anlegen
- Default Settings werden festgelegt (deny für alles)
- Implementierungscode eingeben. Im Link oben gibt es ein Beispiel das darauf beruht, dass es Cookies gibt die ausgelesen werden können. Um diese zu setzen könnte man in PrivacyWire z.B. Cookies mit einer Custom Funktion passend setzen.
- Der Code läuft in einer Google Sandbox, deshalb muss man ihm explizit Rechte zum Cookie lesen etc. zuweisen.
- Google schlägt vor noch Unit Tests für den Code zu erstellen. Link wie das geht ist in der Beschreibung von Google.
- Um die Vorlage einzubauen gibt es noch einen Codeschnipsel, der einen EventListener Callback enthält, der auf einen Consent Change wartet.
- Zu guter letzt veranlasst man sein eigenes Banner bei einem Wechsel der Benutzereinstellungen die Template Funktion updateConsentState aufzurufen. Man muss allerdings aufpassen, dass die Funktion auch schon geladen ist. Google schlägt vor erstmal 500ms zu warten.
Lösung 2: Anbieter
Die gängigen wie CookieBot oder Usercentric sind zertifizierte Consent Management Platforms (CMP) Im Endeffekt platziert man auch hier den Basiscode der Plattform (Beispiel Usercentric)
// set „denied" as default for both ad and analytics storage, as well as ad_user_data and ad_personalization,
gtag("consent", "default", {
ad_user_data: "denied",
ad_personalization: "denied",
ad_storage: "denied",
analytics_storage: "denied",
wait_for_update: 2000 // milliseconds to wait for update
});
// Enable ads data redaction by default [optional]
gtag("set", "ads_data_redaction", true);
Und je nach User Einstellung werden die Parameter dann vom Usercentrics Script angepasst. Die neuen Einstellungen werden als sogenannte Signals an Google gesendet.
Umsetzung prüfen
Prüfen, ob der Consent Mode korrekt eingerichtet wurde
Es gibt drei Möglichkeiten, wie du eine korrekte Implementierung des Consent Mode prüfen kannst:
https://www.youtube.com/watch?v=MqAEbshMv84
Tag Assistant des Google Tag Managers GA4 & Google Ads Netzwerk Tab des Browsers