Ein GitHub-Repository mit dem Namen shopify-consent-dark-patterns macht seit dieser Woche die Runde in Entwicklerkreisen. Die zentrale Beobachtung des Autors: Auf jeder Shopify-Standard-Store wird eine E-Mail-Marketing-Einwilligung im Checkout dann als erteilt gespeichert, wenn Kundinnen und Kunden sie schlicht nicht aktiv abwählen. Kein Klick, keine Bestätigung – Schweigen gilt als Zustimmung. Das ist kein Bug. Es ist das dokumentierte Verhalten der Liquid-Templates für den Checkout.
Was genau passiert im Shopify-Checkout?
Shopify rendert die Newsletter-Opt-in-Checkbox im Checkout über das Template checkout.liquid beziehungsweise in neueren Themes über die customer.marketing-Struktur. Wer das Feld nicht anfasst, dessen Einwilligungsstatus wird beim Abschluss als accepts_marketing = true in der Kundendatenbank persistiert. In der Shopify-Admin-Oberfläche erscheint der Kontakt anschließend als „subscribed“.
Rechtlich relevant ist das spätestens seit dem EuGH-Urteil Planet49 (C-673/17) aus 2019: Eine Einwilligung erfordert eine eindeutige, bestätigende Handlung. Vorangekreuzte Kästchen oder Schweigen erfüllen das nicht. Für deutsche Händler kommt die DSGVO hinzu – Art. 4 Nr. 11 und Art. 7. Wer sich auf voreingestellte Zustimmung beruft, trägt die Beweislast. Und die lässt sich mit einem Datenbankfeld, das beim Nicht-Klicken „true“ setzt, kaum erbringen.
Warum betrifft das auch Nicht-Shopify-Shops?
Shopware 6, WooCommerce und Magento lösen das Problem teils anders, teils genauso. In Shopware 6 setzt das Standard-Newsletter-Formular das Consent-Feld nicht voraus – die Extension Newsletter Consent von Moori beziehungsweise individuelle Plugins übernehmen hier die saubere Trennung. Bei WooCommerce ist das Verhalten stark abhängig von der eingesetzten Mail-Plugin-Kombination (Klaviyo, Mailchimp for WooCommerce); einige setzen das Häkchen per Default, ohne dass Händler das beim Setup bemerken.
Die Zahlen untermauern die Praxisrelevanz: Eine Auswertung von rights-consent aus 2024 über 1.200 europäische Stores zeigt, dass 38 Prozent aller Newsletter-Anmeldungen ohne aktiven Klick zustande kommen. Die Abmeldrate dieser Kontakte liegt im Schnitt 4,7-mal höher als bei explizit bestätigten. Der vermeintliche Conversion-Vorteil der vorausgefüllten Checkbox schlägt also negativ auf die Zustellbarkeit der gesamten Liste durch.
Wie läuft ein sauberes Shopify-Consent-Setup ab?
Drei Schritte, die in jedem Shopify-Plan machbar sind, ohne den Checkout zu blockieren:
- Im Theme-Editor unter Checkout → Customer information die Option Show newsletter sign-up option deaktivieren oder auf unchecked stellen – die Einstellung ist pro Markt nicht automatisch klickbar.
- In Einstellungen → Kunden-Datenschutz (Settings → Customer privacy) das Banner von Shopify’s Customer Privacy API auf Opt-in setzen, nicht auf „implied consent“.
- Das Feld accepts_marketing in eigenen Customer-Exporten prüfen und bei Altbeständen aus 2023/2024 rückwirkend segmentieren, statt blind zu mailen.
Zur Nachrüstung für Shops, die den Checkout-Liquid-Code nicht selbst anfassen wollen, existiert die Shopify-App Pandectes GDPR Compliance, die den Consent-Flow auf Block-Ebene steuert. Für deutsche Rechtsberatung bleibt das aber nur ein technisches Hilfsmittel – die juristische Bewertung ersetzt sie nicht.
Warum ist die Verantwortung nicht an Shopify delegierbar?
Weil die DSGVO den Verantwortlichen benennt – also den Händler, nicht den Plattformbetreiber. Shopify tritt als Auftragsverarbeiter auf (siehe DPA im Admin unter Settings → Legal), nicht als gemeinsamer Verantwortlicher. Die Rechtsprechung zu Cookie-Bannern (LG Nürnberg-Fürth, 1 HK O 3681/20) hat klargestellt: Wer die technische Ausgestaltung wählt, haftet für den Default-Zustand.
Für Händler heißt das konkret: Die Audit-Pflicht liegt bei euch. Wer in den nächsten 14 Tagen seinen Shopify-Checkout prüft, findet in der Regel mindestens ein vorbelegtes Einwilligungsfeld. Wer es lässt, hat in einem Jahr eine E-Mail-Liste, deren Zustellbarkeit bei jedem ESP-Provider fragwürdiger wird – und ein Bußgeld-Risiko, das sich an der Zahl der betroffenen Kontakte bemisst. Besser jetzt das Feld deaktivieren als später die Liste bereinigen.
