Mehrstufige Warenkorbabbruch-Recovery: vollständige Anleitung
Warenkorbabbruch-Recovery installieren, einrichten und betreiben: mehrstufige E-Mail-Sequenzen im Shop-Design, gestaffelte Gutscheine, Warenkorb-Wiederherstellung per Klick, Zielgruppen und Statistiken pro Stufe für PrestaShop 8 und 9.
Überblick
Das Modul Mehrstufige Warenkorbabbruch-Recovery (datafireflycartrecovery) erkennt abgebrochene Warenkörbe und kontaktiert Ihre Kunden mit einer Folge geplanter E-Mails. Jede Stufe hat eine eigene Verzögerung, Inhalte pro Sprache und einen optionalen Gutschein, dessen Anreiz von Stufe zu Stufe steigen kann. Über einen signierten Link holt der Kunde seinen Warenkorb mit einem Klick zurück, Gutschein bereits angewendet, und das Dashboard misst den tatsächlich zurückgewonnenen Umsatz Stufe für Stufe.
Im Durchschnitt werden fast 7 von 10 Warenkörben vor der Bezahlung abgebrochen. Eine gut eingestellte Sequenz (eine einfache Erinnerung, dann ein moderater Rabatt, dann ein stärkeres Angebot mit Gratisversand) holt einen Teil dieses Umsatzes ohne manuellen Aufwand zurück.
Kompatibilität
- PrestaShop 8.0 bis 9.x
- PHP 8.1 bis 8.3
- Einzelshop und Multishop (Kampagnen, Warenkörbe und Statistiken pro Shop getrennt)
- Oberfläche: FR, EN, ES, DE, IT, PL
- E-Mail-Vorlagen: FR, EN, ES, DE, IT, PL, NL. Jede weitere installierte Sprache erhält automatisch eine bearbeitbare Kopie der englischen Vorlage.
- Kompatibel mit dem offiziellen DSGVO-Modul
psgdpr - PSR-4-Architektur ohne Composer, keine externen Abhängigkeiten
Installation
- Öffnen Sie im Backoffice Module > Modulmanager.
- Klicken Sie auf Modul hochladen und wählen Sie
datafireflycartrecovery.zip. - Klicken Sie auf Konfigurieren, um die allgemeinen Einstellungen und das Aussehen der E-Mails festzulegen.
- Richten Sie die geplante Aufgabe ein (nächster Abschnitt) und senden Sie sich eine Test-E-Mail aus einer Stufe.
Die Installation legt die Tabellen des Moduls an, registriert seine Hooks, fügt den Tab Warenkorb-Recovery hinzu und erstellt eine Standardkampagne mit drei Stufen: +1 Std. (einfache Erinnerung), +24 Std. (Gutschein -5 %) und +72 Std. (Gutschein -10 % und Gratisversand).
Update von einer früheren Version
Laden Sie das neue ZIP hoch: Die Update-Skripte laufen automatisch.
- Auf 1.3.5: Der Erinnerungsgutschein lässt sich nicht mehr mit einem anderen Gutscheincode kombinieren. Das Skript registriert zwei neue Hooks. Keine Änderung an der Datenbank.
- Auf 1.3.4: behebt eine leere Seite „If no employee is assigned in the context, cart ID must be provided to this method“, wenn ein Warenkorb außerhalb einer Shop-Sitzung gespeichert wird (Webservice, Connector, Zahlungs-Webhook, Skript), den Button „Jetzt senden“ außerhalb des Versandzeitfensters und verschobene Fälligkeiten, wenn der MySQL-Server nicht die Zeitzone des Shops verwendet. Keine Änderung an der Datenbank.
- Auf 1.3.1: behebt den Fehler 500 der Cron-URL unter PrestaShop 8. Keine Änderung an der Datenbank.
- Auf 1.3.0: fügt Zielgruppen nach Gruppen und Kategorien sowie die Einstellungen für das Aussehen hinzu. Die E-Mails erhalten einen weißen Kopfbereich mit dem Shop-Logo, das ursprüngliche Blau bleibt die Akzentfarbe. Anpassung bei Bedarf unter Aussehen der E-Mails.
- Auf 1.2.0: registriert die neuen Hooks (DSGVO, E-Mail-Header, neue Sprache) und legt fehlende E-Mail-Vorlagen für die installierten Sprachen an.
War Ihr Shop auf 1.1.0, ordnet das Update Warenkörbe neu zu, die fälschlich als zurückgewonnen gezählt wurden (Bestellungen ohne jede Erinnerungs-E-Mail). Der angezeigte zurückgewonnene Umsatz sinkt: Das ist der korrekte Wert. Testen Sie das Update vor der Produktion auf einem Staging-Shop.
Geplante Aufgabe (Cron)
Das Modul arbeitet in regelmäßigen Durchläufen, ausgelöst über eine per Token gesicherte URL. Bei jedem Durchlauf:
- Scan: Warenkörbe, die länger als die Abbruchverzögerung inaktiv sind, werden geprüft (Zielgruppen, Sperrfrist) und ihre Stufen geplant.
- Versand: Fällige E-Mails werden unter Einhaltung aller Schutzmechanismen gesendet.
- Bereinigung: Seit 7 Tagen abgelaufene, nie genutzte Gutscheine des Moduls werden gelöscht.
Die genaue URL mit Token steht im Dashboard (Button Einrichten, mit Kopieren per Klick) und in der Modulkonfiguration:
https://IHR-SHOP/index.php?fc=module&module=datafireflycartrecovery&controller=cron&token=DER_TOKEN
Planen Sie einen Aufruf etwa alle 10 Minuten:
*/10 * * * * curl -s "https://IHR-SHOP/index.php?fc=module&module=datafireflycartrecovery&controller=cron&token=DER_TOKEN" >/dev/null 2>&1
Eine Sperre stellt sicher, dass immer nur ein Durchlauf gleichzeitig läuft: Zwei gleichzeitige Aufrufe senden nie dieselbe E-Mail doppelt.
Status der Verarbeitung
Oben im Dashboard steht der Status der geplanten Aufgabe: grün, wenn der letzte Durchlauf weniger als 30 Minuten zurückliegt, orange bis 3 Stunden, rot darüber oder wenn sie nie gelaufen ist. Der Button Jetzt ausführen startet sofort einen Durchlauf und zeigt das Ergebnis: erkannte Warenkörbe, gesendete E-Mails, außerhalb des Versandfensters verschobene E-Mails, Fehler.
Ohne Zugriff auf Cron-Aufgaben
Aktivieren Sie Ausführung ohne Server-Cron in der Modulkonfiguration. Die Verarbeitung wird dann durch Shop-Besuche ausgelöst, höchstens alle 10 Minuten und erst nachdem die Seite an den Besucher gesendet wurde: Das Surfen wird nicht verlangsamt.
Diese Option hängt vom Traffic ab: Ein Shop ohne nächtliche Besuche sendet bis zum ersten Besuch am Morgen nichts. Ein echter Cron bleibt zuverlässiger. Geben Sie den Token der Cron-URL nicht weiter.
Allgemeine Einstellungen
- Abbruchverzögerung (standardmäßig 60 Min.): Inaktivität, ab der ein Warenkorb als abgebrochen gilt.
- E-Mails pro Durchlauf (standardmäßig 50): Anzahl der pro Durchlauf verarbeiteten E-Mails.
- Max. E-Mails pro Warenkorb (standardmäßig 3): Limit über alle Stufen, 0 für kein Limit.
- Maximale Lebensdauer (standardmäßig 30 Tage): danach erhält ein nicht konvertierter Warenkorb den Status Verloren.
- Automatische Anmeldung über den Link (standardmäßig aktiv): meldet den registrierten Kunden, der auf den Wiederherstellungslink klickt, wieder an, bis 7 Tage nach dem Versand der E-Mail.
- Absender-E-Mail und -Name: leer werden die Angaben des Shops verwendet.
- Ausführung ohne Server-Cron: siehe vorheriger Abschnitt.
Aussehen der E-Mails
In der Modulkonfiguration passt der Block Aussehen der E-Mails die Erinnerungen an Ihr Erscheinungsbild an:
- Shop-Logo: verwendet das unter Design > Theme & Logo festgelegte E-Mail-Logo, sonst das Hauptlogo. Die Maße werden so berechnet, dass es auch in Outlook korrekt angezeigt wird. Ohne Logo erscheint der Shopname.
- Akzentfarbe: Button, Links, Linie unter dem Kopfbereich und Gutscheinblock.
- Hintergrund des Kopfbereichs: Weiß empfohlen, wenn Ihr Logo dunkel ist.
Text auf diesen Farben wechselt je nach Kontrast automatisch zu Weiß oder Dunkel: Ein gelber Button erhält dunklen Text, ein marineblauer Button weißen Text. Das Ergebnis sehen Sie in der Vorschau jeder Stufe.
Kampagnen und Zielgruppen
Eine Kampagne fasst eine Folge von Stufen und ihre Regeln zusammen. Die Kampagnenseite zeigt die Einstellungen und darunter die Liste der Stufen.
- Mindestwarenkorbwert: 0 für keinen Mindestwert.
- Versandzeitfenster: Zeitraum, außerhalb dessen fällige E-Mails verschoben werden (das Fenster kann über Mitternacht gehen).
- Sperrfrist (in Tagen): Ein Empfänger, der in diesem Zeitraum eine Erinnerung zu einem anderen Warenkorb erhalten hat, wird nicht erneut erinnert.
- Gäste einbeziehen: Gastkunden einbeziehen oder nicht.
- B2B-Konten ausschließen: schließt Kunden aus, bei denen Firma, SIRET oder USt-IdNr. angegeben sind.
- Ausgeschlossene Kundengruppen: keine E-Mail an Kunden in einer dieser Gruppen (Händler, Personal).
- Ausgeschlossene Kategorien: Ein Warenkorb mit mindestens einem Produkt aus diesen Kategorien wird nicht erinnert (Geschenkkarten, margenschwache Produkte, rezeptpflichtige Produkte). Ein Suchfeld filtert den Kategoriebaum.
Stufen der Sequenz
- Position: Reihenfolge der Stufe.
- Verzögerung nach dem Abbruch (in Minuten): 60 = 1 Std., 1440 = 24 Std., 4320 = 72 Std.
- Betreff, Button-Text und Inhalt pro Sprache: Der Inhalt wird in einem visuellen Editor verfasst. Bleibt der Button-Text leer, wird ein übersetzter Standardtext verwendet.
- Stufe aktiv: setzt eine Stufe aus, ohne sie zu löschen.
Variablen
Nutzbar in Betreff, Button-Text und Inhalt. Ein Klick auf eine Variable kopiert sie.
{firstname},{lastname}: Vor- und Nachname des Kunden.{shop_name}: Name des Shops.{cart_total}: Warenkorbsumme in ihrer Währung.{voucher_code},{voucher_value},{voucher_expiry}: Code, Wert (zum Beispiel 10 % oder 5,00 €) und Ablaufdatum des Gutscheins. Leer, wenn die Stufe keinen Gutschein erzeugt.
Der Inhalt wird in eine responsive Vorlage eingefügt, die den Kopfbereich, die Warenkorbübersicht (Fotos, Varianten, Summe), den Gutscheinblock, den Button und die Fußzeile mit Abmeldelink ergänzt. Für Mailprogramme ohne HTML-Anzeige wird eine saubere Textversion erzeugt.
Vorschau und Test-E-Mail
Sobald die Stufe gespeichert ist:
- Der Button Vorschau in jedem Sprach-Tab (oder das Augensymbol in der Stufenliste) öffnet die endgültige Darstellung mit Umschaltung Desktop / Mobil.
- Der Block Test-E-Mail senden sendet die Stufe an die Adresse und in der Sprache Ihrer Wahl. Dem Betreff wird [TEST] vorangestellt.
Vorschau und Test nutzen die gespeicherte Version der Stufe und den neuesten echten Warenkorb des Shops mit dem Platzhaltercode DFCR-TEST42. Es wird kein Gutschein erstellt, keine Statistik geändert, und der Button-Link führt zur Warenkorbseite, ohne den Warenkorb eines Kunden wiederherzustellen.
Gutscheine
Jede Stufe kann beim Versand einen Gutschein erzeugen:
- Typ: Prozent oder Festbetrag (brutto oder netto).
- Wert und Mindestbestellwert.
- Gültigkeit in Tagen.
- Gratisversand, allein oder zusätzlich zum Rabatt.
- Der Gutschein ist einmalig nutzbar und zeitlich begrenzt. Für registrierte Kunden ist er personalisiert. Für Gäste ist er nicht an das Konto gebunden, da PrestaShop bei jeder Bestellung ein neues Gastkonto anlegt: Der Code bleibt geheim und nur einmal nutzbar.
- Keine Kombination mit einem anderen Gutscheincode: Gibt der Kunde einen anderen Code ein, während ein Erinnerungsgutschein im Warenkorb liegt, oder umgekehrt, wird der Code mit der Meldung „Dieser Gutscheincode kann nicht mit einem anderen Gutscheincode kombiniert werden.“ abgelehnt, und der bereits vorhandene Code bleibt erhalten. Automatische Warenkorbregeln ohne Code (zum Beispiel Gratisversand ab X) bleiben kombinierbar.
- Staffelung ohne Kumulierung: Erzeugt eine neue Stufe einen Gutschein, wird der vorherige, noch ungenutzte Gutschein desselben Warenkorbs deaktiviert.
- Bereinigung: Seit 7 Tagen abgelaufene, nie genutzte Gutscheine werden automatisch gelöscht.
Bewährte Praxis: kein Rabatt in der ersten Stufe, dann eine schrittweise Staffelung (-5 %, dann -10 % mit Gratisversand). Das Dashboard zeigt den Umsatz pro Stufe: Sie sehen, ob der höchste Rabatt mehr einbringt, als er kostet.
Warenkorb-Wiederherstellung per Klick
Jede E-Mail enthält einen signierten Link (HMAC). Beim Klick:
- wird der Warenkorb neu aufgebaut und der Kunde landet auf seiner Warenkorbseite;
- wird der Gutschein der angeklickten E-Mail automatisch angewendet (ein eventueller vorheriger Erinnerungsgutschein wird entfernt), außer wenn der Warenkorb bereits einen anderen Gutscheincode enthält: Dann bleibt der Code des Kunden erhalten;
- wird der registrierte Kunde wieder angemeldet, wenn die Option aktiv ist und die E-Mail weniger als 7 Tage alt ist; die im Warenkorb gewählte Adresse bleibt erhalten;
- wird der Klick gezählt.
Jede Änderung der Link-Parameter macht ihn ungültig. Ein bereits bestellter Warenkorb leitet zur Startseite weiter. Ist im Browser ein anderer Kunde angemeldet, bleiben seine Sitzung und sein Warenkorb unverändert, und der Warenkorb aus der E-Mail wird nicht wiederhergestellt.
Ablauf einer Sequenz
- Fortsetzung: Kehrt der Kunde zurück und ändert seinen Warenkorb, werden ausstehende Erinnerungen ausgesetzt. Geht er wieder, setzt die Sequenz mit der nächsten Stufe fort, ohne eine bereits erhaltene Stufe erneut zu senden.
- Alte Warenkörbe: Ein Warenkorb, der länger als 7 Tage inaktiv ist, wird nie erinnert. Nach einem längeren Cron-Ausfall schreibt der erste Durchlauf also keine Kunden an, die vor Wochen gegangen sind. Kehrt der Kunde zu seinem Warenkorb zurück, wird er wieder berücksichtigt.
- Nicht verfügbare Produkte: Ist kein Produkt im Warenkorb mehr bestellbar (ausverkauft ohne Nachbestellung, Produkt deaktiviert), wird die Stufe übersprungen. Spätere Stufen bleiben für den Fall einer Nachlieferung geplant.
- Versandfehler: Bei einem SMTP-Fehler wird die E-Mail nach 15 und dann nach 30 Minuten erneut versucht. Nach 3 Fehlversuchen wird sie mit der Fehlermeldung als fehlgeschlagen markiert und der erzeugte Gutschein gelöscht.
- Bestellung: Bei Bestätigung einer Bestellung werden die restlichen Erinnerungen abgebrochen.
Tracking und Zuordnung
- Öffnungen: unsichtbares Pixel in jeder E-Mail.
- Klicks: Klick auf den Button oder den Wiederherstellungslink.
- Wiederherstellung: Ein Warenkorb gilt nur als Zurückgewonnen, wenn vor der Bestellung mindestens eine Erinnerungs-E-Mail gesendet wurde. Eine Bestellung vor jeder E-Mail erhält den Status Ohne Erinnerung bestellt und zählt nicht zum zurückgewonnenen Umsatz.
- Zuordnung pro Stufe: Jeder zurückgewonnene Warenkorb wird der letzten vor dem Kauf gesendeten E-Mail zugerechnet.
Dashboard
- Zeitraum: 7, 30 oder 90 Tage.
- Kennzahlen: erkannte Warenkörbe und abgebrochener Wert, zurückgewonnene Warenkörbe und Wiederherstellungsrate, gesendete E-Mails, Öffnungs- und Klickraten, auf Versand wartende E-Mails, zurückgewonnener Umsatz.
- Diagramm der Erkennungen und Wiederherstellungen pro Tag.
- Leistung pro Stufe der aktiven Kampagne: gesendet, geöffnet, geklickt, Klickrate, zurückgewonnene Warenkörbe und zugeordneter Umsatz.
Erfasste Warenkörbe
Der Tab Warenkörbe listet die erfassten Warenkörbe mit Statusfilter, Suche (E-Mail, Name oder Warenkorb-Nr.), Seitennavigation und CSV-Export der gefilterten Ergebnisse. Jede Zeile zeigt Kunde, Betrag, Status, Anzahl gesendeter und geplanter E-Mails, einen Link zum Warenkorb und gegebenenfalls zur Bestellung im Backoffice. Das Ausschluss-Symbol stoppt alle Erinnerungen für einen Warenkorb.
| Status | Bedeutung |
|---|---|
| Aktiv | Warenkorb in Bearbeitung, noch nicht abgebrochen |
| Erinnerung läuft | Sequenz geplant oder im Versand |
| Zurückgewonnen | Bestellung nach mindestens einer Erinnerungs-E-Mail |
| Ohne Erinnerung bestellt | Bestellung vor jeder E-Mail, nicht zugeordnet |
| Verloren | Sequenz beendet oder Erfassungsdauer überschritten |
| Ausgeschlossen | Durch die Kampagne gefiltert (Betrag, Gast, B2B, Gruppe, Kategorie, Sperrfrist) oder manuell ausgeschlossen |
| Abgemeldet | Der Kunde möchte keine Erinnerungen mehr erhalten |
Versandprotokoll
Der Tab Versandprotokoll zeigt jede E-Mail im Detail: geplantes Datum und Versanddatum, Empfänger, Stufe, Status (geplant, gesendet, übersprungen, abgebrochen, fehlgeschlagen), Öffnung, Klick, Gutscheincode und Grund (Kunde zum Warenkorb zurückgekehrt, Limit erreicht, Produkte nicht verfügbar, SMTP-Fehler…). Eine geplante E-Mail können Sie jetzt senden oder abbrechen. „Jetzt senden“ verschickt die E-Mail sofort, auch außerhalb des Versandzeitfensters, und zeigt das Ergebnis oder den Grund, warum sie nicht gesendet wurde.
DSGVO und Zustellbarkeit
- Jede E-Mail enthält einen Abmeldelink. Die Adresse kommt auf eine dauerhafte Sperrliste, ausstehende Sendungen werden abgebrochen.
- Die Header
List-UnsubscribeundList-Unsubscribe-Postermöglichen die Abmeldung per Klick in Gmail, Yahoo und anderen Diensten, die dies für Marketing-E-Mails verlangen. - Nur Warenkörbe mit einer E-Mail-Adresse (Kunde oder Gast, der den Schritt Persönliche Daten bestätigt hat) werden erfasst: Keine Adresse wird erfasst, bevor der Kunde sie absendet.
- Mit dem offiziellen Modul
psgdprerscheint das Modul in der Liste der datenverarbeitenden Module: Export und Löschung der Kundendaten umfassen seine erfassten Warenkörbe und Erinnerungs-E-Mails. - Das Löschen eines Kundenkontos entfernt seine erfassten Warenkörbe, Versandwarteschlange und Ereignisse. Ein eventueller Widerspruch bleibt auf der Sperrliste.
- Die Deinstallation löscht Tabellen, Konfiguration und Admin-Tab.
FAQ und Fehlerbehebung
Es wird keine Erinnerung gesendet
Prüfen Sie den Status oben im Dashboard. Ist er rot, ruft die Cron-Aufgabe die URL nicht (oder nicht mit dem richtigen Token) auf: Prüfen Sie mit Jetzt ausführen, korrigieren Sie dann die Aufgabe oder aktivieren Sie die Ausführung ohne Server-Cron. Prüfen Sie anschließend, ob die Kampagne und mindestens eine Stufe aktiv sind und die Uhrzeit im Versandzeitfenster liegt, und öffnen Sie das Versandprotokoll: Dort steht der Grund für jede übersprungene oder fehlgeschlagene E-Mail.
Der Kunde kann seinen Gutscheincode nicht hinzufügen
Das ist so vorgesehen: Der Erinnerungsgutschein lässt sich mit keinem anderen Gutscheincode kombinieren. Der Kunde muss zuerst den Code im Warenkorb entfernen und dann den anderen eingeben. Automatische Warenkorbregeln ohne Code sind nicht betroffen.
Leere Seite „If no employee is assigned in the context, cart ID must be provided to this method“
Diese Meldung des PrestaShop-Kerns konnte mit den Versionen 1.0.0 bis 1.3.1 erscheinen, wenn ein Warenkorb außerhalb einer Shop-Sitzung gespeichert wurde (Webservice, Connector, Zahlungs-Webhook, Skript). Aktualisieren Sie auf 1.3.4 oder höher.
Die Cron-URL liefert einen Fehler 500
Unter PrestaShop 8 verursachten die Versionen 1.0.0 bis 1.3.0 einen Fehler 500 auf der Cron-URL. Aktualisieren Sie auf 1.3.1 oder höher und prüfen Sie die im Modulmanager angezeigte Version. Bleibt der Fehler bestehen, aktivieren Sie den Debug-Modus von PrestaShop oder sehen Sie in den PHP-Logs des Servers nach, um die genaue Meldung zu lesen.
Ein Warenkorb erscheint nicht in der Liste
Ein Warenkorb wird nur erfasst, wenn er mit einer E-Mail-Adresse verknüpft ist: angemeldeter Kunde oder Gast, der den Schritt Persönliche Daten bestätigt hat. Er gilt nach der Abbruchverzögerung (standardmäßig 60 Minuten) und beim nächsten Cron-Durchlauf als abgebrochen.
Mein Logo erscheint nicht oder ist schlecht lesbar
Prüfen Sie, ob die Option Shop-Logo aktiv ist und unter Design > Theme & Logo ein Logo festgelegt ist. Ist Ihr Logo dunkel, wählen Sie einen hellen Hintergrund für den Kopfbereich. Manche Mailprogramme blockieren Bilder standardmäßig: Dann erscheint der Shopname.
Die Test-E-Mail kommt nicht an
Prüfen Sie, ob die Stufe in der gewählten Sprache einen Betreff hat und ob der Shop E-Mails senden kann (Erweiterte Einstellungen > E-Mail, Test-Button von PrestaShop). Sehen Sie auch im Spam-Ordner nach.
Kann ein Kunde zu viele E-Mails erhalten?
Nein: E-Mail-Limit pro Warenkorb, Sperrfrist pro Empfänger und Versandzeitfenster begrenzen die Häufigkeit. Eine Bestellung oder Abmeldung bricht die restlichen Erinnerungen ab.
Ist das Modul Multishop-fähig?
Ja. Kampagnen, erfasste Warenkörbe, Einstellungen zum Aussehen und Statistiken sind pro Shop getrennt.
Ist es mit PrestaShop 9 kompatibel?
Ja. Das Modul ist mit PrestaShop 8 und 9 kompatibel und berücksichtigt die API-Änderungen von PS9 (Preisformatierung über die Locale-API, Controller, E-Mail-Versand).