Abandoned Cart Recovery for OpenCart 2.3, 3.x and 4.x
Захоплення кинутих кошиків в OpenCart 3.x і 4.x та повернення покупця листом-нагадуванням із посиланням-відновленням у 1 клік. Статуси кошиків і статистика повернення в адмінці. Pro — ланцюжок до 3 листів, персональні купони, Telegram і експорт CSV.
What each licence includes
| Feature | Free | Pro |
|---|---|---|
| Captures carts for logged-in customers and guests who entered an e-mail address at checkout | ✔ | ✔ |
| Adjustable inactivity time after which a cart counts as abandoned | ✔ | ✔ |
| Reminder email with a 1-click recovery link; subject and body fully editable | ✔ | ✔ |
| Placeholders in the email: customer name, cart contents, link, store name | ✔ | ✔ |
| One-time links with a limited lifetime (7 days by default) | ✔ | ✔ |
| Cart statuses: active → abandoned → recovered / lost, with automatic recovery detection when an order appears | ✔ | ✔ |
| A dedicated cart screen in the admin panel with a status filter and four statistics tiles | ✔ | ✔ |
| Anti-spam: no more than once every N days per address | ✔ | ✔ |
| Auto-cleanup of cart data by retention period (90 days by default) | ✔ | ✔ |
| Interface and emails in Ukrainian and English | ✔ | ✔ |
| A chain of up to 3 emails — each with its own delay, subject and body | — | ✔ |
| Personal discount coupons — a genuine one-time row in OpenCart's coupon table, as a percentage or a fixed amount, with its own expiry date | — | ✔ |
| Telegram notification to the store owner the moment a cart is abandoned | — | ✔ |
| Export carts to CSV | — | ✔ |
| Viber or SMS reminder through TurboSMS for shoppers who left only a phone: Viber with SMS fallback, quiet hours, test message | — | ✔ |
Abandoned Cart Recovery for OpenCart is a module that tracks carts left behind before checkout and brings the customer back with a reminder email containing a personal link. One click and every item is back in the cart. Carts belonging to logged-in customers are recorded straight away; guest carts only once the customer has entered an e-mail address at checkout. One build for OpenCart 3.x, another for OpenCart 4.x.
The base version is free. Download: abandoned_cart.ocmod.zip (OpenCart 4.x) or abandoned-cart-oc3.ocmod.zip (OpenCart 3.x). Free covers cart capture, one reminder email with a one-time recovery link, cart statuses and statistics in the admin panel; Pro adds a chain of up to three emails, personal discount coupons, Telegram notifications and CSV export.
What the admin gets
A dedicated “Abandoned Carts” screen in the OpenCart admin: four statistics tiles — abandoned carts, recovered carts, recovered revenue and recovery rate — plus a cart table with a status filter. You can see the customer’s e-mail, cart contents, total, time abandoned, and whether it’s a registered customer or a guest.
The settings page is split into tabs: “General” (the delay after which a cart counts as abandoned, how long the recovery link stays valid, the anti-spam pause between emails to the same address, the data retention period, a ready-made cron URL), “Reminders” (subject and body of each email), “Coupon”, “Telegram” and “License”.




Viber or SMS reminder
Many shoppers leave only a phone number at checkout and never type an e-mail. With Pro those carts come back too: after the delay you set, the shopper gets one short Viber message with a link to the saved cart, and an SMS if the number has no Viber or the message is not delivered. Messages go out through your own TurboSMS account, so you pay your own rate.
The module writes once per cart and never at night: quiet hours are a setting, and a message that falls into them goes out in the morning. The Viber/SMS link is separate from the e-mail link, so one never cancels the other. Before going live you can check the balance and send yourself a test message right from the admin panel.

