For the complete documentation index, see llms.txt. This page is also available as Markdown.

4. Einwilligung & Consent-Tools

Die Gast-Wunschliste speichert Produkte im Browser des Besuchers (localStorage) und ist deshalb an eine Einwilligung gekoppelt. Woher das Plugin diese Einwilligung liest, legen Sie selbst fest — vom Shopware-eigenen Cookie-Banner bis zur Anbindung an ein externes Consent-Management-Tool (CMP).

Alle Einstellungen dieser Seite finden Sie unter Erweiterungen → Meine Erweiterungen → Erweiterte Wunschlisten → ··· → Konfiguration.

Diese Seite betrifft ausschließlich Gast-Besucher. Eingeloggte Kunden speichern ihre Wunschlisten serverseitig in ihrem Kundenkonto — dort findet keine Einwilligungsprüfung statt.


Die Einwilligungsquelle wählen

Das Feld Einwilligungsquelle im Bereich Gast-Wunschliste bestimmt, woher der Einwilligungsstand kommt:

Einwilligungsquelle
Einwilligung kommt von
Plugin-Cookie im Shopware-Banner

Shopware-Cookie-Banner (Standard)

Shopwares eigenem Cookie-Banner, Kategorie „Komfortfunktionen“

ja

Fremdes Cookie (Consent-Management-Tool)

Einem Cookie Ihres Consent-Tools, ausgewertet über einen konfigurierbaren Vergleich

nein

Eigene Anbindung (JavaScript-API)

Ausschließlich einem kleinen JavaScript-Baustein in Ihrem Theme

nein

Keine Einwilligungsprüfung

Nirgendwoher — die Gast-Wunschliste ist ohne Prüfung aktiv

nein

Zwei Punkte, die häufig für Rückfragen sorgen:

  • Die Einstellung gilt shopweit, nicht pro Verkaufskanal. Shopware ruft den Cookie-Provider des Plugins ohne Verkaufskanal-Kontext auf; eine kanalweise Einstellung ließe sich dort nicht berücksichtigen. Damit Cookie-Banner und Storefront niemals auseinanderlaufen, lesen beide denselben globalen Wert.

  • Die Einstellung „Gast-Wunschliste aktivieren“ gewinnt immer. Ist die Gast-Wunschliste deaktiviert, ist sie in allen vier Quellen aus. Die Einwilligungsquelle entscheidet nur, wie die Einwilligung erkannt wird — nie, ob die Funktion überhaupt existiert.

In allen Quellen außer Shopware-Cookie-Banner meldet das Plugin sein Cookie bewusst nicht mehr in Shopwares Cookie-Banner an. Andernfalls stünde dort ein Cookie deklariert, das die Storefront nie verwendet.


Ohne weitere Konfiguration erscheint das Plugin-Cookie in Shopwares Cookie-Banner unter Komfortfunktionen. Akzeptiert der Besucher diese Kategorie, wird die Gast-Wunschliste sofort freigeschaltet — ein Seitenwechsel oder Neuladen ist nicht nötig. Das Wunschlisten-Element erscheint unmittelbar nach dem Speichern der Cookie-Auswahl.

Für die meisten Shops ist das die richtige Wahl und es sind keine weiteren Einstellungen nötig.


Setzen Sie statt Shopwares Banner eine Consent-Management-Plattform ein, kann das Plugin deren Cookie direkt auswerten. Dafür sind drei Felder zuständig:

Feld
Bedeutung

Name des Einwilligungs-Cookies

Cookie, das gelesen wird, z. B. CookieConsent

Vergleichsverfahren für das Einwilligungs-Cookie

Exakte Übereinstimmung, Enthält oder JSON-Pfad

Vergleichswert bzw. JSON-Pfad des Einwilligungs-Cookies

Vergleichswert oder — beim JSON-Pfad — der Pfad ins Cookie

Die drei Vergleichsverfahren:

  • Exakte Übereinstimmung — Der Cookie-Wert entspricht exakt dem Vergleichswert (Groß-/Kleinschreibung wird beachtet).

  • Enthält — Der Vergleichswert kommt irgendwo im Cookie-Wert vor. Das richtige Verfahren für Tools, deren Cookie ein lesbarer Text und kein gültiges JSON ist.

  • JSON-Pfad — Der Cookie-Wert wird als JSON gelesen und der Vergleichswert als durch Punkte getrennter Pfad (z. B. consents.comfort) hineinverfolgt. Als erteilt gilt nur true, 1, "1" oder "true".

Cookie-Namen und -Strukturen legen die Hersteller der Consent-Tools fest und können sich mit jeder Version ändern. Die folgenden Werte sind Ausgangspunkte, keine Zusicherungen — prüfen Sie sie in den Entwicklerwerkzeugen Ihres Browsers gegen Ihre eigene Installation.

Tool
Einwilligungsquelle
Cookie
Vergleichsverfahren
Wert

Cookiebot

Fremdes Cookie

CookieConsent

Enthält

