Title: CatCode Abandoned Cart Recovery for WooCommerce
Author: CatCode
Published: <strong>September 8, 2026</strong>
Last modified: September 8, 2026

---

Search plugins

![](https://ps.w.org/catcode-abandoned-cart-recovery-for-woocommerce/assets/banner-
772x250.png?rev=3686583)

![](https://ps.w.org/catcode-abandoned-cart-recovery-for-woocommerce/assets/icon-
256x256.png?rev=3686583)

# CatCode Abandoned Cart Recovery for WooCommerce

 By [CatCode](https://profiles.wordpress.org/catcodestudio/)

[Download](https://downloads.wordpress.org/plugin/catcode-abandoned-cart-recovery-for-woocommerce.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/catcode-abandoned-cart-recovery-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/catcode-abandoned-cart-recovery-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/catcode-abandoned-cart-recovery-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/catcode-abandoned-cart-recovery-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/catcode-abandoned-cart-recovery-for-woocommerce/)

## Description

Most shoppers who fill a cart never reach the “thank you” page. This plugin records
those carts, waits a configurable amount of time, and then emails the shopper a 
single link that puts every product straight back into their cart.

#### How it works

 1. A shopper adds products to the cart. Logged-in customers are recorded immediately;
    guests are recorded as soon as they type an email address at checkout (classic 
    checkout and Checkout Blocks are both supported).
 2. After the configured period of inactivity (60 minutes by default) a background 
    scan marks the cart as **abandoned**.
 3. A reminder email goes out after the delay you choose, carrying a personal recovery
    link.
 4. Clicking the link restores the cart and pre-fills the checkout with the address
    already known. The cart becomes **recovered** automatically once an order is placed
    by that customer.

#### Features

 * Cart capture for logged-in customers and for guests who entered an email at checkout
 * Configurable inactivity window before a cart counts as abandoned
 * A reminder email with a fully editable subject and body
 * Placeholders: `{customer_name}`, `{cart_items}`, `{recovery_link}`, `{store_name}`
 * One-time recovery links with a configurable lifetime (7 days by default) — only
   a SHA-256 hash of the token is ever stored
 * Cart statuses: active  abandoned  recovered / lost, with automatic recovery detection
   when an order arrives
 * Admin cart list with a status filter, email search and four statistic tiles: 
   carts abandoned, carts recovered, revenue recovered and recovery rate
 * Anti-spam guard: the same address is not emailed more often than once every N
   days
 * Automatic data retention cleanup and integration with the WordPress personal 
   data exporter and eraser
 * HPOS (custom order tables) compatible, works with the block-based checkout

Everything runs on your own server. Reminders are sent through your site’s own `
wp_mail()`, and the captured carts are stored in your own database — the plugin 
does not contact any external service.

#### Requirements

 * WooCommerce 7.0 or newer
 * PHP 7.4+
 * Working WP-Cron (or a real system cron calling `wp-cron.php`)

The plugin interface is fully translated into Ukrainian. / Інтерфейс плагіна повністю
перекладено українською.

### External services

This plugin does not connect to any external service. It makes no outbound HTTP 
requests of any kind: cart capture, the abandonment scan, the reminder email (sent
through your site’s own `wp_mail()`) and the recovery link all run entirely on your
own server, and no data ever leaves your site.

### Privacy

This plugin stores personal data of shoppers who did not complete an order, because
a reminder cannot be sent without it.

**What is stored:** the email address, the customer name (when known), the WordPress
user id for logged-in customers, a snapshot of the cart contents (product name, 
quantity, price), the cart total and currency, the cart status, and how many reminders
were sent and when. Recovery tokens are stored only as a SHA-256 hash, never in 
plain text.

**When it is stored:** for logged-in customers, as soon as they have items in the
cart; for guests, only once they have typed an email address at checkout. Anonymous
browsing is never recorded.

**Where it is stored:** in the `{prefix}catcode_abandoned_carts` table in your own
WordPress database. Nothing is sent to CatCode or to any other third party — the
plugin makes no outbound requests at all.

**How long it is kept:** rows are deleted automatically by a daily job once they
are older than the retention period set on the settings page (90 days by default;
set it to 0 to keep the data indefinitely, which is not recommended). Uninstalling
the plugin drops the table entirely.

**Data subject requests:** the plugin registers a WordPress personal data exporter
and eraser, so a shopper’s carts are included in the standard Tools  Export Personal
Data and Tools  Erase Personal Data flows, keyed by email address. The plugin also
contributes suggested wording to the site privacy policy screen (Settings  Privacy
Policy guide).

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/catcode-abandoned-cart-recovery-
    for-woocommerce/`
 2. Activate it in the “Plugins” menu
 3. Go to WooCommerce  Abandoned Cart Settings and set the timings and the email text
 4. Watch the results under WooCommerce  Abandoned Carts

## FAQ

### When exactly is a guest cart captured?

Only after the shopper has entered an email address at checkout. Before that there
is nothing to send a reminder to, so nothing is stored — no personal data is collected
from anonymous browsing.

### Does it work with the block-based checkout?

Yes. The classic checkout is captured server-side through the `update_order_review`
AJAX call; the block checkout posts the email to the plugin’s own REST route as 
soon as the field is filled in. Both paths end in the same table.

### How often does the scan run?

Every 15 minutes, through WP-Cron (`catcode_abandoned_cart_scan`). A second daily
event (`catcode_abandoned_cart_cleanup`) closes expired carts and enforces the retention
period.

### Is the recovery link safe to email?

The link carries a 32-character random token. Only its SHA-256 hash is stored in
the database, the comparison is done with `hash_equals()`, the token is single-use,
and it is stripped from the address bar right after the cart is restored.

### Will a customer receive several reminders for several carts?

No. The “do not email the same address more often than once every N days” setting
throttles reminders per address across all carts.

### Does the plugin send anything to an external server?

No. It makes no outbound requests at all — see the “External services” section above.

### What happens to the stored data when I uninstall?

Uninstalling the plugin drops its database table and deletes its options, so no 
captured cart data is left behind.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CatCode Abandoned Cart Recovery for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ CatCode ](https://profiles.wordpress.org/catcodestudio/)

[Translate “CatCode Abandoned Cart Recovery for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/catcode-abandoned-cart-recovery-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/catcode-abandoned-cart-recovery-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/catcode-abandoned-cart-recovery-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/catcode-abandoned-cart-recovery-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/catcode-abandoned-cart-recovery-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release: cart capture for customers and guests, abandonment scan, reminder
   email with a one-time recovery link, cart list with statistics, retention cleanup
   and privacy tools.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [abandoned cart](https://wordpress.org/plugins/tags/abandoned-cart/)[cart recovery](https://wordpress.org/plugins/tags/cart-recovery/)
   [ecommerce](https://wordpress.org/plugins/tags/ecommerce/)[email](https://wordpress.org/plugins/tags/email/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/catcode-abandoned-cart-recovery-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/catcode-abandoned-cart-recovery-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/catcode-abandoned-cart-recovery-for-woocommerce/reviews/)

## Contributors

 *   [ CatCode ](https://profiles.wordpress.org/catcodestudio/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/catcode-abandoned-cart-recovery-for-woocommerce/)