Abandoned Cart OPC

Complete documentation to install, configure, and use the Abandoned Cart OPC module to recover lost sales in your PrestaShop store.

What is Abandoned Cart OPC?

Abandoned Cart OPC is a powerful module for PrestaShop that helps you recover lost sales by automatically sending reminder emails to customers who left items in their cart without completing the purchase. The module can offer discount coupons to incentivize conversion and provides detailed statistics on cart recovery.

With an intuitive interface and flexible configuration, you can create multiple reminder campaigns, customize email templates in multiple languages, and track the effectiveness of your recovery efforts.

4.0.4
Version
PS 1.7+
PS 8.x
PS 9.x
Multistore
Multi-language

Main Features

Automatic Cart Recovery

Automatically detect abandoned carts and send reminder emails to recover lost sales.

Customizable Reminders

Create multiple reminder campaigns with different send times, filters, and email templates.

Discount Coupons

Automatically generate discount coupons to incentivize customers to complete their purchase.

Statistics and Tracking

View detailed statistics on abandoned carts, sent reminders, and recovery rates.

System Requirements

Requirement Minimum Recommended
PrestaShop 1.7.6 9.x
PHP 7.1.3 8.1+

Installation

There are two methods to install the module in your PrestaShop store, depending on your server characteristics.

Method 1: Installation from Back Office

1
Access the Back Office

Log in to your PrestaShop store administration panel.

2
Navigate to Modules

Go to Modules → Module Manager in the side menu.

3
Upload the module

Click "Upload a module" and select the downloaded ZIP file.

4
Install and activate

Once uploaded, the module will install automatically. Click "Configure" to get started.

Method 2: FTP Installation

1
Extract the ZIP file

Extract the contents of the ZIP file on your local computer.

2
Connect via FTP

Use an FTP client (like FileZilla) to connect to your server.

3
Upload the module folder

Upload the pts_abandonedcartopc folder to /modules/ in your PrestaShop installation.

4
Install from Back Office

Go to Modules → Module Manager, search for "Abandoned Cart OPC" and click "Install".

Possible Installation Issues

If you experience override errors when installing or activating the module, don't try to resolve it yourself if you don't have technical experience. Contact our support team to receive personalized help and resolve the conflict safely.

Contact Support

Configuration

General Configuration

After installing the module, you need to configure some basic settings before creating your first reminder campaign.

1
Access module configuration

Go to Modules → Module Manager, search for "Abandoned Cart OPC" and click "Configure".

2
Configure abandoned cart time

Set how many days a cart must remain inactive to be considered abandoned. The default is 30 days, but you can adjust it based on your needs.

3
GDPR configuration

Enable the GDPR checkbox if you want customers to consent to receiving reminder emails. You can also customize the legal text displayed.

4
Save configuration

Click "Save" to apply the changes.

Activate Module License

For the module to work properly, you need a valid license. The module checks it with PresTeamShop's servers, based on your store's domain. There is no license tab: when the module does not have a valid license, opening its configuration only shows the two license forms, and the rest of the tabs appear as soon as the license is validated.

If you already have your license number

1
Open the module configuration

Go to Modules → Abandoned Cart OPC → Configure. You will see the "Validate your license" form.

2
Enter the "License Number"

Paste the license number you received with your purchase.

3
Click "Validate License"

If it is correct, you will see the message "License validated successfully." and the module will show all its tabs. If not, you will see "Invalid license number."

If you do not have your license number

Use the "Don't have a license yet? Register it here" form, right below the previous one. With it you can get your number from your order details:

1
Fill in the order details

Enter the purchase "Email", the "Order number or reference" and the "Order date". If the license is for a testing environment, enable "Is a develop license?".

2
Click "Register License"

If the details match your order, you will see "License registered successfully. Your license number is: …" and the module is activated. Keep that number. If they do not match, you will see "The information entered for your order is not valid."

Debug Mode

Debug mode allows you to test the module without affecting other users or sending emails to real customers. This is very useful before activating the module in production.

How to use debug mode:

  1. Enable the "Debug mode" option in module configuration
  2. Enter your IP address in the "Debug IP" field
  3. Save the configuration

While debug mode is active, only users with the configured IP will see the module working. Other users won't receive reminder emails.

Reminder Campaigns

Reminders (or campaigns) are the core of the module. Each reminder defines when and how to send recovery emails to customers with abandoned carts.

Create a Reminder Campaign

