Shopify-Entwickler in Wiesbaden

Shopify-Entwickler für Shops in Wiesbaden: Cookie-Banner, Customer Privacy API, § 25 TDDDG und Google Consent Mode im Zusammenspiel, mit Prüfliste vor dem Start. Schriftlicher Umfang, individuelles Angebot.

Shopify-Entwickler

Mein Platz in der WordPress-Community

  • Mein wordpress.org-Konto besteht seit 2006.
  • Ich habe zum WordPress-Core in den Versionen 7.0 und 7.1 beigetragen.
  • Ich betreue 30 Plugins auf wordpress.org.
  • Ich organisiere WordCamps und trete dort als Speaker auf.
  • Ich war bei jedem WordCamp Europe von 2017 bis 2026 dabei.

Mein WordPress.org-Profil

#Warum Einwilligung der heikelste Teil eines Shops in Wiesbaden ist

Ich bin Mariusz Szatkowski, unabhängiger Shopify-Entwickler. Ein Shopify-Shop lädt Skripte aus mehreren Quellen: aus dem Theme, aus Apps und aus Pixeln, die jemand einmal eingetragen hat. Für Unternehmen in Hessen kontrolliert das der Hessische Beauftragte für Datenschutz und Informationsfreiheit (HBDI), der laut seiner Seite zu Handel, Gewerbe und Industrie die Einhaltung der Datenschutzregeln durch Handel, Handwerk und Industrie ständig überwacht.

Diese Seite behandelt eine Frage: Wie stellen Sie sicher, dass in Ihrem Shopify-Shop nichts Nicht-Notwendiges läuft, bevor ein Besucher zugestimmt hat, und wie bleibt die Messung danach brauchbar? Die Grundlage ist das Gesetz, die Umsetzung ist Technik.

Wagen der Nerobergbahn in Wiesbaden

Foto: Alexander Hoernigk, CC BY-SA 4.0, Wikimedia Commons.

#Was verlangt § 25 TDDDG von einem Shopify-Shop?

§ 25 TDDDG regelt zwei Dinge: das Speichern von Informationen im Endgerät und den Zugriff auf Informationen, die dort schon liegen. Beides ist nur zulässig, wenn der Endnutzer auf Grundlage klarer und umfassender Informationen eingewilligt hat (Absatz 1). Information und Einwilligung richten sich nach der DSGVO.

Absatz 2 Nummer 2 nimmt aus, was unbedingt erforderlich ist, damit ein ausdrücklich gewünschter digitaler Dienst bereitgestellt werden kann. Für einen Shop ist das der Warenkorb. Der HBDI nennt in seinen Fragen zu Cookies als technisch notwendig die Sitzungsverwaltung, etwa das Speichern eines Warenkorbs oder der Einwilligung im Cookie-Banner. Nicht notwendig sind demnach Cookies, die das Verhalten der Nutzenden auf der Website oder über mehrere Websites verfolgen. Diese brauchen eine ausdrückliche Einwilligung.

Für die Technik heißt das: Jede Zeile im Theme, in einer App und in den Shopify-Einstellungen, die etwas speichert oder ausliest, gehört in eine von zwei Spalten. Notwendig, dann darf sie sofort laufen. Nicht notwendig, dann darf sie erst nach der Zustimmung laufen. Ob eine bestimmte Funktion in Ihrem Shop unter die Ausnahme fällt, entscheidet Ihre Rechtsberatung, nicht ich.

#Was deckt das Shopify-Banner ab und was nicht?

Laut Shopify-Hilfe sind bei einem neuen Shop die automatisierten Datenschutzeinstellungen aktiv. Shopify richtet dann das Cookie-Banner für Besucher aus dem Vereinigten Königreich und dem EWR ein, sofern Sie dort aktive Märkte haben. Das Banner kann auf Storefront, Warenkorb, Checkout und Kundenkonto erscheinen. Wer nicht den automatischen Modus nutzt, wählt Regionen und Inhalt selbst.

Entscheidend ist ein Satz derselben Seite: Das Shopify-Banner regelt die Shopify-eigenen Werkzeuge, einschließlich Shopify Pixels. Haben Sie Cookies oder Pixel Dritter von Hand oder über Apps eingebaut, brauchen Sie womöglich ein Banner eines Drittanbieters oder eigene Logik, damit die Einwilligung dort ebenfalls gilt.

Nutzen Sie eine Banner-App, nennt Shopify drei Punkte:

  • Die Regionen in den Datenschutzeinstellungen und in der App müssen übereinstimmen. Sonst können nicht notwendige Daten vor der Zustimmung verarbeitet werden.
  • Das Banner soll Shopify namentlich nennen. Shopify liefert dafür einen Mustertext.
  • Die Datenschutzerklärung verlinkt die Verbraucher-Datenschutzerklärung von Shopify.

Wo der Checkout das Banner nicht zeigt, erreichen Kunden ihre Einstellungen über den Eintrag Cookie-Einstellungen im Footer-Menü.

#Wie funktioniert die Customer Privacy API?