preferences:true

Borlabs Cookie

Fremdes Cookie

borlabs-cookie

JSON-Pfad

z. B. consents.comfort

CCM19

Fremdes Cookie

Embedding-ID-Cookie Ihres Shops

Enthält

Kennung der freigegebenen Gruppe

Usercentrics

Eigene Anbindung

Hinweise dazu:

  • Cookiebot schreibt einen Wert, der wie JSON aussieht, aber keines ist. Verwenden Sie deshalb Enthält, nicht den JSON-Pfad.

  • Borlabs Cookie legt die Gruppenbezeichnung im Pfad fest; sie hängt von der Benennung in Ihrem Shop ab. Öffnen Sie das Cookie einmal im Browser und lesen Sie den tatsächlichen Pfad ab.

  • Usercentrics hält die Einwilligung in seiner JavaScript-Schnittstelle und nicht in einem stabil lesbaren Cookie. Hier ist die Eigene Anbindung der einzige verlässliche Weg.

Wenn nichts erscheint

Der Abgleich schlägt bewusst still fehl — ohne Meldung in der Browser-Konsole. Jede Fehlkonfiguration (leerer Cookie-Name, leerer Vergleichswert, unlesbares JSON, ins Leere laufender Pfad) führt zu „nicht erteilt“. Das Symptom ist eindeutig: Die Gast-Wunschliste erscheint nicht. Prüfen Sie in diesem Fall Cookie-Name, Verfahren und Vergleichswert gegen den tatsächlichen Cookie-Inhalt in Ihrem Browser.

Ist das konfigurierte Cookie überhaupt nicht vorhanden, wertet das Plugin dies nicht als Ablehnung — ein Consent-Tool, das noch lädt, hat schlicht noch kein Cookie geschrieben.


Eigene Anbindung (JavaScript-API)

Lässt sich Ihr Consent-Tool nicht über ein Cookie auslesen, binden Sie es über eine kleine JavaScript-Schnittstelle an. Das Plugin liefert bewusst keine tool-spezifischen Adapter mit — es stellt nur den Anschlusspunkt bereit; die wenigen Zeilen Glue-Code leben in Ihrem Theme.

Dieser Abschnitt richtet sich an Entwickler bzw. Ihre Agentur. Für die Anbindung ist ein eigenes Theme bzw. Plugin erforderlich.

Der Bridge-Block

Das Plugin stellt einen leeren, überschreibbaren Twig-Block bereit. Legen Sie in Ihrem Theme eine Erweiterung von storefront/base.html.twig an:

Beispiel für Usercentrics:

Fertige Bausteine für Cookiebot und Borlabs Cookie finden Sie in der README.md des Plugins.

Die Schnittstelle window.MomoWishlistConsent

Methode
Verhalten

set(granted)

Erteilt oder widerruft die Einwilligung. Entspricht der übergebene Wert dem aktuellen Zustand, wird keine Änderung gemeldet. set(false) löscht Cookie und gespeicherte Wunschliste dennoch bei jedem Aufruf und bleibt damit ein verlässlicher harter Schnitt.

isGranted()

Liefert den aktuell aufgelösten Einwilligungsstand.

onChange(callback)

Registriert einen Listener und liefert eine Abmeldefunktion zurück.

registerResolver(funktion)

Registriert eine Abfrage, die true, false oder null (keine Aussage) liefern darf.

refresh()

Erzwingt eine sofortige Neuauswertung aller Abfragen.

Die Schnittstelle steht ab dem ersten Moment im <head> bereit — auch sehr frühe Aufrufe eines Consent-Tools gehen nicht verloren, sie werden zwischengespeichert und beim Laden des Themes nachgeholt.

Auswertungsreihenfolge: Liefert irgendeine Abfrage true, gilt die Einwilligung als erteilt. Andernfalls: liefert irgendeine Abfrage false, gilt sie als verweigert. Enthalten sich alle, entscheidet das plugin-eigene Consent-Cookie. Ein true gewinnt bewusst gegen jedes false — eine Abfrage, die true meldet, hat eine Einwilligung positiv beobachtet, während false oft nur bedeutet, dass sie noch keine bestätigen konnte. Daraus folgt eine Regel für Ihren Glue-Code: Nach einem Widerruf darf keine Abfrage weiterhin true melden. Die Folge hängt davon ab, wie der Widerruf das Plugin erreicht:

  • Über set(false) — das Consent-Cookie und die gespeicherte Gast-Wunschliste werden zunächst gelöscht, doch die anschließende Neuauswertung sieht das veraltete true und erteilt die Einwilligung sofort wieder. Der Widerruf hält also nicht: Es wird keine Änderung gemeldet, und der Besucher kann umgehend neue Artikel speichern.

  • Nur über eine Neuauswertung (Shopwares Cookie-Banner, Rückkehr in den Browser-Tab) — durch das veraltete true wird gar keine Änderung erkannt, es läuft keine Aufräumaktion und die gespeicherten Daten bleiben erhalten.

