Google Consent Mode v2: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Links == https://www.growganic.de/google-consent-mode/ - gute Einführung == Einführung == Mit Google Consent v2 möchte Google Datenschutzkonform werden…“)
 
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Links ==
 
== Links ==
 
  https://www.growganic.de/google-consent-mode/ - gute Einführung
 
  https://www.growganic.de/google-consent-mode/ - gute Einführung
 +
[[PrivacyWire_-_ProcessWire_Modul#Google_Consent_v2]]
  
 
== Einführung ==
 
== Einführung ==
Zeile 6: Zeile 7:
 
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.
 
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.
  
== Basics ==
+
== Überblick ==
 
+
=== Wichtige Parameter ===
 
 
=== Ü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.
 
Ü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
 
  analytics_storage // denied/granted - analytics sammelt Daten anonymisiert und eingeschränkt
Zeile 18: Zeile 16:
 
Es gibt noch weitere und das Ganze ist work in progress
 
Es gibt noch weitere und das Ganze ist work in progress
  
==== Basic vs. Advanced (Einwilligungsmodus) ====
+
=== Basic vs. Advanced (Einwilligungsmodus) ===
 
  https://support.google.com/google-ads/answer/10000067?hl=de
 
  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.
 
'''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.
Zeile 40: Zeile 38:
 
Hier findet sich eine Übersicht über die relevanten Parameter zum Einwilligungsmodus. Die benötigt man wenn man was programmieren möchte.
 
Hier findet sich eine Übersicht über die relevanten Parameter zum Einwilligungsmodus. Die benötigt man wenn man was programmieren möchte.
  
=== Implementierung ===
+
== Implementierung ==
==== Externe Anbieter ? ===
+
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.  
 
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
 
   https://developers.google.com/tag-platform/tag-manager/templates/consent-apis?hl=de
  
==== Lösung 1: Template für Google Tag Manager ====
+
=== 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:
 +
<pre>
 +
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
 +
</pre>
 +
 
 +
=== 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 60: Zeile 97:
 
* 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 ===
 +
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)
 +
<pre>
 +
// 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);
 +
</pre>
 +
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
  
=== Lösung 2: Eigner Code auf der Webseite ===
+
    Tag Assistant des Google Tag Managers
Todo
+
    GA4 & Google Ads
 +
    Netzwerk Tab des Browsers

Aktuelle Version vom 28. November 2024, 17:43 Uhr

Links[Bearbeiten]

https://www.growganic.de/google-consent-mode/ - gute Einführung
PrivacyWire_-_ProcessWire_Modul#Google_Consent_v2

Einführung[Bearbeiten]

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[Bearbeiten]

Wichtige Parameter[Bearbeiten]

Ü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)[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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 ?[Bearbeiten]

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[Bearbeiten]

  • 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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

  • 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[Bearbeiten]

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[Bearbeiten]

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