Odzyskiwanie porzuconych koszyków. Moduł odzyskuje porzucone koszyki: automatyczna sekwencja przypomnień e-mail, opcjonalny dedykowany kupon, bezpieczny link odzyskiwania jednym kliknięciem oraz panel odzyskiwania. Uwzględnia wymogi RODO i działa z crona, więc pracuje po cichu w tle, bez kodowania i bez zmian w szablonie.
Moduł odzyskuje porzucone koszyki: automatyczna sekwencja przypomnień e-mail, opcjonalny dedykowany kupon, bezpieczny link odzyskiwania jednym kliknięciem oraz panel odzyskiwania. Uwzględnia wymogi RODO i działa z crona, więc pracuje po cichu w tle, bez kodowania i bez zmian w szablonie.
1. Instalacja
- W panelu administracyjnym (back office) należy przejść do Modules → Module Manager → Upload a module i wybrać plik ZIP modułu.
- Po zainstalowaniu należy kliknąć Configure, aby otworzyć kreator konfiguracji.
.local, .test, localhost) są zawsze dozwolone. Gdy dostępna jest nowa wersja, widać to bezpośrednio w module.Jeśli zamiast potwierdzenia pojawi się komunikat „Upload failed”, PrestaShop mógł wyłączyć moduł bez powiadomienia: ustawienia i dane pozostają na swoim miejscu. Jak zaktualizować moduł i co zrobić, gdy pojawi się komunikat „Upload failed”.
2. Konfiguracja krok po kroku
Moduł dodaje w panelu administracyjnym stronę Abandoned Carts z trzema zakładkami: Dashboard (statystyki odzyskiwania), lista Abandoned carts oraz Settings. Przycisk Configure otwiera zakładkę Settings: wystarczy ją raz przejść, a resztą zajmie się cron.
Settings
Jeden ekran ze wszystkimi opcjami odzyskiwania, podzielony na sekcje. Rzeczywiste pola, od góry do dołu:
- General: Enable abandoned cart recovery (główny przełącznik; po wyłączeniu cron nic nie robi), Abandonment delay (minutes) (koszyk uznaje się za porzucony po takim czasie bezczynności), Maximum cart age (days) (starsze koszyki są pomijane), Minimum cart value (0 = brak minimum) oraz Sender name (puste pole = nazwa sklepu).
- Reminder sequence: do 6 kroków. Dla każdego kroku ustawia się opóźnienie po porzuceniu w minutach (np. 60 = 1 godz., 1440 = 24 godz., 4320 = 72 godz.; puste pole lub 0 wyłącza krok) i zaznacza Include voucher, aby dołączyć zachętę. Kroki są automatycznie układane według opóźnienia.
- Voucher / incentive: Discount type (Percentage lub Fixed amount), Discount value, Voucher validity (days), Voucher code prefix (do każdego koszyka dodawany jest unikalny przyrostek) oraz Voucher includes free shipping.
- GDPR & consent: Require marketing opt-in (registered customers) (zalecane), Allow captured guest emails (każdy e-mail zawiera link do rezygnacji z subskrypcji), Data retention (days) (usuwanie zamkniętych wpisów śledzenia po N dniach; 0 = zachowaj) oraz Track email opens (pixel) (zasila wskaźnik otwarć; należy wyłączyć dla ściślejszej ochrony prywatności).
- Automation: Max reminders per cron run, aby każde uruchomienie było lekkie.
- Data: Drop data on uninstall (domyślnie wyłączone; po włączeniu odinstalowanie usuwa całą historię odzyskiwania i statystyki). Rezygnacja z subskrypcji obowiązuje we wszystkich sklepach instalacji. Lista adresów, które zrezygnowały (tylko skróty adresów e-mail, nie same adresy), zostaje zachowana także przy włączonej opcji, aby rezygnacje były respektowane po ponownej instalacji modułu; aby naprawdę ją usunąć, po odinstalowaniu należy ręcznie opróżnić tabelę
ps_cll_abc_optout(z prefiksem własnych tabel zamiastps_).



Cron token wymagany
Sekwencja przypomnień działa z adresu URL crona chronionego tokenem, a nie przy ładowaniu strony. Dashboard pokazuje dokładny adres do wywołania; wygląda on tak: https://yourshop/index.php?fc=module&module=cll_abandonedcart&controller=cron&token=XXXX. Błędny lub brakujący token zwraca 403 Forbidden, więc token chroni ten punkt dostępu przed osobami nieuprawnionymi.
- Harmonogram: należy skierować crontab serwera lub usługę web-cron na ten adres, np. co 15 minut. Każde uruchomienie wykrywa nowe porzucone koszyki, wysyła należne przypomnienia (do limitu na jedno uruchomienie), generuje kupony i usuwa stare wpisy.
- Run now: Dashboard ma ręczny przycisk Run now, który natychmiast uruchamia jeden przebieg do celów testowych.
- Regenerate cron token: w Settings panel Cron token generuje sekret na nowo, gdyby kiedykolwiek wyciekł. Po wygenerowaniu należy zaktualizować zaplanowane zadanie o nowy adres.

3. Sprawdzenie działania
- Należy otworzyć w przeglądarce adres crona widoczny w Dashboard: powinien zwrócić krótkie podsumowanie JSON (
"ok": true). Kod 403 oznacza błędny token. - Należy kliknąć Run now w Dashboard, a następnie otworzyć listę Abandoned carts: testowy koszyk pozostawiony bez aktywności dłużej niż opóźnienie porzucenia powinien się tam pojawić.
- Należy sprawdzić, czy wskaźniki KPI w Dashboard (śledzone koszyki, wysłane przypomnienia, odzyskane, wskaźnik odzyskiwania) zmieniają się w miarę przetwarzania koszyków przez cron.
- Należy sfinalizować śledzony koszyk jako zamówienie: jego wiersz powinien zmienić status na recovered, a odzyskany przychód powinien się zaktualizować.
4. FAQ
Czy moduł spowalnia sklep?
Nie. Praca odbywa się podczas uruchomienia crona, a nie przy ładowaniu strony, a każde uruchomienie jest ograniczone limitem przypomnień na jeden przebieg.
Czy klienci nie będą zasypywani wiadomościami?
Nie. Liczbę kroków i ich opóźnienia ustala sprzedawca, każdy e-mail zawiera link do rezygnacji z subskrypcji, a koszyk przestaje otrzymywać przypomnienia, gdy tylko zamieni się w zamówienie.
Czy moduł jest zgodny z RODO?
Moduł uwzględnia wymogi RODO: można wymagać zgody marketingowej, zdecydować o uwzględnianiu adresów e-mail gości, ustawić okres przechowywania danych oraz wyłączyć śledzenie otwarć.
Czy trzeba oferować kupon?
Nie. Kupon jest opcjonalny i ustawia się go dla każdego kroku sekwencji: można prowadzić sekwencję samych przypomnień, bez żadnej zachęty.
