Overview
Recovero saves every WooCommerce cart as the shopper builds it. This works for guests and logged in customers, on both the classic and the block checkout. When a cart with a known email address goes quiet, Recovero marks it abandoned and sends a series of reminders with a one click link that rebuilds the cart. Reminders can be emails, or SMS and WhatsApp messages sent through your own Twilio account.
The plugin is ready as soon as you activate it. It installs seven starter email templates and a default campaign of five steps over three days, and two of those steps include a unique coupon. You can then fine tune timing, design emails in a visual builder, target campaigns by cart value, products, customer type, role, country and language, and follow results on a live dashboard and in reports.
Recovero is for WooCommerce store owners who want to recover lost sales without manual work. It also covers deliverability (throttling and a send window), privacy (consent, unsubscribe, a do not email list, data retention) and connections to other tools through outgoing webhooks.
Requirements
- WordPress 6.2 or later (tested up to 7.1)
- PHP 7.4 or later
- WooCommerce 8.0 or later, installed and active (tested up to 11.2.1)
- Optional: WPML or Polylang to send reminders in the shopper's language
- Optional: a Twilio account for SMS and WhatsApp steps
Installation
Recovero Pro is a premium plugin. It needs WooCommerce, so install and activate WooCommerce first. You download Recovero as a zip file from your ProPluginsLab account.
Make sure WooCommerce is installed and active on your site.
Log in to your ProPluginsLab account and open My Account > Downloads. Download the Recovero zip file.
In WordPress, go to Plugins > Add New > Upload Plugin, choose the zip file and click Install Now.
Click Activate Plugin. The tables, the seven starter templates and the default campaign are created automatically.
If the free edition of Recovero is also active, it stays idle while Pro is active and shows a notice. Deactivate the free plugin yourself under Plugins. Your carts, campaigns, templates and settings carry over.
Open Cart Recovery in the admin menu to see the dashboard. Recovery is already running.
License and automatic updates
Recovero works fully as soon as it is activated. The license key turns on automatic updates, so new versions arrive in WordPress like any other plugin update. Pro features never depend on it.
Activate your license
Find your license key in My Account on propluginslab.io, in the license keys section. It is also in your order confirmation email.
In WordPress, open Cart Recovery > License. When two or more ProPluginsLab plugins or add-ons are active on the site, WooCommerce > Licenses also appears and lists all of them in one place.
Paste the key into the Recovero - Cart Abandonment Recovery for WooCommerce Pro row and click Activate. The status changes to Active and automatic updates are on.
Receive updates automatically
Once the license is active, new versions of Recovero show up under Dashboard > Updates and on the Plugins screen. Click Update now, or click Enable auto-updates in the Recovero row on the Plugins screen and WordPress installs every future release for you.
Good to know
- Keys are checked once a day in the background, so your site never waits for the license server. If the server is briefly unreachable, the plugin keeps its last known status.
- An expired key or a key that is not accepted only stops updates. Recovero keeps working. After renewing, click Check now in its row.
- Moving to a new domain: click Deactivate on the old site first, then activate the key on the new one. The status shows Site address changed, checking until the new address is confirmed.
- On the command line:
wp ppl-license list,wp ppl-license activate <plugin> <key>,wp ppl-license checkandwp ppl-license deactivate <plugin>.
Quick start
- Check the dashboard
Open Cart Recovery > Dashboard. You should see the live counters, the EMAIL SENDING panel with Scheduler healthy, and the next run countdown.
- Set your sender details
Go to Cart Recovery > Settings > General. Fill in From name, From email and Reply to, add an Email logo if you have one, and click Save settings.
- Review the default campaign
Open Cart Recovery > Campaigns and click Default recovery series. Check the five Recovery steps (1, 12, 24, 48 and 72 hours after abandonment), change delays or templates if you like, and click Save campaign.
- Personalize your templates
Open Cart Recovery > Email Templates, click Edit on a template, adjust the blocks in the Visual builder, click Save template, then use Send test email to see it in your inbox.
- Check capture and coupon settings
Under Settings > Capture, exclude your staff roles and test addresses. Under Settings > Coupons, set the default discount the coupon steps use.
- Watch carts come in
Carts appear under Cart Recovery > Abandoned Carts as soon as shoppers add items and give an email. Open one to see its scheduled emails and activity timeline.
#Dashboard
Cart Recovery > Dashboard gives you a live view of recovery on your store. The numbers update in real time as shoppers browse, abandon and return.
- The top cards show LIVE CARTS, carts IN RECOVERY, RECOVERED TODAY and EMAILS LAST HOUR.
- EMAIL SENDING shows how many messages are QUEUED, SENDING, SENT, FAILED and CANCELLED, the scheduler health and a countdown to the next run.
- LAST 30 DAYS shows revenue recovered, recovery rate, carts recovered, value abandoned, and email open and click rates.
- Recovery trend charts abandoned and recovered carts per day, and Quick start links to the templates, campaigns and settings.
Sending runs in the background on WooCommerce's Action Scheduler. Click Process queue now to send any due emails right away, or Scheduled actions to see the background jobs. If jobs fall behind, an admin warning tells you how late they are.
#Abandoned Carts
Cart Recovery > Abandoned Carts lists every captured cart with the customer, status, number of items, value, emails sent, location and last activity.
Use the links above the table to filter by status:
| Status | Meaning |
|---|---|
| Live | The cart is still in use and has not passed the abandonment threshold. Carts without an email or without items stay Live. |
| Abandoned | Inactive past the threshold, with an email. |
| In recovery | Abandoned, matched to a campaign, with reminders scheduled. |
| Recovered | An order was placed after at least one recovery message was sent. Counts as recovered revenue. |
| Purchased | An order was placed before any reminder was sent. Not counted as recovered. |
| Merged | A duplicate cart of the same shopper (same email from another browser or device), merged into the newest one. Kept for reference and left out of All and the abandoned totals. |
To work with the list:
- Search with Search carts, or pick dates in Captured from and to and click Filter.
- Tick carts, choose a Bulk actions entry (Mark as recovered, Mark as abandoned, Unsubscribe, Delete session recording or Delete) and click Apply. Only live carts can be marked abandoned.
- Click Export CSV to download exactly the carts the list shows, following the status, search and date range you picked.
The Location column shows the shopper country from the WooCommerce geolocation database, and the IP address when you store it under Settings > Privacy.
#Single cart view
Click a customer name in the list to open the cart.
- Cart items lists each product, quantity and line total.
- Scheduled emails shows every message for the cart: the step and channel, when it is scheduled, its status, and when it was sent. A message that was not sent shows the reason, for example the campaign was paused, the shopper opted out or the per cart cap was reached.
- Activity timeline records each event, such as Cart captured, Marked abandoned, Recovery email sent, Email opened, Recovery link clicked, Order placed, waiting for payment and Cart recovered.
- Details shows status, contact details, customer type, cart value, emails sent, language, device, country, IP address, coupon, dates and the linked order with its current status.
Click Send next email now to send the next reminder immediately instead of waiting for its scheduled time. When session replay is on, the cart screen also lets you watch what the shopper did on the storefront before leaving, and delete the recording while keeping the cart.
A cart counts as purchased only when its order is paid (or put on hold for a bank transfer or cheque). While an order waits for payment, the Details panel says so and reminders are paused.
#Campaigns
Cart Recovery > Campaigns lists your recovery campaigns with their status, number of steps, priority and which one is the default.
A campaign is an ordered series of messages. When a cart is abandoned, active campaigns are tested in priority order (lowest number first) and the first one whose conditions match runs. Only one campaign ever runs for a cart. The default campaign catches every cart that no other active campaign matches, and only one campaign can be the default.
Recovero installs Default recovery series for you: five steps at 1, 12, 24, 48 and 72 hours after abandonment, using the templates Friendly reminder, You left something behind, Discount offer, Still interested and Last chance. Steps 3 and 5 include a coupon.
Click Add campaign to create another one, for example a different series for high value carts or for one language.
#Editing a campaign
Click a campaign name to open Edit Campaign. The top part decides which carts the campaign is for. The Recovery steps part decides what is sent and when.
Set up who the campaign targets
- Enter a Campaign name and choose a Status. Pausing or setting a campaign to draft holds the messages it already queued. Setting it active again sends them, keeping the spacing between steps.
- Set a Priority. Lower numbers are evaluated first.
- Optionally limit by Cart value condition (Min and Max in your store currency), Shopper language, Cart contains (products and categories), Customer (new or returning, and the number of earlier paid orders), Customer role and Shopper country. Leave a condition empty to match every cart.
- Under Options, decide whether the sequence stops once the cart is recovered and whether this is the default campaign.
Build the steps
- For each step, set Send after and the unit (minutes, hours or days). The delay is measured from when the cart was abandoned, not from the previous step.
- Choose the channel after by: Email, SMS or WhatsApp. For email, pick the Email template and, if you like, a Subject (optional override).
- Tick Include a coupon to add a unique coupon. Leave the coupon fields on their defaults to use Settings > Coupons, or set a bigger offer for later steps.
- Click Add step to add more steps, or the × next to a step to remove it. Click Save campaign.
Editing is safe for carts already in a sequence. A changed delay moves messages already queued, and a new step is also queued for carts that are already recovering. A step whose template is inactive is marked (inactive, this step will not send).
#SMS and WhatsApp steps
A campaign step can be sent as an SMS or a WhatsApp message instead of an email, through your own Twilio account. Text message steps are off by default.
| Channel | What you set on the step | What it needs |
|---|---|---|
| Email template and an optional subject | Your site's mail setup | |
| SMS | Message text (merge tags work) | Enable text message steps, Twilio Account SID, Auth Token and SMS sender under Settings > Sending & throttling |
| Message and WhatsApp content template SID | The same Twilio settings, a WhatsApp sender, and a template approved in Twilio |
Set it up
- Go to Settings > Sending & throttling > Text messages (SMS and WhatsApp) and tick Enable text message steps. This adds a separate text message consent box to the checkout.
- Enter your Twilio Account SID (it starts with AC) and Twilio Auth Token.
- For SMS, enter SMS sender: your Twilio number, or a Messaging Service SID (MG...). For WhatsApp, enter WhatsApp sender: a WhatsApp enabled number in your Twilio account.
- Optionally change the Text message consent text, then click Save settings.
- In a campaign, set a step's channel to SMS or WhatsApp. For SMS, write the Message. For WhatsApp, enter the content SID (HX...) of a template approved in Twilio. Variable 1 is the first name, 2 the store name, 3 the cart link and 4 the coupon code.
What to expect
- Messages only go to shoppers who left a phone number and ticked the text message box at checkout. Others are skipped with the reason no consent to text messages.
- Numbers are turned into international format using the cart country when no country code was typed.
- An opt out line (Reply STOP to opt out.) is added to SMS text that has none. Twilio handles STOP replies, and a number that opted out is never texted again.
- WhatsApp only allows business initiated messages that use an approved template, which is why the content SID is required.
#Email Templates
Cart Recovery > Email Templates shows your templates as cards. Seven mobile friendly starters are installed: Friendly reminder, You left something behind, Discount offer, Last chance, Still interested, Cart saved and Premium dark. The starters make no claims on your behalf (no reviews, shipping or returns promises, or deadlines), so add your own proof points.
On each card you can:
- Edit the template in the builder.
- Duplicate it as a starting point for a new design.
- Delete it, together with its translations. A template that a campaign step still uses cannot be deleted.
- Pick a language in the dropdown and click Add translation to create a copy for that language. Shoppers whose cart was saved in that language get the translation, with its own subject, instead of the base template.
Click Create template to start from scratch.
#Template editor and test emails
The Edit Template screen has the template settings at the top, the builder on the left and a LIVE PREVIEW on the right.
- Set the Template name, Subject line and Preheader (the short preview text many inboxes show after the subject).
- Choose an Accent color, the Status (an inactive template is never sent), and for a translation the Language and the base template it translates.
- In Visual builder mode, add blocks with Heading, Text, Button, Image, Divider, Spacer, Coupon, Cart items and Social links. Use the arrows to reorder a block and × to remove it. Each block has its own settings, such as text, alignment, size and color.
- Prefer to write markup? Switch to HTML. Saving in HTML mode uses your HTML and clears the blocks.
- Click Save template.
Merge tags are replaced for each shopper when the email is sent. Click a tag to copy it: {{store_name}}, {{store_url}}, {{customer_first_name}}, {{customer_name}}, {{customer_email}}, {{customer_company}}, {{cart_items}}, {{cart_total}}, {{cart_subtotal}}, {{cart_item_count}}, {{recovery_url}}, {{recovery_button}}, {{coupon_code}}, {{coupon_block}}, {{coupon_expiry}}, {{unsubscribe_url}} and {{current_year}}.
To test, save your changes first, enter an address under Send a test and click Send test email. If sending fails, you see a message telling you to check your site mail setup.
#Reports
Cart Recovery > Reports covers a 7 days, 30 days or 90 days range. The tiles show revenue recovered, recovery rate, carts recovered, value abandoned, open rate, click rate, average time to recover and emails sent.
Below the tiles you find:
- Abandoned vs recovered: a daily chart of both.
- Engagement funnel: emails sent, opened, clicked and recovered.
- Campaign performance: carts targeted, recovered, rate and revenue per campaign.
- Most abandoned products and Most recovered products.
Amounts are never added up across currencies. Revenue and abandoned value show one line per currency.
#Settings: General
Cart Recovery > Settings has seven tabs: General, Capture, Sending & throttling, Coupons, Exit intent, Webhooks and Privacy. Click Save settings after changing any tab.
The General tab holds the master switch and the sender details.
- Keep Enable abandoned cart recovery ticked. Unticking it stops scheduling and sending.
- Set Mark abandoned after (minutes of inactivity) and Recovery links work for (days).
- Choose where a recovery link sends the shopper: Checkout or Cart.
- Under Sender, fill in From name, From email, Reply to, Email logo (use Select image to pick one from the media library) and Email footer text.
Import & export at the bottom of every tab moves your configuration between stores. Click Export settings to download a file. To import, choose the file and click Import settings. Importing overwrites the current settings. Saved Twilio tokens and webhook secrets are left out of exports.
#Settings: Capture
The Capture tab controls which carts are saved.
- Cart capture switches capture on and decides whether guests and logged in shoppers are tracked, and whether the email is read live from the checkout email field. The email is read on the classic and the block checkout only, never from other forms on your site.
- Minimum cart total to capture skips small carts.
- Exclusions keep staff, test addresses and chosen products or categories out of recovery. Matching carts are not captured, and messages already queued for them are cancelled.
A good first step is to tick your staff roles under Do not track these user roles and add your own domain under Do not track these emails, so test orders never get reminders.
#Settings: Sending & throttling
The Sending & throttling tab protects your sender reputation and holds the Twilio settings.
- Throttling caps how many emails go out per queue run, per hour and per cart, and can limit sending to a daily time window in your store timezone. On large stores this keeps sending steady.
- Tracking switches email open tracking (a one pixel image) and recovery link click tracking on or off. With clicks off, the link still restores the cart.
- Text messages (SMS and WhatsApp) connects your Twilio account. See SMS and WhatsApp steps above for the full setup.
For the best inbox placement, send your site's email through a dedicated SMTP or transactional email service.
#Settings: Coupons
The Coupons tab sets the defaults for coupon steps. When a step has Include a coupon ticked, Recovero creates a unique WooCommerce coupon for that cart.
- Coupons are restricted to the shopper email, limited to one use per customer and expire after the hours you set.
- Each coupon step can override the type, amount and expiry, and add a minimum spend, exclude sale items, grant free shipping or limit the code to products or categories.
- A later step with the same offer reuses the cart's code. A step with a different offer gets a new code, and the earlier unused code is expired.
- Unused codes are deleted a week after they expire.
Show the code in an email with the Coupon block or the {{coupon_code}}, {{coupon_block}} and {{coupon_expiry}} merge tags.
#Settings: Exit intent
The Exit intent tab sets up a cart saver popup that appears when a shopper is about to leave, and captures their email to start recovery.
- Tick Enable the exit intent popup. Tick Only show when the cart has items if it should never show to visitors with an empty cart.
- Keep Email the shopper a link back to their cart immediately ticked to send a cart link as soon as they submit the popup, and choose the Email template for it. It is sent once per cart and the scheduled series still runs afterwards.
- Choose Show on devices, Target operating systems, the Desktop trigger, Arm after (seconds on page) and Show at most (how often).
- Write your Heading, Message and Button label, pick an Accent color, and add up to six Badges. Only list what your store really offers.
- To offer a discount, tick Show a discount code in the popup, enter an existing WooCommerce coupon in Discount code, and tick Apply the code to the cart when the shopper saves it if you want it applied automatically. The headline offer is taken from that coupon.
- Click Save settings.
If the code does not match a published, unexpired coupon, the screen warns you and the popup shows no discount. Guests are asked for their email. Signed in shoppers are not asked for anything: the link goes to their account address. When Require marketing consent is on, the popup shows the consent box, and without a tick only the requested link is sent, never the reminder series.
#Settings: Webhooks
The Webhooks tab sends cart events to Zapier, Make, a CRM or any other address. It is off by default.
- Tick Enable outgoing webhooks and enter the Endpoint URL your service gave you.
- Under Send events, tick Cart captured, Cart abandoned and/or Cart recovered. Cart captured is sent once per cart, when its shopper email is first known.
- Optionally enter a Signing secret. Each request then carries an X-PPL-ACRW-Signature header with an HMAC SHA256 of the body, so your service can check it came from your store.
- Click Save settings, then click Send a test event.
Each request is a JSON message with the event, your site address and the cart: id, status, shopper email, name and phone, total, currency, item count, line items, language and recovery link. Deliveries run in the background and are retried up to four times when the endpoint does not answer with a 2xx status. The last 20 deliveries are listed on this tab.
#Settings: Privacy
The Privacy tab covers consent, data retention, the do not email list and session replay.
Privacy & data
- Require marketing consent before capturing an email adds a consent box to the checkout. Without a tick no contact details are kept and no reminder is sent. New stores in the EU, the EEA, the UK and Switzerland start with this on. Unticking the box at checkout withdraws earlier consent.
- Every recovery email has an unsubscribe link and one click unsubscribe headers. Opening the link asks the shopper to confirm, so link scanners cannot unsubscribe anyone. This cannot be switched off.
- Data retention sets how many days carts are kept. A daily job then anonymizes or deletes them. Carts that became an order are always anonymized so reports keep their totals.
Do not email list
Opt outs are kept as a one way hash of the address, so they survive the retention sweep and the privacy eraser. To add an address, enter it and click Add to the list. To remove one, enter it and click Remove from the list. Remove an address only when that shopper asked to hear from you again.
Session replay
Tick Record shopper sessions to record what happened on the storefront before a cart was abandoned, and watch it from the cart screen. Everything a shopper types is masked in their browser, payment and account areas are never recorded, recording only starts once the cart has items, and it never runs for logged in store managers.
Recovero also works with the WordPress personal data export and erase tools, and suggests privacy policy text.
#Built in documentation
Cart Recovery > Documentation is a full guide inside your admin. It explains how capture, statuses, attribution, the sending engine, campaigns, templates, merge tags, coupons, the exit intent popup, reports, throttling, session replay, webhooks, privacy, multilingual sending and SMS and WhatsApp work. For developers it lists the actions, filters and REST endpoints, and it ends with troubleshooting tips.
Settings reference
Cart Recovery > Settings > General
The master switch, abandonment timing, recovery link behavior and the sender details of every recovery email.
#Enable abandoned cart recovery
Master switch for scheduling and sending recovery emails. Carts are still captured when it is off.
When to change it
Untick it only to pause all reminders, for example while you redesign your templates.
#Stop sending once a cart is recovered
On: every campaign stops as soon as its cart is recovered. Off: each campaign decides with its own Stop the sequence once the cart is recovered option. A shopper who bought without a reminder is never emailed either way.
When to change it
Switch it off only if a campaign should keep sending after a recovery, for example a thank you message.
#Send emails in the shopper language (WPML / Polylang)
Switches WordPress to the language the cart was saved in while an email is built, and sends the template translation for that language when there is one.
When to change it
Keep it on if you run WPML or Polylang and add template translations.
#Mark abandoned after
Minutes of inactivity after which a cart with an email is marked abandoned and matched to a campaign. The minimum is 5.
When to change it
Raise it if your shoppers often take long to finish checkout.
#Recovery links work for
Days after the cart was last active during which a recovery link still restores the cart. Enter 0 to keep links working for as long as the cart is kept.
#After recovery link, send shopper to
The page a shopper lands on after clicking a recovery link, with the cart rebuilt.
#From name
The sender name on recovery emails. Leave empty to use the name shown as placeholder (your store name).
#From email
The sender address on recovery emails. Leave empty to use the address shown as placeholder.
When to change it
Use an address on your own domain for better deliverability.
#Reply to
Where shopper replies to a recovery email go.
When to change it
Set it to a monitored support address, since the starter templates invite shoppers to reply.
#Email logo
Shown at the top of every recovery email. Leave empty to use the store name. Use Select image to choose from the media library or Clear to remove it.
#Email footer text
A line at the bottom of every recovery email, for example your store address or a short note.
#BCC the store admin on recovery emails
Sends a blind copy of each recovery email to the store admin.
When to change it
Turn it on briefly to see what shoppers receive. Leave it off on busy stores.
Cart Recovery > Settings > Capture
Which carts are saved, and which roles, addresses, products and categories are left out of recovery.
#Capture carts
Saves carts as shoppers build them. Without capture there is nothing to recover.
#Track guest shoppers
Captures carts of visitors without an account. They become recoverable once their email is known.
#Track logged in shoppers
Captures carts of signed in customers, linked by their account email.
#Real time capture (report the cart as the shopper types their email)
Saves the cart and contact details while the shopper types at checkout, so a cart left right after typing an email can still be recovered.
#Capture the email from the checkout email field
Reads the email from the checkout email field. Read on the classic and the block checkout only, never from other forms on your site.
#Minimum cart total to capture
Carts below this total, in your store currency, are not captured. 0 captures every cart.
When to change it
Raise it if reminders for very small carts are not worth sending.
#Do not track these user roles
Carts from logged in users with any of the ticked roles are never captured. The list shows every role on your site.
When to change it
Tick the roles your staff use, so test checkouts never get reminders.
#Do not track these emails
One per line. Enter a full address, or @domain.com to exclude everyone at that domain. Matching carts are not captured and pending recovery emails to them are cancelled.
When to change it
Add your own domain and any test addresses.
#Do not track carts with these products
A cart holding any of the chosen products is not captured, and messages already queued for it are cancelled.
When to change it
Use it for products you never want to chase, for example free samples.
#Do not track carts with products in these categories
A cart holding any product from the chosen categories is not captured, and messages already queued for it are cancelled. The list shows your product categories.
Cart Recovery > Settings > Sending & throttling
Sending limits, open and click tracking, and the Twilio account for SMS and WhatsApp steps.
#Throttle outgoing recovery emails
Protects sender reputation on large stores by capping how fast emails go out, using the limits below.
#Max emails per queue run
How many messages one background queue run sends at most.
When to change it
Lower it if your mail service limits bursts.
#Max emails per hour
The most recovery messages sent in one hour. The exit intent cart link email counts towards it too.
When to change it
Match it to your mail service's hourly limit.
#Max emails per cart
The most recovery messages one cart can receive. Further messages are cancelled with the reason per cart cap reached.
When to change it
Raise it if a campaign has more steps than this number.
#Only send within a daily time window
Holds messages that fall due outside the send window until the window opens.
When to change it
Turn it on so shoppers are not reminded at night.
#Send window
Start of the daily send window, in the store timezone.
#Track email opens
Adds a one pixel image to each email that records when it is opened. Feeds the open rate in reports.
#Track recovery link clicks
When off, links carry no message id and no click is recorded. The link still restores the cart.
#Enable text message steps
Lets campaign steps go out as SMS or WhatsApp through your Twilio account. Off by default. Adds the text message consent box to the checkout.
When to change it
Turn it on when you want SMS or WhatsApp steps and have a Twilio account.
#Twilio Account SID
The Account SID of your Twilio account. It starts with AC.
#Twilio Auth Token
The Auth Token of your Twilio account. A saved token is never shown again and is left out of settings exports. Leave the box blank to keep the saved token.
#SMS sender
Your Twilio number, or a Messaging Service SID (MG...). SMS steps are sent from it.
#WhatsApp sender
A WhatsApp enabled number in your Twilio account. WhatsApp steps are sent from it.
#Text message consent text
The label of the text message consent box at checkout. Leave empty to use the text shown as placeholder: Text me a reminder about my cart if I do not finish my order. Message and data rates may apply. Reply STOP to opt out.
Cart Recovery > Settings > Coupons
Defaults for the unique coupons created by coupon steps. Each coupon step of a campaign can override them.
#Auto generate a unique coupon for coupon steps
Creates a unique WooCommerce coupon for the cart when a step has Include a coupon ticked.
#Discount type
The default type of discount for recovery coupons.
#Amount
The default discount: a percentage or an amount, depending on Discount type.
#Expires after
Hours after creation that the coupon stops working. Unused codes are deleted a week after they expire.
#Coupon prefix
Text placed at the start of every generated code, so you can recognize recovery coupons in WooCommerce.
#Usage limit per coupon
0 for no limit. Each coupon is also limited to the shopper email and to one use per customer.
#Individual use only (cannot combine with other coupons)
The recovery coupon cannot be combined with other coupons in the same order.
When to change it
Untick it if you want shoppers to stack it with other promotions.
#Grant free shipping
Recovery coupons also grant free shipping, when your shipping setup offers a free shipping method that a coupon can unlock.
Cart Recovery > Settings > Exit intent
The cart saver popup that appears when a shopper is about to leave and captures their email to start recovery.
#Enable the exit intent popup
Shows the popup on your storefront when the trigger below fires.
#Only show when the cart has items
Shows the popup only to visitors with something in their cart.
When to change it
Keep it on so empty cart visitors are not interrupted.
#Email the shopper a link back to their cart immediately
Sent once per cart as soon as they submit their email in the popup. The scheduled recovery series still runs afterwards. It counts towards the hourly cap and is not sent while recovery is switched off.
#Email template
The template used for that immediate email. Edit it under Cart Recovery, Email Templates.
#Show on devices
The devices the popup appears on.
#Target operating systems
Leave all unchecked to target every operating system.
When to change it
Tick systems only if you want the popup for some of them.
#Desktop trigger
What opens the popup on desktop. Mobile always uses the back gesture, upward scroll, or inactivity.
#Arm after
Seconds on the page before the popup can appear.
When to change it
Raise it so shoppers who just arrived are not interrupted.
#Show at most
How often the same visitor can see the popup.
#Heading
The popup headline. Leave empty to use the built in heading.
#Message
The text under the headline. Leave empty to use the built in message.
#Button label
The text on the submit button. Leave empty to use the placeholder text, Save my cart.
#Accent color
The main color of the popup button and highlights.
When to change it
Match it to your brand color.
#Badges
Short promises shown under the form, one per line, up to six. Only list what your store really offers. Leave empty to show none.
#Show a discount code in the popup
Shows the coupon from Discount code in the popup, with the headline offer taken from that coupon.
#Apply the code to the cart when the shopper saves it
Applies the discount code to the cart as soon as the shopper submits the popup.
#Discount code
An existing WooCommerce coupon code, typed as it is (SAVE-10 works). The headline offer is taken from that coupon. If no published, unexpired coupon has this code, the popup shows no discount.
When to change it
Create the coupon under Marketing > Coupons in WooCommerce first, then enter its code here.
Cart Recovery > Settings > Webhooks
Send cart events to Zapier, Make, a CRM, or any endpoint. Payloads are JSON and can be HMAC signed.
#Enable outgoing webhooks
Sends the chosen cart events to the endpoint below.
#Endpoint URL
The address that receives the events, as given by your automation tool or CRM.
#Send events
The cart events that trigger a webhook.
#Signing secret
Optional. Sent as an X-PPL-ACRW-Signature HMAC SHA256 header. A saved secret is never shown again. Leave the box blank to keep the saved secret.
When to change it
Set one if your endpoint can verify signatures.
Cart Recovery > Settings > Privacy
Consent, data retention, the do not email list and session replay.
#Require marketing consent before capturing an email
Adds a consent box to the checkout. Without a tick no contact details are kept and no reminder is sent. New stores in the EU, the EEA, the UK and Switzerland start with this on.
When to change it
Turn it on when your local rules require consent for marketing reminders.
#Anonymize instead of deleting when retention expires
When a cart passes the retention period, its personal details are cleared and totals kept, instead of deleting it. Carts that became an order are always anonymized, never deleted, so revenue reports keep their totals.
#Store the shopper IP address
Off by default. The country is always recorded for reporting; switching this on also keeps the raw address, which is personal data.
#Data retention
Days a cart is kept, counted from when it was first captured. 0 keeps data forever. A daily job then anonymizes or deletes it.
#Consent text
The label of the marketing consent box at checkout. Leave empty to use the built in text.
#Delete all plugin data when the plugin is uninstalled
When you delete the plugin, also removes its tables, settings, scheduled jobs and session recordings.
When to change it
Tick it only if you will not use Recovero again on this site.
#Email address
The address to add to or remove from the do not email list with Add to the list or Remove from the list. Only a one way hash of each address is kept.
When to change it
Remove an address only when that shopper asked to hear from you again.
#Record shopper sessions
Off by default. Recording only starts once a shopper has items in their cart, and never runs for logged in store managers. Everything typed is masked and payment and account areas are never recorded.
When to change it
Turn it on to understand why shoppers leave the checkout.
#Record on
Cart and checkout is where a sale is usually won or lost, and keeps recordings small. Recording every page shows the whole journey but stores far more.
#Record this share of sessions
The percentage of eligible sessions that are recorded, from 1 to 100.
When to change it
Lower it on busy stores to save space.
#Stop recording after
Seconds after which a recording stops, from 10 to 1800.
#Maximum size per cart
Space a recording may take in the database, in KB after compression. When it is full the oldest page visits are dropped first.
#Delete recordings after
Days after which recordings are deleted. Recordings are also removed with their cart.
Cart Recovery > Campaigns > Edit Campaign
Who a campaign targets and the steps it sends. Fields in the steps part repeat for every step.
#Campaign name
The name shown in the Campaigns list and in Reports.
#Status
Pausing a campaign or setting it to draft also holds the messages it has already queued. Setting it active again sends them, keeping the spacing between steps. Deleting a campaign ends its messages.
#Priority
Lower numbers are evaluated first. The first active campaign whose conditions match runs.
When to change it
Give targeted campaigns a lower number than the default campaign.
#Min
The lowest cart value this campaign targets, in your store currency. Carts in another currency are converted with your currency switcher rate when it provides one.
#Max
The highest cart value this campaign targets. Leave max at 0 for no upper limit.
#en
One checkbox per language your site uses, under Shopper language. Only carts saved in the ticked languages match. Leave all unticked for every language.
When to change it
Tick a language to run a separate campaign for those shoppers.
#Products
Under Cart contains: the cart must hold at least one of these products. Leave empty for any cart.
#Cart contains
The product search box (Any product). Type part of a product name and pick it from the results.
#Categories
Under Cart contains: the cart must hold at least one product from these categories. When you set both products and categories, both must match. Leave empty for any cart.
#Customer
Targets new or returning customers. Orders are matched by account and by billing email, so guests count too.
#Paid orders before: at least
The fewest earlier paid orders a shopper must have for this campaign to match.
#at most
The most earlier paid orders a shopper may have. Leave at most empty for no limit.
#Customer role
Only carts of the ticked roles, or guests, match. Leave all unticked for everyone. The list shows every role on your site.
#Countries
Under Shopper country: the list holds every country WooCommerce knows. Only carts from the chosen countries match. The country is recorded when the cart was saved, from the WooCommerce geolocation database. Leave empty for any country.
#Shopper country
The country search box (Any country). Type a country name and pick it.
#Stop the sequence once the cart is recovered
Untick to keep sending the remaining steps after a recovery, for example a thank you message. Settings, General stops every campaign on recovery, so this box has no effect until that setting is switched off.
#Use as the default campaign
The default campaign runs for carts no other active campaign matches. Only one campaign can be the default.
#Send after
The delay of this step, measured from when the cart was abandoned. Changing a delay also moves messages that are already queued.
#Delay unit
The unit of the Send after delay.
#by Email SMS WhatsApp
The channel this step is sent through. SMS and WhatsApp need Enable text message steps and your Twilio details under Settings, Sending & throttling.
#Message
Shown when by Email SMS WhatsApp is set to SMS or WhatsApp.
The text of the SMS or WhatsApp message. Merge tags work here, for example {{customer_first_name}}, {{store_name}} and {{recovery_url}}. An opt out line is added to SMS text that has none.
#WhatsApp content template SID
Shown when by Email SMS WhatsApp is set to WhatsApp.
The content SID (HX...) of a WhatsApp template approved in Twilio. Variable 1 is the first name, 2 the store name, 3 the cart link and 4 the coupon code.
#Email template
Shown when by Email SMS WhatsApp is set to Email.
The template this email step sends. An inactive template is never sent and the step is skipped.
#Subject (optional override)
Shown when by Email SMS WhatsApp is set to Email.
Replaces the template's subject line for this step only. Leave empty to use the template subject.
#Include a coupon
Adds a unique coupon for the cart to this step, and shows the coupon fields below.
When to change it
Use it on later steps to give hesitant shoppers a reason to finish.
#Discount As in Settings, Coupons Percentage Fixed cart discount
Shown when Include a coupon is ticked.
The discount type of this step's coupon.
#Amount
Shown when Include a coupon is ticked.
The discount of this step's coupon. Leave empty to use the default amount.
When to change it
Set a bigger amount on the last step to offer more.
#Expires after hours
Shown when Include a coupon is ticked.
Hours until this step's coupon expires. Leave empty to use the default expiry.
#Minimum spend
Shown when Include a coupon is ticked.
The cart subtotal needed before the coupon applies. Leave empty for no minimum.
#Exclude sale items
Shown when Include a coupon is ticked.
The coupon does not discount products that are already on sale.
#Free shipping
Shown when Include a coupon is ticked.
This step's coupon also grants free shipping.
#Only for these products
Shown when Include a coupon is ticked.
Limits the coupon to the chosen products. Leave empty for any product.
#Any product
Shown when Include a coupon is ticked.
The search box of Only for these products. Type part of a product name and pick it.
#Only for these categories Accessories Apparel Home & Kitchen Stationery Uncategorized
Shown when Include a coupon is ticked.
Only for these categories: limits the coupon to products in the chosen categories. Leave empty for any category.
#Any category
Shown when Include a coupon is ticked.
The search box of Only for these categories. Click it and choose categories.
Cart Recovery > Email Templates
The template cards. Each card has a language dropdown next to Add translation.
#Language
The language of the translation that Add translation creates for this template. The list shows the languages your site uses.
When to change it
Pick a language, then click Add translation.
Cart Recovery > Email Templates > Edit Template
Template details, the visual builder blocks and the test email. Block fields repeat for every block of that kind.
#Template name
The name shown on the template card and in the template dropdowns.
#Subject line
The email subject. Merge tags work here. A step's subject override replaces it.
#Preheader
The short preview text many inboxes show after the subject.
#Accent color
The main color of the template, used for buttons and highlights.
#Status Active Inactive
Status: whether the template can be sent.
#Language Any language en
Language: the language this template is for.
#Translation of None, this is a base template You left something behind Discount offer Last chance Still interested Cart saved Premium dark
Translation of: the base template this one translates. A translation is sent instead of its base template to shoppers whose cart was saved in its language, with its own subject. Campaign steps always point at the base template.
#Text
The text of a Heading block. Merge tags work here.
#Alignment left center right
Alignment of the block's content.
#Size
Font size of the heading or text block, in pixels.
#Color
Text color of the heading or text block.
#Label
The text on a Button block.
#Link recovery custom
Link: where the button goes.
#URL
The address a button with a custom link opens.
#you+krgpk4ab6y@demo.propluginslab.io
The address under Send a test that receives the test email. Save your changes first, then click Send test email.
On your site
Recovero adds no shortcodes or blocks. Shoppers see it in these places:
- Checkout: when Require marketing consent is on, a consent box (default text: Email me a reminder about my cart if I do not finish my order.). When text message steps are on, a separate text message consent box.
- Exit intent popup: when enabled, a cart saver popup on your storefront when a shopper is about to leave. Guests enter their email. Signed in shoppers just confirm. It can show your badges and a discount code, and after submitting the shopper sees Done! We have emailed you a link back to your cart. (or that the cart is saved).
- Recovery link: opening it rebuilds the cart, adds to anything already in the cart, re-applies the shopper's own coupons and goes to checkout or the cart. The shopper sees Welcome back, your cart has been restored. Items that sold out are skipped and reduced quantities are named. A cart that was already checked out shows This cart was already checked out, so there is nothing to restore.
- Unsubscribe page: the unsubscribe link in every email opens a confirmation page asking the shopper to confirm before they are removed. Afterwards they see You have been unsubscribed from cart reminder emails.
Frequently asked questions
Does it work right after activation?
Yes. A default campaign of five steps over three days and seven email templates are installed on activation, so carts are recovered without any setup.
Does it capture guest shoppers?
Yes. Guest emails are captured in real time from the checkout email field, on both the classic and the block checkout. A cart can only be recovered once an email is known.
When is a reminder sent?
A cart is marked abandoned after the Mark abandoned after time (30 minutes by default). Each step is then sent at its delay, counted from abandonment. In the default campaign that is 1, 12, 24, 48 and 72 hours.
Can I send SMS or WhatsApp reminders?
Yes, through your own Twilio account. Switch on Enable text message steps under Settings, Sending & throttling, enter your Twilio details and set a step's channel to SMS or WhatsApp. Messages only go to shoppers who ticked the text message box at checkout. WhatsApp needs a template approved in Twilio.
How do the coupons work?
A step with Include a coupon gets a unique WooCommerce coupon for that cart. It is tied to the shopper email, limited to one use per customer and expires after the hours you set. Later steps can offer a bigger discount, and unused codes are deleted a week after they expire.
What if a product sold out before the shopper returns?
Stock is checked again when the recovery link is opened. Unavailable items are skipped, quantities are reduced to what is left, and the shopper is told which items changed. Reminders for a cart whose products are all gone are cancelled.
Does it support multilingual stores?
Yes. With WPML or Polylang the cart language is saved, emails are built in that language and the matching template translation is sent. Add translations with Add translation on the Email Templates screen, and limit campaigns to languages.
How do shoppers unsubscribe?
Every recovery email has an unsubscribe link and one click unsubscribe headers. The link asks the shopper to confirm. An unsubscribe covers every cart of that address, and the address is kept on the do not email list as a one way hash.
Can I connect it to Zapier, Make or my CRM?
Yes. Turn on outgoing webhooks under Settings, Webhooks, enter the endpoint URL and choose the events. Use Send a test event to check the connection.
Does any data leave my site?
Only for the features you switch on: webhooks send to the address you enter, and SMS and WhatsApp steps go to Twilio. Cart capture, emails (through your site's own mail setup), session replay, the popup and the reports make no remote requests. The country is looked up in the WooCommerce geolocation database on your server.
Will my staff get reminders when they test the checkout?
Not if you exclude them. Under Settings, Capture, tick their roles in Do not track these user roles and add their addresses or domain to Do not track these emails. Session replay never runs for logged in store managers.
Troubleshooting
- A reminder has not been sent yet.
Emails only send at their scheduled time. Open the cart and check Scheduled emails, which shows when each one is due. The first step waits for its delay after abandonment, and the send window can hold messages. To send now, click Send next email now on the cart.
- Nothing sends automatically.
Sending relies on Action Scheduler, which runs on site traffic or a real system cron. Check that the dashboard shows Scheduler healthy and a next run. On a store with little traffic, ask your host to add a system cron running
wp action-scheduler run. You can see progress under WooCommerce > Status > Scheduled Actions and run the queue now with Process queue now.- A cart did not become abandoned.
Only carts with a captured email are marked abandoned, because a cart without an email cannot be recovered. Carts without an email or without items stay Live. Also check the exclusions and Minimum cart total to capture under Settings, Capture, and Require marketing consent under Settings, Privacy.
- "The test email could not be sent. Check your site mail setup (for example your SMTP plugin log)."
Your site could not send email. Check your SMTP or mail plugin log and settings. For the best inbox placement, send through a transactional email service, for example with WP Mail SMTP.
- "This template is still used by a campaign step. Choose another template for that step first."
A template a step uses cannot be deleted. Open Campaigns, change the Email template of every step that uses it, save the campaign, then delete the template.
- "The next message was not sent and has been cancelled."
The message failed a check right before sending. The notice and the cart screen give the reason, for example the campaign was paused or deleted, the template is inactive, the shopper opted out, the per cart cap was reached, or the cart holds an excluded product. For SMS or WhatsApp, the reason no consent to text messages means the shopper did not tick the text message box.
- "The test webhook could not be delivered. See the delivery log below."
Check that Enable outgoing webhooks is on, the Endpoint URL is correct and saved (click Save settings first), and that your service answers with a 2xx status. The delivery log on the Webhooks tab shows the last 20 attempts. Local network addresses are refused.
- "No published, unexpired coupon has this code, so the popup shows no discount."
The Discount code on the Exit intent tab must match an existing WooCommerce coupon that is published and not expired. Create or fix the coupon in WooCommerce, then enter its code exactly as it is.
- "Import failed. Please upload a valid settings file."
Import accepts only a small JSON settings file made with Export settings. Export again from the source store and import that file without editing it.
- "Bulk action applied to some of the selected carts. Only live carts can be marked abandoned."
Some selected carts were not Live, so they could not be marked abandoned. Filter by Live and run Mark as abandoned on those carts only.