How it works, step by step
- The customer builds a cart. Logged-in customers are recorded straight away; guests as soon as they enter an e-mail address at checkout. Nothing is written to the database before that.
- After a set period of inactivity (60 minutes by default) a background scan marks the cart as abandoned.
- A reminder email is sent with a personal link. The subject and body are editable, with placeholders available:
{customer_name},{cart_items},{recovery_link},{store_name}. - Clicking the link restores the cart — the items return, and the customer carries on from where they left off. Once an order appears for that address, the cart automatically moves to recovered.
- With Pro: instead of one email, a chain of up to three is sent — each with its own delay, subject and body — and from a chosen email onward a personal discount coupon is added automatically. The store owner gets a Telegram notification for every abandoned cart.
Pricing
1,290 UAH — a one-off purchase. The license is perpetual: you pay once, and updates and support are included. One key covers one domain and its subdomains.
Moving the store to another domain — deactivate the license on the old one and activate it on the new one yourself.
The license is perpetual — nothing expires or switches off. One key covers one domain; if you move the store, deactivate the license on the old domain and activate it on the new one yourself.
One key covers one domain. If you move the store, deactivate the license on the old domain and activate it on the new one yourself, no need to contact support.
Trial first, payment after. A fresh install is a fully working free version: nothing Pro switches itself on. When you want to see the email chain, coupons, Telegram notifications and export in action, click “Try Pro” in the admin panel, enter your e-mail and get a 7-day key. No card required, nothing renews automatically. That’s why there are no refunds after purchase — you see the module at work before you pay.
Installation
OpenCart 4.x
- Admin → Extensions → Installer → upload
abandoned_cart.ocmod.zip. - Admin → Extensions → Extensions → Modules → find “Abandoned Cart Recovery” and click the green “+” (this creates the module’s table, registers the events and grants permissions).
- Click the pencil icon, enable the module and save. Right after upload, before clicking “+”, the route replies “Permission denied” — that’s normal OpenCart 4 behaviour.
OpenCart 3.x
- Admin → Extensions → Installer → upload
abandoned-cart-oc3.ocmod.zip. - Admin → Extensions → Modifications → click “Refresh”.
- Admin → Extensions → Modules → find the module, click “+”, then “Edit”: enable and save.
Cron
The installer adds two entries under System → Maintenance → Cron Tasks: abandoned_cart_scan (hourly — marks abandoned carts and sends emails) and abandoned_cart_cleanup (daily — closes expired carts and clears old data).
OpenCart’s own cron only fires when someone visits the storefront, and its shortest cycle is one hour. For emails to go out on a tighter schedule, point a system cron at the scan URL (shown on the module’s settings page), for example every 15 minutes:
*/15 * * * * curl -s "https://example.com/index.php?route=extension/abandoned_cart/cron.scan" >/dev/null
For OpenCart 3.x the route is different — extension/module/abandoned_cart_cron/scan; the ready-made URL is likewise filled in on the settings page.
Requirements
- OpenCart 3.0.2 – 3.0.5.0 (build
abandoned-cart-oc3.ocmod.zip) or 4.0.2 – 4.1.x (buildabandoned_cart.ocmod.zip) - PHP 7.4+ for OpenCart 3.x, 8.0+ for OpenCart 4.x
- Working outgoing mail on the store — the module sends emails through OpenCart’s own mail engine
- System cron (recommended) — for sending accurate to the minute
Under the hood
- Nothing extra is collected — no personal data is stored from anonymous browsing. A guest cart is only recorded once the customer has entered an e-mail address at checkout.
- The recovery link is safe to email — only a SHA-256 hash of the token is stored in the database, never the token itself; the link is single-use and time-limited.
- Recovery is detected automatically — once an order appears against the e-mail or customer ID, that customer’s open carts switch to “recovered” and count toward recovered revenue.
- Pro coupons are genuine OpenCart coupons, not a text placeholder: a one-time row in the coupon table, with its own expiry date, as a percentage or a fixed amount.
- Secrets are encrypted — the Telegram bot token is stored encrypted; if the store moves to a different folder or database, the module warns you and asks you to re-enter it.
- Only three outside calls:
catcode.com.uato check the license key (once a day),api.telegram.orgonly if Telegram notifications are on, andapi.turbosms.uaonly if Viber/SMS reminders are on.
Version history
- 1.2.0 — 14 September 2026
- Pro: a Viber or SMS reminder through TurboSMS for shoppers who left only a phone number at checkout. One message per cart, Viber with SMS fallback or a single channel, quiet hours, a separate one-time link, balance check and a test message in the admin panel. The phone is now captured alongside the e-mail, and an order with the same phone closes the cart as recovered. Upgrading from 1.1 adds the new table columns automatically.
- 1.1.0 — 3 August 2026
- Rebuilt the Free/Pro model: a fresh install no longer turns Pro on by itself — the 7-day trial is only issued by clicking “Try Pro” and arrives as a key in the modal and by email. The license is checked against the CatCode server with a daily cache and a 14-day grace period, so the site being unreachable doesn’t turn Pro off for paying users. Pro features are always visible, but greyed out with a badge and explanation without a key. Fixed: a personal coupon no longer becomes “unlinked” from the customer when a cart line is deleted — the coupon is deleted along with it, and orphaned coupons are removed by the daily cleanup; SMTP settings now actually reach OpenCart 4’s mail adapter (previously reminders bypassed the configured server and were more likely to land in spam).
- 1.0.1 — 24 July 2026
- Fixed events on OpenCart 4.0.2.x: the method separator differs between 4.0 and 4.1, so cart capture and recovered-order detection were silently failing.
- 1.0.0 — July 2026
- First public release: capturing carts for logged-in customers and guests who entered an e-mail address, a reminder email with a one-time recovery link, automatic detection of recovered carts, a list and statistics in the admin panel; Pro — a chain of up to three emails, a personal one-time coupon, Telegram notifications, CSV export.
Frequently asked questions
When is the reminder sent?
After the time you set, once the customer has left a cart without checking out.
What does the link in the email do?
It restores the items to the customer's cart so they can carry on checking out from the same point.
Does it work for guests?
Yes, as long as the customer entered an e-mail address at checkout.
How many emails are sent?
The number of emails and the delay between them are configurable in the admin panel.
Questions about the module?
Message us on Telegram — we reply within the working day. We will help with setup, compatibility and key activation.
No reviews yet. Be the first — right below.
Leave a review
Reviews are moderated before publication, which usually takes up to 24 hours.
No questions yet. Ask one — we answer within 24 hours.
Ask a question
We usually reply within 24 hours during working hours.
Buying the module
—