Die Shopify Consent API bei Consent- und Tracking-Problemen

Viele kennen sie nicht, aber sie der Grund für die ein oder andere Komplikation beim Tracking von Shopify Shops: Die Shopify Consent API.

Was macht die Shopify Consent API?

Die Shopify Consent API ist eine Schnittstelle, die als Glied zwischen deinem Shopify Frontend (was deine Kunden sehen) und deinem Backend (was du benutzt) agiert, um Informationen zur Datennutzungs-Einwilligung (Status und Archivierung) eines Users zu speichern. Im besten Fall läuft die Nutzung der Consent API wie folgt ab:

  1. User stimmt der Nutzung von Statistik- und Marketing-Diensten über dein Consent Overlay zu.
  2. Das Consent Overlay übermittelt die Zustimmungsinfos via Consent API an deine Shop-Datenbank.
  3. Das Shopify Backend speichert diese Informationen ab.
  4. Dann lädt Shopify verschiedene Services wie z.B. Custom Web Pixels auf Basis dieser Consent-Entscheidungen. (Liegt keine Zustimmung vor, sollte im besten Fall nichts geladen werden.)
  5. Sollte der User seine Consent-Entscheidung im Laufe der Session (oder seiner Lifetime) ändern, kann diese Änderung auch via Consent-API zurückgespielt werden.

Wer tief im Tracking-Setup des Shopify Shops involviert ist, der kennt vielleicht die folgende Auswahl über einem Custom Web Pixel (Customer Events):

Shopify Custom Web Pixels Permission Settings

Die Ausspielung der Custom Pixels erfolgt aus Basis der Informationen – die Consent-Kategorien, die hier zu sehen sind – die an die Shopify Consent API übergeben werden. In diesem Fall muss die Information analytics = true vorliegen, damit das Script ins Frontend geladen wird.

Die Consent API Technologie ist notwendig, da Shopify sich nicht 1:1 mit deinem Consent Tool verbinden kann (es gibt zu viele da draußen) und das Shopsystem auch nicht bei jedem Seitenaufruf in einen Cookie reinschauen kann, um den Status zu entschlüsseln.

Consent-Übergabe an Shopify checken

Ob dein Shop die Consent API korrekt verwendet, kannst du ganz einfach checken. Und zwar im Console Tab deiner Browser-Tools. Hier am Beispiel der Chrome Console. Rufe dafür zuerst die Browser-Tools auf und wechsle in das Console-Tab. Gebe dann folgende Javascript Abfrage ein:

window.Shopify.customerPrivacy.currentVisitorConsent()

Heraus kommt ein Objekt, das Consent-Kategorie (marketing, analytics, preferences, sale_of_data) und die korrespondierende Nutzereinwilligung (yes, no) listet:

Shopify Consent API window Abfrage

Für dieses Beispiel habe ich allen Kategorien zugestimmt und meine Consent-Software (im Demoshop ist das Pandectes) hat die Informationen brav übergeben.

Mit diesem Befehl kannst du nun verschiedene Szenarien testen und zu jedem Zeitpunkt festellen, ob die Informationen korrekt an Shopify übergeben werden. Teste am besten:

  • Den Shopify Consent Status bevor du das Consent Banner bedient hast (alles auf ’no‘ oder leer “)
  • Nachdem du allem zugestimmt hast (alles auf „yes“)
  • Nachdem du nur bestimmten Dingen im Consent Overlay zugestimmt hast (‚yes‘ und ’no‘ Ausprägungen für die korrespondierenden Kategorien)
  • Bearbeite deine Consent-Entscheidung nachträglich und prüfe ob sich das Consent Objekt entsprechend der Änderung deiner Auswahl anpasst

Consent-Übergabe an Shopify steuern und manuell bearbeiten

Wer gerne gefährlich lebt und eine eigene Consent Lösung betreibt (oder eine Lösung ohne Bedienung der Shopify Consent API), der kann die Werte auch mit einem eigenen Script-Call setzen, bearbeiten und überschreiben. Dazu muss ein wenig Javascript zum jeweils passenden Zeitpunkt in den Browser des Users geladen werden. Dies geht entweder über den Google Tag Manager oder über das Shopify Theme selbst.

Die Codezeile setzt z.B. alle Permissions auf false / no / denied:

<script>
  window.Shopify.customerPrivacy.setTrackingConsent({
	analytics: false, 
	marketing: false, 
	preferences: false, 
	sale_of_data: false
  });
</script>

Wohingegegen diese Codezeile alle Kategorien der Verwendung erlaubt:
(Im besten Fall sind hier natürlich Variablen hinterlegt, die die tatsächlichen Infos aus der User-Session bereithalten)

<script>
  window.Shopify.customerPrivacy.setTrackingConsent({
	analytics: true, 
	marketing: true, 
	preferences: true, 
	sale_of_data: true
  });
</script>

Beachte, dass du beim setzen true und false verwenden musst, während du bei der Abfrage lediglich yes and no zurückbekommst.

Typische Probleme mit Tracking, Consent und Consent API

Nun haben wir bei THE BIG C Agency in den vergangenen Jahren einige Shopify Tracking Setups debugged und eingerichtet und dabei in machen Fällen Probleme im Zusammenhang mit der Consent API beobachtet (keine Sorge, es wird weniger). Typische Fehler beinhalten:

  • Die verwendete Consent Management Platform bedient die Shopify Consent API nicht. Das kann passieren und kommt vor allem vor, wenn die Software nicht auf Shopify spezialisiert ist. Dann werden manchmal alle Skripte oder gar keine Skripte geladen.
  • Die Permissions der Customer Events / Custom Web Pixels wird nicht korrekt konfiguriert. Manchmal werden zu viele Häckchen gesetzt, dann lädt nicht viel. Manchmal wird aber auch kein Haken gesetzt oder die falsche Kategorie verwendet.
  • Es findet kein Re-Flow bei Anpassung der Consent-Entscheidung statt. D.h. der User ruft das Consent Banner erneut auf, erlaubt / verbietet Kategorien und die API wird nicht erneut bedient.
  • Die Consent-Kategorien aus dem Consent-Banner sind inkorrekt auf die Felder in der Shopify-Datenbank gemappt.

Nahezu alle dieser Probleme haben einfache Fixes, wenn man erst einmal weiß, dass es die Shopify Consent API gibt und wie man sie debuggen kann.

Anmerkungen: Nordamerikansiche Unternehmen und europäischer Datenschutz

Ein kleiner Hinweis. Als kanadisches Unternehmen (mit deutschem Gründer) hat Shopify einen etwas anderen Bezug zu Datenschutz und Consent als Shop-Betreiber in der EU. Dinge wie die Consent-API sind in den vergangenen Jahren sehr spät und reaktiv eingeführt worden. Und auch die geringe Granularität der Kategorien zeigt, dass dies eher widerwillig geschehen ist und europäische Datenschutz-Regulatorik nicht das Prio 1 Thema im Kern-Markt Nordamerika ist.

Deshalb lohnt es sich für europäische Shop-Betreiber häufig zusätzliche Consent-Checks ins Tag Management und Webtracking-Deployment einzubauen. Im Zweifel ist das Interesse der Shopbetreiber an Datenschutz-Konformität hier größer als das des Plattform-Betriebers (Shopify). Gleiches gilt übrigens auch für Out-of-the-Box Tracking-Apps von Anbietern wie Google und Facebook, die direkt in Shopify installiert werden können. Diese liefern zwar direkt Daten, sind aber häufig eher rudimentär für europäisches Recht konfiguriert!