Der Google Consent Mode – Web Analytics auch ohne Consent?

Seit 3. September gibt es ein neues Feature in der Google Marketing Platform: die Consent Mode API. Die Idee dahinter ist simpel: bevor Marketing- oder Tracking-Pixel aktiv werden, wird Google mitgeteilt, wozu ein Besucher seine Zustimmung gegeben hat. Und das bestimmt dann, wie tiefgehend Google Daten dieses Besuchers verarbeitet und Cookies setzt. Konkret gibt es zwei Dimensionen, die an die Consent Mode API übergeben werden:
  • analytics_storage für die Zustimmung zum Tracking
  • ad_storage für die Zustimmung zu Marketing Pixeln
Beide können die Werte ‘granted’ oder ‘denied’ annehmen. Wenn beide Zustimmungen gegeben wurden, dann funktionieren die Pixel der Google Marketing Platform und Google Ads wie gewohnt. Spannend wird es, wenn mindestens eine Zustimmung verwehrt wurde – sehen wir uns mal an, was dann passiert:

analytics_storage: denied

Ohne Analytics-Zustimmung werden Seitenaufufe und Events zwar erfasst, aber komplett anonymisiert und rein auf aggregierter Basis. Conversions oder andere Interaktionen können damit keiner Sitzung und keinem User zugeordnet werden, aber die Information, dass die Interaktion stattgefunden hat, steht in Google Analytics zur Verfügung. Eine Client ID wird nicht vergeben und, wenn schon vorhanden, nicht gelesen. In Sachen Attribution kann damit gemessen werden, woher die Besucher insgesamt kommen. Es kann also gemessen werden, wie viele User von einem Tweet auf die Website gekommen sind, aber nicht, was sie dann auf der Website gemacht haben.

ad_storage: denied

Das Setzen von Werbecookies wird unterbunden, bereits vorhandene Cookies werden nicht gelesen. Einzelne 3rd Party Cookies, die der Erkennung von Spammern und Klick-Betrügern dienen, werden aber noch gesetzt und verschickt. Die (anonymisierte) IP Adresse wird verschickt, um den Standort des Besuchers aggregiert zu erfassen, aber sofort danach wieder gelöscht. Im Zusammenhang mit analytics_storage: granted ist hier anzumerken, dass Informationen, die auf 3rd Party Cookies basieren, wie Google Signals samt demografischen Daten und User-Interessen nicht an Analytics übergeben werden.

ads_data_redaction: true

Zusätzlich zu ad_storage: denied kann mit dieser Anweisung die Handhabung von Marketing Pixeln noch strenger behandelt werden. Requests an Produkte der Google Marketing Platform und Google Ads werden über eine eigene Domain verschickt, wodurch das Auslesen von Cookies via Request header beim Endpunkt des Requests unmöglich wird. Die Click-Parameter von Doubleclick (dclid) und google Ads (gclid) werden bei den Requests nicht mit übergeben.

Und wie baue ich das auf meiner Website ein?

Voraussetzung für den Einsatz des Consent Modes ist, dass Tracking- und Marketing Tags über den gtag oder den Google Tag Manager eingebunden sind, denn die Consent Mode API nutzt den Datalayer um die Informationen zu speichern. Eingebaut werden muss das Ganze nativ auf der Website, und zwar vor der Einbindung des Google Tag Managers bzw. des Global Site Tags. Dabei wird zuerst eine Standardeinstellung gemacht, die gültig ist, solange kein Consent ausgelesen wurde. Dann erfolgt die Anpassung an die Consent-Einstellungen des Besuchers, sofern diese schon vorhanden sind. Zuletzt kann auf Änderungen der Consent Einstellungen reagiert werden. Der Code dafür kann dann auch über den GTM eingebaut werden.

Datalayer und gtag Initialisierung

Da die Consent Mode API vor dem Einbau von GTM bzw. gtag konfiguriert wird, müssen zuerst einmal der Datalayer und die gtag-Funktion erzeugt werden:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

Standardeinstellungen

Nun können wir die Standard-Einstellungen festlegen. In unserem Beispiel verweigern wir sowohl für Tracking als auch Marketing Pixel:
gtag('consent', 'default', {
  'ad_storage': 'denied',
  'analytics_storage': 'denied'
});
Wenn Sie die noch strengeren Regeln von ads_data_redaction anwenden wollen, ergänzen Sie den Code noch um folgende Zeile:
gtag('set', 'ads_data_redaction', true);

Regional unterschiedliche Standardeinstellungen

Da es weltweit unterschiedliche Regelungen für den Datenschutz gibt, ist es auch sinnvoll, die Standardeinstellungen an den Standort der BesucherInnen anzupassen. Zum Beispiel setzen wir die Standardeinstellungen für UserInnen aus der EU, Brasilien und Kalifornien auf ‘denied’ und für alle anderen auf ‘granted’.
gtag('consent', 'default', {
  'analytics_storage': 'granted',
  'ad_storage': 'granted'
});