You can create multiple reminder campaigns with different configurations. For example, you can send a first reminder after 2 hours without a discount, a second reminder after 1 day with a 5% discount, and a third reminder after 3 days with a 10% discount.

1
Access the Reminders section

In module configuration, click on the "Reminders" tab.

2
Create new reminder

Click the "New reminder" or "Add reminder" button.

3
Configure send time

Define when the reminder should be sent:

  • Days: Number of days to wait after the cart is abandoned (0 = same day)
  • Hours: Specific time to send the reminder (e.g., 10:00 AM)
4
Configure customer filters

Select which customers should receive this reminder:

  • Registered customers: Customers with an account in your store
  • Guest customers: Customers who completed checkout as guests
  • Both: All customers regardless of type
5
Set cart amount range

Optionally, you can filter by cart value:

  • Minimum amount: Only send to carts above this value
  • Maximum amount: Only send to carts below this value
6
Configure discount (optional)

If you want to offer a discount to incentivize purchase:

  • Discount type: Percentage or fixed amount
  • Discount value: The amount or percentage to discount
  • Free shipping: Enable if you want to offer free shipping
  • Validity (days): How many days the coupon will be valid
7
Choose the email template

In the "Template" field, select the template that will be sent. Templates are created beforehand in the "Email templates" tab, where you can customize the subject and content for each language of your store. See the "Email Templates" section for more details.

8
Save the reminder

Click "Save" to create the reminder. It will automatically activate and start sending when the cron job runs.

How to Configure Discounts

Discounts are a powerful incentive to recover abandoned carts. The module allows you to create coupons automatically.

Percentage Discount

Example: 10% off total purchase

  • Select "Percentage" as discount type
  • Enter 10 as the value
  • The customer will receive 10% off their total
Fixed Amount Discount

Example: $5 off total purchase

  • Select "Fixed amount" as discount type
  • Enter 5 as the value
  • The customer will receive $5 off their total

Additional discount options:

  • Free shipping: Enable this option to offer free shipping in addition to the discount
  • Validity: Set how many days the coupon will be valid (e.g., 7 days from when the email is sent)
  • Only discount: You can also create a reminder that only offers free shipping without a discount amount

Recommended Reminder Strategy

A good strategy is to create multiple reminders with increasing discounts to maximize recovery:

Reminder Send Time Discount Purpose
First 2 hours No discount Simple reminder that they left items in cart
Second 1 day 5% off Incentivize with a small discount
Third 3 days 10% off + free shipping Final incentive before cart expires

Abandoned Cart Management

View Abandoned Carts

The module provides a complete view of all abandoned carts in your store, with detailed information about each one.

1
Access Abandoned Carts section

In module configuration, click on the "Abandoned Carts" tab.

2
View cart list

You will see a table with all abandoned carts including: customer name, email, cart date, total amount, and reminder status.

3
View cart details

Click on any cart to see complete details: products in the cart, quantities, prices, and history of sent reminders.

Information available for each cart:

  • Customer name and email
  • Cart creation date
  • Cart total amount
  • Products in cart (with images, names, and quantities)
  • Number of reminders sent
  • Date of last reminder sent
  • Whether the customer has opened the emails
  • Recovery status (recovered or still abandoned)

Available Filters

The abandoned carts list includes several filters to help you find specific carts:

Date Filter
  • Filter by cart creation date
  • Select date range (from - to)
  • Useful for analyzing specific periods
Customer Filter
  • Search by customer name
  • Search by email address
  • Find specific customer carts
Amount Filter
  • Filter by minimum cart amount
  • Filter by maximum cart amount
  • Focus on high-value carts
Status Filter
  • All carts
  • Recovered carts
  • Still abandoned carts

Statistics

The module shows useful statistics to track the effectiveness of your recovery campaigns:

Total Abandoned Carts

Total number of abandoned carts in the selected period

Recovered Carts

Carts that were recovered after sending reminders

Recovered Amount

Total value of recovered sales

Recovery Rate

Percentage of carts successfully recovered

Sent Emails

The "Emails enviados" tab (its heading reads "Sent emails") is the history of the emails the module has sent to your customers: both the reminders sent by the cron and those you send manually from the abandoned carts list. Next to the title you will see a counter with the total number of emails.

Filters

You can narrow the list with these fields and click "Filter":

  • Email: looks for the emails sent to a specific address.
  • Since date and To date: limit the list to a period.
  • Template type: "All types", "With discount" or "Without discount".

List columns

The table shows "Email", "Subject", "Type" (with or without discount), "Date" and "Actions". The list is paginated.