Die Customer Privacy API ist eine JavaScript-Schnittstelle im Browser. Shopify nennt zwei Einsatzzwecke: Berechtigungen zur Datenverarbeitung prüfen und ein eigenes Cookie-Banner bauen. Sie muss zuerst mit loadFeatures geladen werden, danach liegt sie unter window.Shopify.customerPrivacy.

Vier Methoden beantworten, was gerade erlaubt ist. Sie verbinden laut Shopify die Händlereinstellungen, den Standort des Besuchers und seine Entscheidung:

MethodeZweck laut Shopify
preferencesProcessingAllowed()Präferenzen wie Sprache, Währung, Größe
analyticsProcessingAllowed()Analyse, wie die Storefront genutzt wird
marketingAllowed()Marketing, Attribution und gezielte Werbung des Händlers
saleOfDataAllowed()Weitergabe an Dritte, meist für verhaltensbasierte Werbung

Der Standardzustand hängt von Ihren Einstellungen ab. In Regionen mit Einwilligungspflicht sind nicht notwendige Zwecke laut Shopify standardmäßig erst nach der Einwilligung erlaubt. In den übrigen Regionen sind standardmäßig alle Zwecke erlaubt. Genau deshalb ist die Regionenliste so wichtig.

Ein Skript, das erst nach der Zustimmung starten soll, sieht in der Grundform so aus:

window.Shopify.loadFeatures(
  [{ name: 'consent-tracking-api', version: '0.2' }],
  (error) => {
    if (error) return;
    if (window.Shopify.customerPrivacy.analyticsProcessingAllowed()) {
      // Messung starten
    }
  }
);

document.addEventListener('visitorConsentCollected', (event) => {
  if (event.detail.analyticsAllowed) {
    // Messung starten, falls noch nicht geschehen
  }
});

Zwei Regeln aus der Dokumentation gelten für jede eigene Lösung. Erstens: Zustimmung wird nur auf eine Handlung des Besuchers hin gespeichert, etwa Klick auf Annehmen oder Ablehnen, nie automatisch an seiner Stelle. Zweitens: Shopify-Cookies nie direkt lesen oder ändern, sondern immer über die API, sonst bricht die Verarbeitung bei neuen Versionen. Mit currentVisitorConsent() sehen Sie die Entscheidung: yes, no oder ein leerer String, wenn noch nicht entschieden wurde.

Bei einer Headless-Storefront verweist Shopify auf Hydrogen Analytics and Consent. Das verwaltet die Sitzung serverseitig, sodass die Einwilligung über Seitenaufrufe hinweg gilt und im Checkout beachtet wird.

Wer Google-Tags im Shop nutzt, trifft auf Consent Mode. Google beschreibt ihn auf der Entwicklerseite so: Sie setzen einen Standardzustand und aktualisieren ihn nach der Interaktion des Besuchers. Zwei Aussagen dieser Seite bestimmen die Umsetzung im Shopify-Theme.

  • Reihenfolge: Der Standardbefehl gtag('consent', 'default', ...) muss auf jeder Seite vor allen Befehlen laufen, die Messdaten senden. Google schreibt, die Reihenfolge sei entscheidend, sonst greifen die Standardwerte nicht. Im Theme heißt das: zuerst der Standardzustand, dann das Google-Tag.
  • Speicherung: Consent Mode speichert Entscheidungen nicht. Die Aktualisierung muss sofort nach der Interaktion erfolgen, und nach einer Zustimmung muss die Wahl gespeichert und auf Folgeseiten erneut gemeldet werden.

Als Parameter nennt Google unter anderem ad_storage, ad_user_data, ad_personalization und analytics_storage. Die beiden mittleren kamen laut Google im November 2023 hinzu. Lädt Ihr Banner asynchron, steuert wait_for_update in Millisekunden, wie lange das Tag auf das Update wartet.

Welche Shopify-Kategorie welchen Google-Parameter bedient, legen Sie mit Ihrer Rechtsberatung fest. Mein Vorschlag im Angebot ist eine Tabelle, die ich Ihnen schriftlich vorlege, bevor ich etwas baue. Ob Sie Consent Mode in der einfachen oder der erweiterten Variante betreiben, hängt laut Google von den Richtlinien Ihres Unternehmens ab. Die Seite richtet sich an Entwickler, die eine eigene Einwilligungslösung betreiben: Consent Mode ergänzt sie, ersetzt sie aber nicht.

#Wie gestalte ich das Banner, ohne in die Irre zu führen?

Der HBDI nennt in seinen Cookie-Fragen zwei Maßstäbe, die ich direkt in die Umsetzung übernehme. Ein Banner darf nicht so gestaltet sein, dass es Nutzende zur bedenkenlosen Einwilligung in Verfolgung und Auswertung verführt. Und wird die Einwilligung abgelehnt, dürfen die entsprechenden Cookies nicht verwendet werden.

Die Gestaltung selbst kommt von Ihnen oder Ihrer Marke. Ich setze Farben, Texte und Reihenfolge der Schaltflächen um, die Sie mir liefern, und weise schriftlich darauf hin, wenn etwas davon nach den Aussagen des HBDI Probleme macht. Eine Rechtsprüfung ist das nicht.