gtag('consent', 'default', {
  'analytics_storage': 'denied',
  'ad_storage': 'denied',
  'region': ['US-CA', 'AT', 'BE', 'BG', 'BR', 'CY' .... ]
});
Die Landes- und Regionalkürzel entsprechen der ISO 3166-2 Richtlinie (Link).

Anpassen an die Consent Einstellungen der BesucherInnen

Im nächsten Schritt lesen wir eventuell schon vorhandene Consent-Einstellungen des Besuchers aus und passen die Consent Mode Dimensionen daran an. Hier beispielhaft für analytics_storage und User Centrics:
function getGAconsent () {
  var c = JSON.parse(localStorage.usercentrics);
  for(var i=0;i<c.consents.length;i++)
  {
    if(typeof c.consents[i].dataProcessors[0] == "string" && c.consents[i].dataProcessors[0] == "Google Analytics") // *1 s.u. 
    {
     return c.consents[i].consentStatus;
    }
  }
 return false;
}

if (getGAconsent()) {
  gtag('consent', 'update', {'analytics_storage': 'granted'});
}
*1 Passen Sie hier bitte den String “Google Analytics” an den tatsächlichen Namen ihres Consent Elements für das Tracking an, sollte dieser von unserem Beispiel abweichen. Für ad_storage funktioniert das sehr ähnlich. Die Consent Mode API unterscheidet hier nicht zwischen der Doubleclick-Welt und Google Ads. Holt man für beide Technologien einen eigenen Consent ein, muss nicht festgelegt werden, welcher Consent für das Setzen von ad_storage relevant ist. Aus datenschutzrechtlicher Sicht ist man auf jeden Fall auf der sicheren Seite, wenn man den Consent zu Ads UND Floodlights verlangt, um ad_storage auf granted zu setzen.

Cookiebot und One Trust

Cookiebot und One Trust wurden in Sachen Consent Mode schon recht früh von Google ins Boot geholt und haben dieses Feature bereits in ihre Tools integriert. Die Tools übernehmen dann die Update-Anweisung, WebsitebetreiberInnen müssen sich nicht darum kümmern.

Tracking verzögern

Es besteht nun die Gefahr, dass die Trackings zwischen Standard-Einstellungen und Auslesen des Consents gefeuert werden. In diesem Fall würden die entsprechenden Requests gemäß der Standardeinstellungen verschickt werden, nicht gemäß der tatsächlichen Consent-Einstellungen. Um diesem Fall vorzubeugen, kann bei den Standard-Einstellungen eine zusätzliche Wartezeit in Millisekunden definiert werden. Die von GTM oder gtag gefeuerten Tags werden dann um diese Wartezeit verzögert und geben damit dem Setup mehr Zeit, den Consent aus Cookies oder localStorage auszulesen.
gtag('consent', 'default', {
  'ad_storage': 'denied',
  'wait_for_update': 500  // milliseconds
});
Bitte beachten Sie, dass Änderungen mit der gtag – consent – update Funktion nur für die aktuelle Seite gelten. Beim Aufruf einer neuen Seite oder bei einem Seitenreload muss der Consent des Besuchers erneut ausgelesen werden.

Anpassungen an Consent-Änderungen

Bei Besuchern, die zum ersten Mal mit ihrem Browser auf der Website sind oder Besuchern, die ihre Einstellungen modifizieren, kann es während der Sitzung notwendig werden, die Settings für ad_storage und analytics_storage anzupassen. Auch dies geschieht mit der Update-Methode:
gtag('consent', 'update', {'ad_storage': 'granted'});
Die Anweisung ist die gleiche wie für das initiale Auslesen schon vorhandener Consent-Einstellungen. Der Unterschied ist lediglich, dass diese Anweisung auch im Google Tag Manager verbaut werden kann. Sollte während der Sitzung, nachdem schon mindestens 2 Seiten aufgerufen wurden, der Consent für Marketing gegeben werden, dann entsteht das Problem, dass die folgenden Seitenaufrufe zwar einer Trafficquelle, z.B. einer Ads Kampagne zugeordnet werden dürfen, aber nicht mehr können, weil der dafür nötige Parameter (utm_ oder gclid) nicht mehr in der URL aufscheint. Doch auch für diesen Fall hat Google vorgesorgt und eine weitere Einstellung für diesen Usecase vorgesehen:
gtag('set', 'url_passthrough', true);
Mit dieser Anweisung versieht der gtag alle internen Links auf der Website mit einem schon vorhandenen gclid, dclid oder gclsrc Parametern. Damit kann die Verknüpfung zur angeklickten Anzeige später noch hergestellt werden, wenn sich der Besucher doch noch entscheidet, seine Zustimmung zu Marketing Pixeln zu geben. Auch hier gilt, dass sich Nutzer von Cookiebot und One Trust nicht um diese Anweisung kümmern müssen, das Tool übernimmt diese Aufgabe automatisch.