See email content

In the "Actions" column, the envelope button ("See email content") shows the email of that send. Keep in mind that the module does not store a copy of the sent email: it rebuilds it at that moment with the template and the cart products, so if you changed the template after the send you will see the current version.

Delete Carts

The "Delete carts" tab lets you clean up, all at once, the abandoned carts of visitors who did not register (guests) within a date range.

Customer type

Choose which guest carts are deleted: "Guest (without info)", the carts of visitors for whom the module has not stored more data than the email address, or "Guest (With info)", those of visitors for whom the module also stored other purchase form data.

Exclude carts with the following information

It appears when you choose "Guest (With info)". Check the data that, if the cart has it, makes that cart be kept and not deleted. Each item shows where it comes from: "Customer", "Invoice Address" or "Delivery Address". By default the email and the mobile phone are checked, so the carts of customers you can contact are not deleted.

Since date and To date

Both fields are required (they have an asterisk) and define the period of carts that will be deleted.

Remove carts simultaneously from your store

With this option set to "YES", besides removing the cart from the module, the cart is also deleted from your PrestaShop store. With "NO", it only disappears from the module and the cart still exists in PrestaShop.

When finished, the module shows how many carts it has deleted ("… cart(s) eliminated") or, if none met the conditions, "No abandoned carts were found".

Import Carts

The module registers abandoned carts as they happen. The "Import PrestaShop carts" tab lets you also bring in the carts that your store has and the module has not registered, for example those prior to its installation, so you can send them reminders.

At the top you will see the notice "There are N carts to import from your store" and a refresh button to update the figure. The carts imported are those of registered customers that did not end in an order and that the module does not have yet. Click "Import" to bring them in; the button is disabled if there are none.

Email Templates

Email templates are crucial for the success of your recovery campaigns. The module allows you to fully customize the subject and content of reminder emails.

How to Customize Email Templates

Templates are created and edited in the "Email templates" tab, with the "Add new email template" button. Reminders do not have their own editor: each reminder only chooses which one to use in its "Template" field.

Template fields:

  • Template type: "With discount" or "Without discount". Discount templates can use the coupon variables.
  • Internal name: the name the template is saved with. It must not contain special characters or spaces; we recommend replacing spaces with a hyphen (-).
  • Base template: lets you start from a template that already exists. When you choose one, its HTML content and its TXT content are loaded into the editors of each language. With "--" the editors are left empty.
  • Subject: the subject line the customer will see in their inbox, for each language of your store.
  • Template content: the body of the message, with a visual editor, for each language.
  • Txt content: the plain text version of the message, for each language.
  • Emulate send email: enter an address and click "Send" to receive a test email. The data sent in the test is only sample data; the real data is only sent when the reminder is sent.

Available Dynamic Variables

You can use dynamic variables in your templates, which are automatically replaced with the real customer and cart data. In the module's "Email templates" tab you also have a notice with the list of variables. These are the ones that work in all templates:

Variable Description
{firstname} Customer first name
{lastname} Customer last name
{cart_content_detail} Detail of the products of the abandoned cart (images, links, quantities, attributes, etc.)
{url_recover_cart} Link that takes the customer to checkout and recovers their abandoned cart
{url_unsubscribe} Link to unsubscribe from reminders
{url_contact} Link to your store's contact form
{shop_name} Your store name
{shop_url} Your store URL
{shop_logo} Your store logo

Variables for templates with discount

These variables are only filled in templates with discount, the ones that create a coupon when sent:

Variable Description
{discount_code} Discount coupon code
{discount_value} Discount applied, as a percentage (for example, 10%) or as an amount with the store currency
{minimum_amount} Minimum purchase amount to be able to use the coupon
{expiration_date} Days of validity of the coupon: the number of days you configured in the reminder

Template Types

The module provides two types of email templates:

Template Without Discount

Used when the reminder doesn't include a discount coupon.

  • Focuses on reminding about abandoned items
  • Can highlight product benefits
  • Creates urgency (limited stock, popular items, etc.)
  • Doesn't show {discount_code} or {discount_value}
Template With Discount

Used when the reminder includes a discount coupon.

  • Highlights the discount prominently
  • Shows the coupon code clearly
  • Indicates coupon validity
  • Can show {discount_code} and {discount_value}

Best Practices for Emails

