Google Consent Mode v2: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 54: Zeile 54:
 
==== Einstellungen im Google Tag Manger ====
 
==== Einstellungen im Google Tag Manger ====
 
  TODO
 
  TODO
=== Lösung 1: Template für Google Tag Manager ===
+
=== 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:
 
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
 
  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:
 
Man kann als Developer solche Templates auch der Community zur Verfügung stellen:
Zeile 68: Zeile 83:
 
* Google schlägt vor noch '''Unit Tests''' für den Code zu erstellen. Link wie das geht ist in der Beschreibung von Google.
 
* 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.  
 
* 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 Optionen '''updateConsentState''' aufzurufen. Man muss allerdings aufpassen, dass die Funktion auch schon geladen ist. Google schlägt vor erstmal 500ms zu warten.
+
* 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 ===
 
=== Lösung 2: Anbieter ===

Version vom 17. Mai 2024, 12:18 Uhr

Links

https://www.growganic.de/google-consent-mode/ - gute Einführung

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

TODO

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