We Built CartRecovr: An Abandoned Cart Recovery Plugin for WooCommerce
CartRecovr captures abandoned WooCommerce carts and sends automated recovery emails with one-click cart restore. Free on WordPress.org, Pro with 3-email sequences and analytics.
Every WooCommerce store has the same problem. Customers add items to their cart, start checkout, type their email, and then leave. No order. No revenue. Just an abandoned cart sitting there.
The stats say around 70% of online shopping carts get abandoned. For a store doing $10,000 a month, that means roughly $23,000 worth of carts never converted. Even recovering 5-10% of those makes a real difference.
We built CartRecovr to solve this. It is a WordPress plugin that captures abandoned carts and automatically sends recovery emails to bring customers back. No manual work, no complicated setup, and it works with both the classic WooCommerce checkout and the newer block checkout.
How CartRecovr works
The flow is simple. A customer lands on your checkout page and types their email. CartRecovr captures it silently in the background using a lightweight AJAX request. There is no impact on page speed. A GDPR consent checkbox appears on the checkout page, and only customers who opt in will ever receive recovery emails.
If the customer leaves without completing the order, CartRecovr waits for a configurable timeout (default is 60 minutes), then marks the cart as abandoned. After that, a recovery email is sent automatically. The email contains the customer's name, a table of their cart items with images and prices, and a one-click restore link.
When the customer clicks that link, their exact cart is restored — including specific product variations and quantities — and they land on the checkout page ready to pay. Once they complete the order, CartRecovr detects it and marks the cart as recovered. All remaining queued emails are cancelled automatically. Every email includes an unsubscribe link. One click and the customer is opted out immediately.
What the free plugin includes
CartRecovr Free is available on WordPress.org. It includes everything you need to start recovering abandoned carts.
Cart capture works on both the classic shortcode checkout and the WooCommerce block checkout. Detection is automatic. The GDPR consent checkbox is injected on the checkout page and only opted-in customers receive emails. Email 1 fires automatically one hour after abandonment, and the subject, body, and delay are fully customisable through a visual editor with TinyMCE. The one-click cart restore link uses HMAC-SHA256 tokens for security.
The admin dashboard shows abandoned cart counts, recovered cart counts, revenue recovered, and recovery rate for the current month. The abandoned carts list supports filtering by status, searching by email, pagination, manual send, and delete. GDPR tools integrate with WordPress's built-in privacy tools for data export and erasure requests. Data retention is configurable, with automatic deletion of old cart data after a set number of days.
CartRecovr also auto-detects popular SMTP plugins like WP Mail SMTP, FluentSMTP, Post SMTP, Easy WP SMTP, and WP Offload SES. If you have one installed, CartRecovr uses it automatically. No duplicate SMTP configuration needed. There is also a test email button in settings to verify your mail setup works before any real emails go out.
The free plugin is fully functional. There is no locked functionality, no trial period, no feature gates.
What CartRecovr Pro adds
For stores that want to maximize recovery rates, CartRecovr Pro adds a full 3-email sequence and advanced analytics.
Email 2 fires 24 hours after abandonment — a softer follow-up reminding the customer their cart is still saved. Email 3 fires 72 hours after abandonment with an optional auto-generated discount coupon to push the customer over the edge.
The coupon system creates unique WooCommerce coupon codes per cart. You configure the discount type (percentage or fixed), amount, expiry period, and which emails include a coupon. We recommend keeping Email 1 and Email 2 coupon-free — you do not want to train customers to abandon for a discount — and only enabling the coupon on Email 3 as a final incentive. Each coupon is single-use and tied to one cart. Expired coupons are cleaned up automatically.
Pro also adds email open rate tracking via a 1x1 tracking pixel and click rate tracking via a redirect wrapper on the restore URL. The reports page includes interactive charts: a daily revenue recovered bar chart and a daily abandoned vs recovered line chart covering the last 30 days. Below the charts is an email performance funnel showing sent, opened, and clicked counts per email in the sequence. Everything can be exported to CSV.
Targeting rules let you control which abandoned carts receive recovery emails. You can set a minimum cart value, exclude specific product categories, or exclude certain user roles like administrators or wholesale buyers. Rules are evaluated at email send time, not capture time, so they apply retroactively to carts already in the queue.
The technical decisions
CartRecovr uses custom database tables (cartrecovr_carts and cartrecovr_emails) instead of WordPress custom post types. This gives us clean, fast queries without polluting the wp_posts table.
The scheduler runs via WP-Cron every 15 minutes. It handles marking pending carts as abandoned once they pass the timeout, processing the email queue, and cleaning up expired coupons. Cart capture uses two separate JavaScript files: one for the classic checkout using AJAX on email field blur, and one for the block checkout using the WooCommerce Store API extension via ExtendSchema.
The email tracking endpoints skip full WordPress template loading for performance. All AJAX handlers use nonce verification and capability checks. The restore URL token is generated using HMAC-SHA256. Cart recovery detection uses multiple hooks across classic checkout, block checkout, payment completion, and order status changes. Session-based cart ID matching takes priority over email matching to handle cases where a customer uses a different email at checkout.
The plugin declares compatibility with WooCommerce HPOS and cart/checkout blocks. It requires PHP 8.0+, WordPress 5.8+, and WooCommerce 7.0+.
Why we built it
There are existing abandoned cart recovery plugins for WooCommerce. Some are bloated with features nobody asked for. Some lock basic functionality behind paid tiers in ways that violate WordPress.org guidelines. Some have not been updated in years and do not support the new block checkout.
We wanted something clean, fast, and honest. The free version does the core job well. The Pro version adds genuinely useful features that justify the upgrade. No dark patterns, no fake urgency, no feature gates in the free version.
CartRecovr was built from scratch at FluxWillow. Every line of PHP, every CSS rule, every JavaScript handler. No third-party frameworks beyond what WordPress and WooCommerce provide natively.
Pricing
CartRecovr Free is on WordPress.org. CartRecovr Pro starts at $79/year for a single site, $149/year for up to 5 sites, and $299/year for up to 25 sites. All Pro plans include a 14-day money-back guarantee. Payments are handled by Paddle, which acts as the Merchant of Record for tax compliance. See the full comparison at cartrecovr.fluxwillow.com/pricing.
What is next
We are monitoring early feedback closely. On the roadmap: A/B testing for email subject lines, more email templates, Slack notifications for recovered carts, and a WooCommerce dashboard widget.
If you run a WooCommerce store and want to recover some of that 70% of lost revenue, give CartRecovr a try. The free version takes about two minutes to set up and starts working immediately.