Tips for effective emails:

  • Clear subject: Use a subject that creates curiosity or urgency, like "You left something behind!" or "Complete your purchase and save 10%"
  • Personalization: Always use {firstname} to personalize the greeting
  • Show products: Use {cart_content_detail} to remind customers what they left in the cart
  • Clear call to action: Include a prominent button with {url_recover_cart} like "Complete My Purchase"
  • Create urgency: If offering a discount, mention coupon expiration: "Valid for {expiration_date} days"
  • Keep it simple: Don't overload the email with too much information; focus on the message
  • Mobile friendly: Make sure the template looks good on mobile devices

Configure Cron Job

For the module to send reminders automatically, you need to configure a cron job (scheduled task) on your server. This is a process that runs periodically to check for carts that need reminders.

What is a Cron Job?

A cron job is a scheduled task that runs automatically on your server at regular intervals. Think of it as an alarm that activates a specific action at defined times.

In the case of this module, the cron job checks every hour (or at the frequency you set) if there are abandoned carts that need to receive a reminder based on your configured campaigns.

Get Cron URL

1
Access module configuration

Go to the Abandoned Cart OPC configuration page.

2
Open the "Reminders" tab

At the top you will see a blue notice that says "Remember to set the CRON to run every day to every hour" and, below it, "CRON URLs" with the URL already generated with its security token.

3
Copy the full URL

Click the copy button next to the field. It has a format similar to: https://yourstore.com/en/module/pts_abandonedcartopc/cron?token=XXXXXXX. Always copy it from the panel and do not build it by hand: depending on your store's friendly URLs setting, its form may change.

How to Configure on Your Hosting

The configuration process varies depending on your hosting provider. Here are general instructions:

  1. Log in to your cPanel
  2. Look for the "Cron Jobs" section
  3. Click "Add New Cron Job"
  4. Select frequency: "Every hour" or configure as desired
  5. In the "Command" field, paste: wget -O /dev/null "YOUR_CRON_URL"
  6. Replace YOUR_CRON_URL with the URL you copied from the module
  7. Click "Add Cron Job"

  1. Log in to Plesk
  2. Go to "Scheduled Tasks" or "Cron Jobs"
  3. Click "Add Task"
  4. Select frequency: Every hour
  5. In the "Command" field, paste: curl "YOUR_CRON_URL"
  6. Replace YOUR_CRON_URL with the URL you copied from the module
  7. Click "Save"

If your hosting doesn't have a cron configuration panel, contact your hosting provider's support and provide this information:

  • Task type: HTTP/URL cron job
  • Frequency: Every hour
  • URL to execute: The cron URL you copied from the module

They will be able to configure it for you.

How to Verify the Cron is Working

To confirm that the cron is working correctly:

  1. Open the cron URL in your browser (the full URL with the token)
  2. You will see a line of text with the result: the total number of reminders sent, or "No reminders created" if you have no active reminder. If you see "Bad token", the URL is not the one given by the panel or the token does not match. If you see "403 Forbidden", the module is not available at that moment: it is disabled, its license is not valid, it is pending an update (open its configuration once to complete the update), debug mode is enabled and your IP is not in the list, or the One Page Checkout PS module, which it depends on, is not active
  3. Check the "Emails enviados" tab (its heading reads "Sent emails") to see the reminders that have been sent
  4. Optionally, check your server logs to see the cron execution

Your Customers: Account and Reminder Unsubscribe

Besides the administration panel, the module adds two things your customers see: a section in their account to check and recover their abandoned carts, and an unsubscribe link in the emails.

My Abandoned Carts

Registered customers find in their account ("My account") a link called "My abandoned carts". That page shows them:

  • A checkbox "I want to subscribe to receive notifications of my abandoned carts" with the "Save" button. If they uncheck it and save, they stop receiving reminders.
  • A table with their abandoned carts and the columns "Discount available" (the coupon code, or "--" if it has none), "Cart total" and "Date".
  • On each row, the "Details" button, which shows the products of the cart, and the "Recover" button, which takes them to complete the purchase with that cart.

If they have no abandoned cart they will see the message "You do not have abandoned carts".

Unsubscribing from Reminders

The templates that come with the module include an unsubscribe link (the {url_unsubscribe} variable). When the customer opens it, the module unsubscribes them and shows "The subscription was successfully canceled". If something fails, they see the message "There was an error canceling your subscription".

From that moment on, the module does not send them more reminders. The customer can subscribe again from the checkbox in "My abandoned carts".

Translations

The module includes a built-in translation editor that allows you to customize all texts in any language installed in your store.

Edit Translations

1
Access the Translations section

In module configuration, click on the "Translations" tab.

2
Select the language

