Abandoned Cart Reminder — PrestaShop abandoned cart email recovery

Overview

A large share of carts on a PrestaShop store never becomes an order: distraction, price comparison, checkout friction, shipping costs, payment issues, or simple hesitation. Abandoned Cart Reminder is an automated email recovery module designed to win back lost revenue by sending a timed sequence of reminder emails to customers who left items in their cart. The module detects eligible abandoned carts, triggers multi-step email reminders after configurable delays, and provides a 1-click cart recovery link so shoppers return straight to checkout with their cart restored.

The module is built to be both simple to deploy and effective: centralized settings, reminder steps you can enable/disable, subject and content customization per language, optional coupon integration via PrestaShop Cart Rules, and a dashboard to measure impact (sent emails, opens, clicks, conversions, and recovered revenue). It is ideal for merchants who want abandoned cart recovery inside PrestaShop without relying on external email tools.

Key benefits:

  • Fully configurable multi-step reminders (timing, content, CTA)
  • 1-click cart restore link with direct checkout redirect
  • Optional coupon (Cart Rule) per step to boost conversions
  • Tracking (opens / clicks) with KPI dashboard and stats
  • GDPR options: unsubscribe link and data retention cleanup

Features

Abandoned cart detection

The module identifies abandoned carts based on your rules: delay since last cart update, minimum cart value, customer status (logged-in / guest with email), and exclusions (unsubscribe, groups, categories, etc.). An anti-duplicate logic prevents sending the same step multiple times to the same cart, and the sequence automatically stops when the customer completes a purchase.

What you get:

  • Detect carts for customers and guests with an email address
  • Anti-duplicate protection per cart and per step
  • Automatic stop after successful conversion (order placed)
  • Configurable exclusions (depending on available options)

Multi-step emails and personalization

You can create a progressive recovery sequence: step 1 “gentle reminder”, step 2 “reassurance” (shipping/payment trust), step 3 “incentive” (discount). Each step has its own delay (in hours), subject, email content, and call-to-action button. Emails can be customized per language and can include dynamic variables (customer, cart, totals, coupon, recovery link).

What you get:

  • Step-by-step subject and content settings
  • Multi-language customization
  • Dynamic variables (customer/cart context)
  • Configurable CTA button text
  • Test email sending (depending on version)

Coupons (Cart Rules) per step

To increase conversion rates, you can assign a PrestaShop Cart Rule to one or more steps. The coupon code is shown in the email and can be applied automatically when the customer clicks the recovery link, depending on your settings.

What you get:

  • Assign a Cart Rule to a specific step
  • Display the coupon code inside the email
  • Optional automatic application at checkout
  • Works with native PrestaShop rules (conditions, limits, dates)

1-click cart recovery link

Each email includes a secure link that restores the cart and redirects the shopper to checkout. Link validity is configurable to avoid unwanted late usage. The module handles edge cases (expired token, deleted cart) with clean fallback behavior.

What you get:

  • Unique recovery token per email
  • Configurable link validity
  • Cart restored into the session
  • Direct checkout redirection

Tracking and performance dashboard

The module includes a dashboard to measure results: number of detected abandoned carts, emails sent, opens (pixel tracking), recovery link clicks, conversions, and recovered revenue. These metrics help you optimize timing, content, and incentives.

Typical KPIs:

  • Abandoned carts detected
  • Emails sent
  • Opens (pixel tracking)
  • Clicks (recovery link)
  • Recovered carts/orders
  • Recovered revenue

GDPR and compliance options

The module provides useful GDPR-oriented features: an unsubscribe link, optional marketing consent alignment (based on your configuration), automatic cleanup of tracking/log data after a defined retention period, and an optional legal footer message per language.

What you get:

  • Unsubscribe (opt-out) support
  • Automatic data retention cleanup
  • Configurable legal footer text

Debug / logs

To quickly diagnose issues (CRON, exclusions, emails not sending), you can enable debug mode and review logs: scanned carts, excluded carts with reasons, email send results, send errors, clicks, and more.

What you get:

  • Debug mode toggle
  • Execution logs (depending on version)
  • Exclusion reason details (depending on version)