Melden Sie false bei einer ausdrücklichen Ablehnung — oder wenn der Einwilligungsstatus, den Sie auslesen, zwar vorliegt, aber kein Ja enthält. Melden Sie null, wenn Sie sich keine Meinung bilden können: Ihr Consent-Tool ist noch nicht fertig geladen oder der Wert wurde noch nicht geschrieben. Dieselbe Regel befolgt die eingebaute Cookie-Auswertung der Quelle Fremdes Cookie — und deshalb gilt ein fehlendes Cookie als Enthaltung, nicht als Ablehnung.

Cookie-Name, Gültigkeitsdauer und die aktive Einwilligungsquelle werden für Ihren Glue-Code als Data-Attribute am Element [data-momo-guest-wishlist-storage] ausgegeben. Lesen Sie die Werte von dort, statt sie fest zu verdrahten.


Keine Einwilligungsprüfung

In dieser Quelle ist die Gast-Wunschliste ohne jede Prüfung aktiv. Das ist sinnvoll, wenn Ihre Einwilligungsverwaltung vollständig außerhalb von Shopware stattfindet und Sie die Funktion an anderer Stelle steuern.

Beachten Sie: Keine Prüfung heißt „kein Tor“, nicht „Einwilligung erteilt“. Es gibt keinen Einwilligungsstand, der widerrufen werden könnte — ein set(false) bleibt in dieser Quelle wirkungslos. Prüfen Sie Ihren Glue-Code deshalb nie in dieser Einstellung, sondern in der Quelle, die Sie produktiv einsetzen wollen.


Verhalten ohne Einwilligung

Liegt keine Einwilligung vor, bestimmt das Feld Wunschlisten-Element ohne Gast-Einwilligung im Bereich Storefront-Erscheinungsbild, was der Besucher sieht. Diese Einstellung ist — anders als die Einwilligungsquelle — pro Verkaufskanal konfigurierbar.

  • Element ausblenden (Standard) — Das Wunschlisten-Symbol bzw. die Schaltfläche wird gar nicht angezeigt. Bestehende Installationen verhalten sich nach einem Update unverändert.

  • Element anzeigen und Einwilligung anfragen — Das Element bleibt sichtbar, ist aber inaktiv. Klickt der Besucher darauf, öffnet sich Shopwares Cookie-Einstellungen-Dialog. Ist dieser nicht verfügbar (etwa weil Sie ein externes Consent-Tool einsetzen), erscheint stattdessen ein ausblendbarer Hinweis, dass für die Wunschliste eine Einwilligung nötig ist.

In keinem Fall wird ein Produkt gespeichert, solange keine Einwilligung vorliegt. Das Element meldet niemals eine erfolgreiche Speicherung, die nicht stattgefunden hat. Auch nach nachträglich erteilter Einwilligung wird der zuvor angeklickte Artikel nicht automatisch nachgetragen — der Besucher klickt einfach erneut.

Der Hinweistext folgt Ihrem gewählten Terminologie-Preset und lässt sich unter Einstellungen → Textbausteine über den Schlüssel momoAdvancedWishlists.storefront.consent.requiredHint anpassen.

Die Einstellung greift nicht, wenn die Gast-Wunschliste deaktiviert ist, wenn die Einwilligungsquelle auf Keine Einwilligungsprüfung steht oder wenn die Schaltflächenposition in Produktkacheln auf Keine Schaltfläche gesetzt ist.


Widerruf der Einwilligung

Widerruft ein Besucher seine Einwilligung, löscht das Plugin sofort:

  • das plugin-eigene Consent-Cookie

  • die im Browser gespeicherte Gast-Wunschliste (localStorage)

Die Gast-Wunschliste ist danach leer, und der Zähler im Header aktualisiert sich ohne Neuladen der Seite. Das gilt gleichermaßen für einen Widerruf über Shopwares Cookie-Banner und über die JavaScript-Schnittstelle.

Ein Wechsel der Einwilligungsquelle löscht dagegen nie Daten. Wechseln Sie beispielsweise von Shopware-Cookie-Banner auf Fremdes Cookie, bleiben Besucher mit einem noch gültigen Plugin-Cookie zunächst freigeschaltet — dieses Cookie dient weiterhin als Rückfallebene. Möchten Sie einen harten Schnitt, setzen Sie im Bridge-Block einmalig window.MomoWishlistConsent.set(false).


Wann die Einwilligung geprüft wird

Das Plugin fragt den Einwilligungsstand nicht in regelmäßigen Abständen ab. Ausgewertet wird:

  • beim Laden der Seite

  • wenn Shopwares Cookie-Banner eine geänderte Auswahl speichert

  • wenn der Besucher zum Browser-Tab zurückkehrt

  • bei einem ausdrücklichen refresh() aus Ihrem Glue-Code

Dadurch wirken Änderungen sofort und ohne Neuladen der Seite — das Wunschlisten-Element erscheint bzw. verschwindet unmittelbar.

Last updated