#Was ist Shopify Network Intelligence, und was hat es mit dem Banner zu tun?

In den Einstellungen unter Datenschutz finden Sie Shopify Network Intelligence. Laut Shopify-Hilfe nutzt Shopify dabei Kundendaten Ihres Shops zusammen mit Daten anderer Händler, um Dienste zu betreiben, etwa eine bessere Ausspielung von Werbung. Die Hilfe sagt auch: Lehnt ein Kunde nicht notwendige Cookies über das Shopify-Banner oder eine korrekt an die Customer Privacy API angebundene Banner-App ab, werden seine Gerätedaten nicht für nicht notwendige Zwecke verwendet. Das gilt also nur, wenn die Anbindung stimmt. Ich lese die Einstellung aus, schreibe auf, ob sie aktiv ist, und lege es Ihnen vor, bevor ich etwas ändere.

#Prüfliste vor dem Start

Diese Liste können Sie auch ohne mich abarbeiten.

PrüfpunktWie
Frisches Browserprofil, keine Cookies gesetztShop öffnen, Cookies im Entwicklerwerkzeug lesen, vor jeder Entscheidung
Netzwerkanfragen vor der EntscheidungNur notwendige Anfragen, keine Anfragen an Werbe- oder Messdienste
currentVisitorConsent() vor dem KlickLeere Strings
Nach Ablehnenno, und die Cookies bleiben aus
Nach Annehmenyes, Skripte starten erst jetzt
RegionenGleiche Liste in Datenschutzeinstellungen und Banner-App
Cookie-Einstellungen im FooterLink vorhanden, Entscheidung lässt sich ändern
Checkout und KundenkontoBanner und Einstellungen auch dort geprüft
AppsJede App einzeln: lädt sie etwas vor der Zustimmung?
Google-TagStandardzustand vor dem Tag, Update nach dem Klick
DatenschutzerklärungNennt die tatsächlich geladenen Dienste und verlinkt Shopify
Core Web Vitals nach dem UmbauLCP bis 2,5 s, INP bis 200 ms, CLS bis 0,1, siehe web.dev

#Fragen aus Wiesbaden

Nur für die Shopify-eigenen Werkzeuge. Laut Shopify-Hilfe regelt das Banner Shopify-Cookies und Shopify Pixels. Haben Sie Skripte von Dritten von Hand oder über Apps eingebaut, brauchen sie ein eigenes Banner oder eigene Logik, die die Einwilligung beachtet.

#Muss das Banner auch ein Ablehnen anbieten?

Der HBDI schreibt in seinen Cookie-Fragen, ein Banner dürfe Nutzende nicht zur bedenkenlosen Einwilligung verführen. Lehnen Besucher ab, dürfen die betreffenden Cookies nicht verwendet werden. Wie die Schaltflächen im Einzelnen aussehen müssen, klärt Ihre Rechtsberatung. Ich baue, was sie festlegt.

Google beschreibt Consent Mode als Weg, die Einwilligung an die Google Tags weiterzugeben. Ob Sie ihn einsetzen, ist eine Entscheidung zwischen Ihnen, Ihrer Rechtsberatung und Ihrer Werbeplanung. Er ersetzt weder das Banner noch die Speicherung der Entscheidung.

#Was passiert, wenn Shopify-Banner und Banner-App andere Regionen abdecken?

Dann können laut Shopify-Hilfe nicht notwendige Daten verarbeitet werden, bevor ein Besucher zugestimmt hat. Deshalb gleiche ich die Regionen in den Datenschutzeinstellungen und in der App vor dem Start ab.

#Wie testen Sie, ob vor der Zustimmung wirklich nichts läuft?

Ich öffne den Shop in einem frischen Browserprofil, lese im Entwicklerwerkzeug die gesetzten Cookies und die Netzwerkanfragen vor jeder Entscheidung und frage die Customer Privacy API ab. Das Ergebnis steht in der Prüfliste, die Sie bekommen.

#Findet die Arbeit bei mir remote statt?

Nein. Ich arbeite remote und schriftlich. Fragen, Umfang, Annahmen und Abnahme laufen per E-Mail und in Dokumenten.

#Wie starten wir?

Schicken Sie mir die Adresse Ihres Shops, die eingesetzten Apps und Pixel, das Banner, das Sie heute nutzen, und Ihren Zeitplan. Daraus erstelle ich einen schriftlichen Umfang mit Annahmen und einem individuellen Angebot. Die erste Einschätzung ist kostenlos. Schreiben Sie mir über die Seite Kontakt. Das Leistungsbild insgesamt finden Sie auf der Seite Shopify-Entwickler.

Brauchen Sie die Leistung: Shopify-Entwickler in Wiesbaden?

Beschreiben Sie Ihr Projekt per E-Mail. Antwort innerhalb von 48 Stunden.

Projekt beschreiben

Weitere WordPress-Dienste und Wissensbasis entdecken