Installation

  1. Download the module from your customer account.
  2. In the PrestaShop back office, go to Modules > Module Manager.
  3. Click Upload a module and select the ZIP file.
  4. Install the module, then click Configure.
  5. Copy the displayed CRON URL and set it up on your server.

Configuration

General settings

Depending on your version, you can configure:

  • Global module enable/disable
  • Minimum delay before a cart is considered “abandoned”
  • Minimum cart value to trigger reminders
  • Max emails per CRON run (to avoid deliverability issues)
  • Recovery link validity (in days)
  • Enable open tracking (pixel)
  • Debug mode (logs)

Reminder steps (Reminder Steps)

Each step can be configured:

  • Enabled / disabled
  • Delay (hours) after abandonment
  • Subject and content (per language)
  • CTA button text
  • Include cart products (depending on version)
  • Optional Cart Rule / coupon per step

Best practices:

  • Step 1: simple reminder (no discount)
  • Step 2: reassurance + benefits
  • Step 3: limited-time incentive (if needed)

Requirements

  • PrestaShop 8.x or 9.x
  • PHP 8.1 or higher
  • MySQL 5.7+ or MariaDB 10.3+
  • SSL (HTTPS) recommended
  • Access to CRON jobs on your hosting

CRON job

CRON triggers cart scanning and email sending.

Example (every 15 minutes):

*/15 * * * * curl -s "https://your-shop.com/module/wepresta_abandoned_cart_reminder/cron?token=XXXXXXXXX" > /dev/null 2>&1

Alternative:

*/15 * * * * wget -q -O /dev/null "https://your-shop.com/module/wepresta_abandoned_cart_reminder/cron?token=XXXXXXXXX"

Recommendations:

  • Frequency: every 10 to 15 minutes
  • Limit emails per run if you have high volume
  • Ensure the CRON URL responds correctly (HTTP 200)

Compatibility

PrestaShop

  • PrestaShop 8.x: compatible
  • PrestaShop 9.x: compatible

PHP

  • PHP 8.1: compatible
  • PHP 8.2+: compatible (depends on environment)

MySQL / MariaDB

  • MySQL 5.7+: compatible
  • MySQL 8.0: compatible
  • MariaDB 10.3+: compatible

FAQ

Is the module compatible with my theme?

Yes. The module works mainly in the back office and through emails. The recovery link redirects to the PrestaShop checkout and remains compatible with standard and most custom themes.

Does it work without CRON?

No. CRON is required to trigger automated reminders. Without CRON, the sequence will not run at the right time.

Can it remind guest customers?

Yes, as long as the email address is known (guest checkout). Fully anonymous visitors without an email cannot be reminded.

Is open tracking reliable?

Open tracking relies on image loading (pixel). Some email clients block images or use proxies, so open rate should be treated as a trend rather than an exact value.

How do I add a coupon to a reminder?

Create a Cart Rule in PrestaShop, then assign it to the desired reminder step in the module settings. The code will be shown in the email and can be applied automatically depending on your options.

Troubleshooting

No emails are being sent

  • Check that the CRON job actually runs (server/cron logs)
  • Verify the CRON URL and security token
  • Ensure at least one reminder step is enabled
  • Check PrestaShop email configuration (send a test email)
  • Enable debug and review exclusions/errors

Emails go to spam

  • Configure SPF/DKIM/DMARC for your domain
  • Use a professional SMTP provider instead of mail()
  • Limit sending volume per CRON run
  • Review email content and avoid “spammy” elements
  • Check token expiration (configured validity)
  • Ensure the cart still exists
  • Test in private/incognito mode while logged out
  • Enable debug and check click logs

Support

For support, use your WePresta customer area / module page, or your usual support channel. For faster troubleshooting, provide:

  • PrestaShop and PHP versions
  • CRON URL response
  • Screenshots of Configuration / Steps
  • Debug logs (if enabled)
  • Description of expected vs observed behavior

Changelog

Version 1.0.0

  • Initial release: multi-step reminders, email templates, recovery links, coupons, tracking, dashboard, debug/logs, GDPR, multistore, PrestaShop 8.x and 9.x compatibility.

License

This module is distributed under the Academic Free License (AFL 3.0).

Copyright © WePresta. All rights reserved.

Loading...