Choose the language you want to edit from the dropdown.

3
Modify text strings

You will see a list of all module texts. Edit the ones you want to customize.

4
Save changes

Click "Save" to apply the translations.

Share Translations with PresTeamShop

If you've translated the module to a new language or improved existing translations, you can share them with us so they can be included in future versions.

Available options:

  • Download translations: Export your translations to a file for backup or sharing
  • Share with PresTeamShop: Send your translations directly so we can include them in the next module version and help other users

Troubleshooting

Common Issues

Possible causes and solutions:

  • Cron not configured: Verify that you've correctly configured the cron job on your server (see the "Cron Job" section)
  • Debug mode active: If debug mode is enabled, only configured IPs will receive emails. Disable debug mode to activate for all customers
  • No active reminders: Make sure you've created and activated at least one reminder campaign
  • Time not met: Reminders only send when the configured time has elapsed (e.g., if set to 2 hours, it won't send before that time)

Possible causes and solutions:

  • Module recently installed: The module only tracks carts created after installation. Previous carts are not included
  • All carts converted: If all customers completed their purchases, you won't see abandoned carts (which is good!)
  • Applied filters: Check that you don't have active filters that are hiding carts
  • Abandoned time not met: Carts are only considered abandoned after the configured days in settings

How to verify and fix:

  1. Manually access the cron URL in your browser. You should see a confirmation message
  2. If you get an error when accessing the URL, contact support
  3. If the URL works but the cron doesn't execute automatically, verify the configuration in your hosting panel
  4. Contact your hosting provider's support to confirm the cron is active and running

Common solutions:

  • Override conflict: If you get an override error, contact support. Don't try to fix it manually
  • Memory errors: Increase the PHP memory_limit on your server (ask your hosting provider)
  • Permission errors: Verify that the module folder has correct permissions (755 for folders, 644 for files)

If you experience conflicts with other modules (errors, malfunctions, etc.), try temporarily disabling other recently installed modules one by one to identify which one is causing the conflict.

Once identified, contact our support with details about the conflicting module so we can help resolve the issue.

Frequently Asked Questions

Licenses and Purchase

The license includes updates and technical support for a specific period (6, 12, or 24 months depending on the plan chosen). Once it expires, you can optionally renew to continue receiving updates and support. The module will continue working even if you don't renew.
The license includes installation on one production domain, one development/staging domain, access to all updates, and technical support during the active license period.
You can see the live demo available on our website to explore all the module features. We do not offer trial versions for installation on your site.
The module will continue to work normally, but you will not receive new updates or have access to technical support.

Installation and Compatibility

The module is designed to work with any theme that follows PrestaShop standards. If you experience any conflict with your theme, contact our support team.
Yes, your license includes installation in two environments: production and development/staging. This allows you to test updates and changes before applying them to your live store.
Yes, the module is designed to be compatible with other modules. In case of conflict with a specific module, our support team can help you resolve it.
No, installation is very simple and is done from the PrestaShop Back Office. Configuring the cron job may require minimal technical knowledge, but we provide detailed instructions. If you have any problems, our support team is available to help you.

Updates

No, updates preserve all your configuration, reminders, and abandoned cart data. You would only lose the configuration if you uninstall and reinstall the module, which is not necessary for updating.
You can check for new versions by visiting our website or accessing your account in our store. We will soon add the option to check for updates directly from the module panel.
It is not mandatory, but it is recommended to update to enjoy the latest improvements, new features, and security fixes.

Technical Support

We usually respond within 24-48 business hours.
Yes, as long as you have active support within your license period, you have full access to technical support.
You can request help with installation, configuration, cron setup, error resolution, and general questions about how the module works. We can also help resolve conflicts with other modules.
Yes, our support team provides assistance in both Spanish and English.

Refunds and Warranty

We only apply refunds if the module fails to work in your store after receiving technical support. Keep in mind that before purchase you have a demo available to test the module.
We guarantee that the module works as described in the documentation. If you find any bug, we fix it at no additional cost.

Customization

Yes, we offer custom development services. Contact our support team to request a personalized quote.
It is not recommended to modify the module code yourself, as you would lose technical support and when updating the module you would lose the changes made. If you need additional features, we recommend requesting a custom development quote so that the changes are included in the module and maintained in future versions.

Support

If you need additional help or have any questions about the module, we're here to help.

Email Support

Send us an email and we'll respond as soon as possible.

support@presteamshop.com

Help Center

Visit our help center for more resources.

Visit Help Center