DataFirefly Waitlist — Dokumentation
Installation, Konfiguration, Varianten, Cron, Conversion-Tracking und Fehlerbehebung des Wiederverfügbarkeits-Moduls für PrestaShop 8 und 9.
Übersicht
DataFirefly Waitlist fügt Ihrem PrestaShop-8- oder -9-Shop eine Wiederverfügbarkeits-Benachrichtigung hinzu. Sobald ein Produkt — oder eine bestimmte Variante — unter den konfigurierten Bestandsschwellenwert fällt, erscheint automatisch ein Button „Benachrichtigen, wenn wieder verfügbar“ auf der Produktseite. Der Besucher hinterlässt seine E-Mail und erhält eine Benachrichtigung, sobald Sie nachbestellen. Jede danach von einem benachrichtigten Abonnenten aufgegebene Bestellung wird im Dashboard als Konversion zugeordnet.
Installation
- Gehen Sie im Backoffice zu Module → Modul-Manager → Modul hochladen.
- Laden Sie die Datei
dfwaitlist-x.x.x.ziphoch. - Klicken Sie auf Installieren. Das Modul erstellt die Tabelle
df_dfwaitlist_subscriber, registriert seine Hooks und fügt seinen Admin-Tab hinzu. - Öffnen Sie die Konfiguration, um die Händler-E-Mail einzutragen und die Cron-URL zu kopieren.
Keine externen Abhängigkeiten. Mindestens PHP 7.4, kompatibel bis PHP 8.3. Quellcode unverschlüsselt.
Konfiguration
Gehen Sie zu Module → DataFirefly Waitlist → Konfigurieren. Verfügbare Einstellungen:
- Double Opt-in — wenn aktiv, sendet die Anmeldung zuerst eine Bestätigungs-E-Mail. Bis der Besucher klickt, bleibt die Anmeldung unbestätigt und löst keine Benachrichtigung aus. Deaktivierbar, wenn Sie die sofortige Anmeldung bevorzugen.
- Bestandsschwellenwert — Menge, unterhalb derer ein Produkt als nicht verfügbar gilt und den Button anzeigt.
- Händler-Alarm-Schwellenwert — Anzahl der Abonnenten auf einem Produkt, ab der Sie eine Benachrichtigungs-E-Mail erhalten. Standard 10.
- Händler-E-Mail — Empfänger des obigen Alarms.
- Lebensdauer der Anmeldungen — nie benachrichtigte Anmeldungen werden nach N Tagen automatisch bereinigt. Standard 90.
- Button-Text — pro Sprache anpassbar.
- DSGVO-Hinweis — Text unter dem Formular, pro Sprache anpassbar.
- Cron-URL — durch Token gesichert, mit einem Klick aus dem Backoffice neu generierbar.
Funktionsweise auf Kundenseite
Erscheinen des Buttons
Der Button wird über den Hook displayProductActions eingefügt, seine Sichtbarkeit wird clientseitig entschieden. Das Modul fragt den Endpunkt /modules/dfwaitlist/stockcheck ab, um den tatsächlichen Bestandsstatus der angezeigten Variante zu ermitteln — dadurch ist es unabhängig vom AJAX-Rerendering-Verhalten des Themes. Ergebnis: Der Button verschwindet, wenn die gewählte Variante verfügbar ist, und erscheint sonst wieder — ohne Seitenneuladen.
Varianten (Combinations)
Die Anmeldung erfolgt pro Paar (Produkt, Variante). Das Formular zeigt die betroffene Variante ausdrücklich an, zum Beispiel „Variante: Rot / Größe L“. Wechselt der Besucher die Variante vor dem Absenden, wechselt das Ziel automatisch mit. Die Benachrichtigungs-E-Mail nennt die exakte Variante und verlinkt auf die Produktseite mit vorausgewählter Variante: keine Verwechslung zwischen zwei Größen möglich.
Bestätigung (Double Opt-in)
Bei aktivem Double Opt-in erhält der Abonnent eine E-Mail mit einem tokenisierten Bestätigungslink. Die Anmeldung zählt erst nach dem Klick. Das sichert die Listenqualität (keine Fantasie-Adressen) und liefert einen expliziten Einwilligungsnachweis.
Wiederverfügbarkeits-Benachrichtigung
Bei Nachbestellung erhält der Abonnent eine responsive HTML-E-Mail mit dem Produktnamen, der betroffenen Variante und einem direkten Link zur Seite. Jede E-Mail enthält einen Ein-Klick-Abmeldelink.
Erkennung der Wiederverfügbarkeit
Zwei komplementäre Kanäle, beide sollten aktiv bleiben:
- Hook
actionUpdateQuantity— Echtzeit. Sobald ein Mitarbeiter im Backoffice einen Bestand ändert oder eine stornierte Bestellung Bestand freigibt, gehen die E-Mails sofort raus. - Cron als Sicherheitsnetz — durch Token gesichert. Er fängt Bestandsbewegungen ab, die an den Hooks vorbeigehen: API-Importe, ERP-Synchronisation, CLI-Skripte, Aktualisierungen über den PrestaShop-Webservice.
Cron einrichten
Kopieren Sie die in der Modulkonfiguration angezeigte URL (sie enthält das Sicherheitstoken) und binden Sie sie in einen stündlichen Aufruf ein:
0 * * * * curl -s "https://ihr-shop.de/module/dfwaitlist/cron?token=IHR_TOKEN" > /dev/null 2>&1
Falls Sie ein Leck des Tokens vermuten, generieren Sie es mit einem Klick in der Konfiguration neu — die alte URL funktioniert sofort nicht mehr. Denken Sie daran, danach Ihre Crontab zu aktualisieren.
Conversion-Tracking
Im Hook actionValidateOrder vergleicht das Modul jede Bestellzeile mit den Anmeldungen im Status „benachrichtigt“. Der Abgleich erfolgt über das Tripel (E-Mail, id_product, id_product_attribute). Bei Treffer wird die Anmeldung als konvertiert markiert und die id_order gespeichert.
Da das Tracking auf der E-Mail-Adresse und nicht auf dem Kundenkonto basiert, funktioniert es bei Gast-Bestellungen genauso wie bei angemeldeten Kunden.
Admin-Dashboard
- 6 KPIs — Anmeldungen, unbestätigt, benachrichtigt, Käufe, Konversionsrate, Abmeldungen.
- Produkte mit Nachfrage — sortierbar und paginiert. Das ist Ihre Prioritätenliste für die Nachbestellung: ein Produkt mit 47 Wartenden bedeutet 47 nahezu sichere Verkäufe, wenn Sie schnell nachbestellen.
- Detailansicht pro Produkt — jeder Abonnent mit seinem individuellen Status.
- CSV-Export — vollständiger Export des aktiven Shops: E-Mail, Produkt, Variante, Status (bestätigt, benachrichtigt, gekauft, abgemeldet), Daten, IP, Bestell-ID bei Konversion. Die Datei enthält ein UTF-8-BOM und öffnet sich direkt in Excel ohne Zeichensatzprobleme.
Händler-Alarm
Erreicht ein nicht verfügbares Produkt den konfigurierten Abonnenten-Schwellenwert, benachrichtigt Sie eine automatische E-Mail mit der Anzahl der Wartenden und einem Link zum Dashboard. Die E-Mail wird nur einmal pro Produkt versandt, um Rauschen zu vermeiden. Das ist das Signal, das Ihre Warteliste in ein Steuerungsinstrument für die Nachbestellung verwandelt: Sie priorisieren nach gemessener Nachfrage statt nach Bauchgefühl.
E-Mails
Drei Vorlagen, jeweils in FR/EN/ES/DE als responsives HTML + Klartext:
- Bestätigung — nur bei aktivem Double Opt-in versandt, mit dem Aktivierungslink.
- Wiederverfügbarkeits-Alarm — Produkt, Variante, direkter Link zur Seite, Abmeldelink.
- Händler-Alarm — Anzahl der wartenden Abonnenten und Link zum Dashboard.
Die Vorlagen sind in modules/dfwaitlist/mails/<iso>/ anpassbar.
DSGVO und Listenqualität
- Double Opt-in aktivierbar, mit Einwilligungsnachweis (die IP wird bei der Anmeldung gespeichert).
- Ein-Klick-Abmeldung in jeder Benachrichtigungs-E-Mail über ein eindeutiges Token, das sich vom Bestätigungstoken unterscheidet. Die Anmeldung wird als abgemeldet markiert statt gelöscht, um die Nachvollziehbarkeit zu wahren, und es geht keine weitere E-Mail raus.
- Automatische Bereinigung nie benachrichtigter Anmeldungen nach der konfigurierten Lebensdauer (Standard 90 Tage) — Datenminimierung.
- Integrierter Anti-Bot-Honeypot im Formular und eine Begrenzung auf eine E-Mail pro Produkt, um Massenanmeldungen zu verhindern.
- Keine externen Aufrufe: die Daten bleiben in der PrestaShop-Datenbank, pro Shop abgegrenzt. Nichts wird an DataFirefly oder einen Drittanbieter gesendet.
Multi-Shop und mehrsprachig
Die Anmeldetabelle enthält die Spalten id_shop und id_lang. Jeder Sub-Shop eines Multi-Shop-Netzwerks hat somit seine eigene Warteliste, seine eigenen Händler-Alarme und seine eigenen KPIs. Die E-Mails gehen in der Sprache des Abonnenten zum Zeitpunkt der Anmeldung raus.
Fehlerbehebung
Der Button erscheint nicht
- Prüfen Sie, ob das Produkt wirklich unter dem konfigurierten Bestandsschwellenwert liegt — darüber wird der Button absichtlich ausgeblendet.
- Bei einem Produkt mit Varianten: prüfen Sie die gewählte Variante — der Button erscheint nur, wenn diese Variante nicht verfügbar ist.
- Das Theme muss den Hook
displayProductActionsimplementieren. Classic und Hummingbird tun das; bei einem ungewöhnlichen Custom-Theme prüfen Sie, ob er im Produkt-Template vorhanden ist. - Leeren Sie den PrestaShop-Cache (Erweiterte Einstellungen → Leistung).
Bei Nachbestellung gehen keine Benachrichtigungen raus
- Prüfen Sie, ob die Anmeldung bestätigt ist: bei Double Opt-in erhält eine unbestätigte Anmeldung nie eine Benachrichtigung.
- Wurde der Bestand außerhalb des Backoffice geändert (API, ERP, CLI), feuert der Echtzeit-Hook nicht — dann übernimmt der Cron. Prüfen Sie, ob er läuft und ob das Token in der URL aktuell ist.
- Testen Sie den PrestaShop-E-Mail-Versand allgemein (Erweiterte Einstellungen → E-Mail → Test).
Einige Konversionen werden nicht gezählt
Der Abgleich verlangt die E-Mail und das Produkt und die Variante. Bestellt der Kunde mit einer anderen E-Mail-Adresse als bei der Anmeldung oder kauft er eine andere Variante als die erwartete, wird die Konversion nicht zugeordnet — das ist gewollt, um Falsch-Positive zu vermeiden, die Ihre KPIs verfälschen würden.
Deinstallation
Die Deinstallation löscht die Tabelle df_dfwaitlist_subscriber und alle Konfigurationsschlüssel mit dem Präfix DFWAITLIST_. In der Datenbank bleibt nichts zurück. Eine Bestätigung wird abgefragt, da Anmeldungen und Konversionsstatistiken endgültig verloren gehen — exportieren Sie vorher das CSV, wenn Sie die Historie behalten möchten.