Was muss ich jetzt tun?

Kurzfristig erstmal gar nichts. Wenn die Werte für ad_storage und analytics_storage nicht an Google übergeben werden, geht Google von ‘granted’ aus. Damit funktioniert ein bestehendes Tracking auch weiterhin ohne Anpassungen. Allerdings ist nicht auszuschließen, dass dieses Prinzip in naher Zukunft, zum Beispiel nach Ablauf der Beta-Phase, umgedreht wird. Also ohne Konfiguration wird für beide Dimensionen von ‘denied’ ausgegangen. Dieses Vorgehen würde dem Ziel der DSGVO eher entsprechen als die aktuelle Handhabe, die wohl eher als Übergangsphase zu sehen ist. Daher sollten schon jetzt Maßnahmen getroffen werden, um die Consent Mode API auf der Website einzubauen.

Kann ich Analytics ohne Consent einsetzen?

Da Analytics Requests bei analytics_storage: denied keine personenbezogenen Daten mehr übermitteln, sagen wir hier vorsichtig ja. Reine aggregierte Webstatistik erfordert schließlich keinen Consent und wir sehen hier die Anforderungen erfüllt. Dennoch sollten Sie dieses Thema mit Ihrem Datenschutzbeauftragten besprechen. Des weiteren müssen Sie Ihre Besucher in Ihrer Datenschutzerklärung ausführlich darüber informieren.

Fragen? Unsere Datenschutzexperten stehen Ihnen gerne mit Rat und Tat zur Seite! kontakt@e-dialog.at

Hinterlassen Sie einen Kommentar:

4 Kommentare zu “Der Google Consent Mode – Web Analytics auch ohne Consent?

  • Prima Artikel. Nur leider wird der kritische Punkt, warum man GA nicht mehr ohne Einwilligung nutzen kann, überhaupt nicht diskutiert: Schrems 2.

    Die Antwort auf die Frage oben “Kann ich Analytics ohne Consent einsetzen?” ist ganz klar und ohne wenn und aber: NEIN

    Mit dem EuGH Schrems 2 Urteil wurde höchstrichterlich festgehalten, dass jegliche Datenausleitungen in die USA ohne Rechtsgrundlage erfolgt und damit per se nicht stattfinden darf. Das gilt im Übrigen für ALLE tools aus USA, also auch Fonts, Maps, Videos, etc.

    Einziger rechtlicher sauberer Ausweg ist die informierte, freiwillige Einwilligung des Nutzers. Die kann aber leider auch nicht, wie bisher aussehen. Es muss vielmehr auf die besonderen Risiken des Datentransfers in ein unsicheres Drittland (USA) sowie die Zugriffsmöglichkeiten der US-Behörden auf die übermittelten Daten hingewiesen.

    Wie sowas korrekt aussieht, findet sich z.B. hier https://digimojo.de/

    • Hallo Herr Bennefeld,
      vielen herzlichen Dank für das positive Feedback!
      Die Konsequenzen aus Schrems II (und III-CIV :)) sind uns selbstverständlich bewusst. Dies bezieht sich auf personenbezogene Daten und genau dort setzt der Consent Mode an: Wenn keine Einwilligung vorliegt, werden auch keine personenbezogenen Daten übermittelt. Dadurch fließen in die Webanalyse nur mehr statistische Daten ein.
      Wie so oft im Datenschutz kommt es also im Einzelfall darauf an, welche Tools bzw. Prozesse wie umgesetzt werden.
      Es bleibt ein spannendes Thema.
      Mit besten Grüßen
      Eckart Holzinger

      • Hi Eckart,

        ich finde nicht dass es spannend bleibt sondern dass alles sauber geklärt ist.

        Der Punkt ist für mich gar nicht, was passiert, *nachdem* die zuständigen Google Skripte geladen sind. Das Problem beginnt doch schon in dem Augenblick, wo überhaupt ein Google Skript in die Website eingebettet wird. Dadurch wird der Browser angewiesen, das Skript bei Google herunterzuladen. Dabei wandert zwingend die IP-Adresse der Besuchermaschine an Google, sonst könnten die kein Skript zurückschicken. Wie das bei TCP/IP nun mal ist. Die IP-Adresse ist aber ein personenbezogenes Datum, das nicht ohne Einwilligung an Dritte übermittelt werden darf. D.h. der Benutzer müsste schon dem Laden des Analytics-Skripts zustimmen. Woraus wiederum folgt, dass Web-Analytics mit Google ohne Consent nicht möglich ist.

        Kannst du diese Argumentation wiederlegen? Das würde mir das Leben als Agentur-Inhaber und Berater sehr erleichtern.

        Liebe Grüße

        Tim