Wie Sitecore Tracking & Cookie Consent in 2021 funktionieren

Bis Sitecore 9.3 ist für den Umgang mit dem Cookie Consent des Sitecore Analytics Cookies noch viel Individualentwicklung und Sitecore Know how erforderlich. Bei Interesse schaut gern mal hier in meinem alten Blog-Artikel.

Seit Sitecore 10 bietet Sitecore diese Funktionen endlich Out-of-the-Box an. Und so geht’s:

Einsatz des Consent Managers

Zunächst muss konfiguriert werden, dass die Zustimmung des Webseiten-Besuchers für das Tracking zwingend erforderlich ist. D.h. an der entsprechenden Site in Sitecore wird explicitConsentForTrackingIsRequired auf true gesetzt (siehe Sitecore Doku)

In einer SXA-Umgebung ist dafür unter Settings/Site Groupings an der entsprechenden Site der gleichnamige Parameter explicitConsentForTrackingIsRequired zu ergänzen:

Anschließend muss im Projekt noch dafür gesorgt werden, dass mit der Zustimmung bzw. dem Entzug der Zustimmung seitens des Webseiten-Besuchers, auch die entsprechenden Methoden der Consent Manager API von Sitecore aufgerufen werden: 

IConsentManager
   GiveConsent 
   RevokeConsent
   IsConsentRequired
   CanStartTracking

Dafür haben wir in unseren Projekten einen Standard Endpoint implementiert, welcher aus dem Frontend der jeweiligen Consent Management Plattform heraus jederzeit aufgerufen werden kann.

Tipps, Tricks & Stolpersteine

Irgendwas ist ja immer 😉

Rule ‘IsConsentGiven’

Personalisierungsfunktionen, die auf Tracking-Daten basieren, funktionieren ohne Cookie Consent nur bedingt. Daher ist es wichtig, dass auch redaktionell der Zustand vor und nach dem Cookie Consent mit einer entsprechende Bedingung zur Verwendung in der Rule Engine abgebildet werden kann. Dafür empfehle ich die Implementierung einer entsprechenden Rule:

Technisch verbirgt sich dahinter nichts anderes als eine sog. WhenCondition welche den Zustand des Cookie Consents abfragt (IConsentManager.CanStartTracking). 

Wechsel der Zustimmung

Beobachtung im Verlaufe meiner Tests: Sobald sich ein Besucher im Verlauf seiner Session einmal dazu entschieden hatte den Cookie Consent zu entziehen (also nach einem expliziten Aufruf von IConsentManager.RevokeConsent) wurden auch nach später Wieder-Zustimmung für diesen Besucher gar keine Visits mehr getrackt.

Das Verhalten und die Ursache konnte ich gemeinsam mit dem Support nachvollziehen. In der Methode IConsentManager.RevokeConsent wird der ContactSaveMode auf NeverSave gesetzt 

Tracker.Current.Session.Settings.IsTransient = true;
Tracker.Current.Contac.ContactSaveMode = ContactSaveMode.NeverSave;

und durch IConsentManager.GiveConsent nicht wieder zurückgesetzt.

Das wurde vom Support als Bug deklariert (Public reference: 468507) und als Lösung wurde vorgeschlagen entweder beim Entzug des Consents die Session zu löschen 

_consentManager.RevokeConsent(identifier);.
HttpContext.Current.Session.Clear();
HttpContext.Current.Session.Abandon();

oder den ContactSaveMode bei der Zustimmung zum Cookie zurückzusetzen:

_consentManager.GiveConsent(identifier);.
Tracker.Current.Contact.ContactSaveMode = ContactSaveMode.AlwaysSave;
Tracker.Current.Session.Settings.IsTransient = false;

Fazit

Auch mit der Consent Manager API bleibt das Thema der DSGVO-Konformität dauerhaft im Projekt bestehen und kann nie wirklich abgehakt werden. Jede Implementierung im Projekt bedarf der Überprüfung und muss ggf. ein Vorher/Nachher-Verhalten berücksichtigen.

Insbesondere die konzeptionellen und Datenschutz-rechtlichen Herausforderungen rund um die Nutzung von EXM und Marketing Automation und die Zustimmung zum Sitecore Analytics Cookie bleiben bestehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Dieses Formular speichert Deinen Namen, Deine E-Mail-Adresse sowie den Inhalt, damit wir die Kommentare auf unserer Seite auswerten und anzeigen können. Weitere Informationen findest Du in unserer Datenschutzerklärung.