Title: CartRevival &#8211; Abandoned Cart Recovery &amp; Live Cart Monitor
Author: cartrevival
Published: <strong>31 Luglio 2026</strong>
Last modified: 28 Agosto 2026

---

Ricerca i plugin

![](https://ps.w.org/cartrevival/assets/banner-772x250.png?rev=3630337)

![](https://ps.w.org/cartrevival/assets/icon-256x256.png?rev=3630337)

# CartRevival – Abandoned Cart Recovery & Live Cart Monitor

 Di [cartrevival](https://profiles.wordpress.org/cartrevival/)

[Scarica](https://downloads.wordpress.org/plugin/cartrevival.2.13.0.zip)

 * [Dettagli](https://it.wordpress.org/plugins/cartrevival/#description)
 * [Recensioni](https://it.wordpress.org/plugins/cartrevival/#reviews)
 *  [Installazione](https://it.wordpress.org/plugins/cartrevival/#installation)
 * [Sviluppo](https://it.wordpress.org/plugins/cartrevival/#developers)

 [Supporto](https://wordpress.org/support/plugin/cartrevival/)

## Descrizione

**CartRevival is abandoned cart recovery for WooCommerce that also shows you carts
as they happen.** It shows you the cart filling up right now, and automatically 
wins it back if the shopper leaves — a genuine cart revival, not just a reminder.

Every shopper who adds a product is captured — registered customers and anonymous
guests alike — along with their cart contents, location and device. If they go quiet,
CartRevival marks the cart abandoned and sends a cart abandonment email that rebuilds
their exact cart in one click.

#### Live cart tracking, free

The Live tab is a real-time view of your store. Watch visitors arrive, browse, add
products and reach checkout, with cart values updating the instant something changes.
See what people added and then removed — the hesitation that never shows up in any
other report.

#### What you get for free

 * **Abandoned cart recovery** for both logged-in customers and guests
 * **Live cart tracking** monitor with real-time visitor and cart status
 * **Exit intent popup** on desktop and mobile, with scroll-up velocity and back-
   gesture detection on touch devices
 * **A three-step recovery email series**, each step with its own delay, subject,
   heading, content, coupon field and open/click stats
 * **Early capture popup** that asks for an email or phone on add-to-cart, so guest
   carts become recoverable
 * **Tab notification** that alternates the browser tab title and badges the favicon
   while the shopper is on another tab
 * **One-click cart restore link** that rebuilds variations, quantities and custom
   item data
 * **Conversion funnel**: visitors  add to cart  checkout  orders, with drop-off
   at each step
 * **Reports**: abandonment rate, recoverable revenue, recovered revenue, top abandoned
   products, abandonment by country
 * Remember checkout input across page reloads
 * CSV export including a ready-to-use recovery link per cart
 * Store owner notifications, instantly or as a daily digest
 * Bot defense on every capture: honeypot, user-agent blocklist, minimum time on
   page, optional reCAPTCHA v3
 * Exclusions by email, phone and user role, plus auto-delete for old anonymous 
   carts
 * Full GDPR support: data exporter, eraser, one-click unsubscribe, IP and URL collection
   toggles

#### Built to be invisible on your storefront

Performance was the first requirement, not an afterthought.

 * An always-loaded core of about 2 KB gzipped (2.2 KB measured), loaded deferred—
   every other feature is a tiny module that downloads only when its trigger fires
 * No jQuery, no frontend CSS unless you turn on a popup
 * Tracking uses `navigator.sendBeacon()`, so nothing ever blocks navigation
 * Custom database tables with pre-aggregated daily reports — dashboards never scan
   raw data
 * No `admin-ajax.php` anywhere
 * Zero database writes on a page view when the visitor has an empty cart

#### WhatsApp cart recovery — free

WhatsApp reminders are included in the free plugin. Connect your WhatsApp number
free at [6rsh.com](https://6rsh.com/), and CartRevival sends an approved-template
reminder for every abandoned cart with a phone number. If you already run the 6rsh
WooCommerce plugin, CartRevival reuses your existing connection automatically — 
nothing to paste.

#### No limits on the free plugin

There is no cart quota, no registration and no account. Everything described above
works on every store, on every cart, forever, and this plugin never contacts a licensing
server to decide what you may do.

A separate paid add-on, CartRevival PRO, adds channels and automation on top: SMS
through Twilio or BulkGate, web push, a unified multi-channel sequence builder, 
automatically generated single-use coupons, AI message suggestions, email-marketing
sync, and the full visitor analytics history. It is an optional extra — nothing 
here is switched off or held back to make a case for it. [Details and pricing](https://cartrevival.com/#pricing).

### Performance

CartRevival’s storefront footprint is two-stage, and the always-loaded part is about
2 KB:

 * **Core (always loads): 2.2 KB gzipped.** The tracking beacon and a tiny module
   loader. Deferred, sendBeacon transport, no CSS, zero render-blocking, zero database
   writes on an empty-cart page view.
 * **Feature modules (load only on their trigger):** exit intent (~1.1 KB, on a 
   real leave gesture), field capture (~1.4 KB, on first field focus — or on checkout),
   early-capture popup (~1.0 KB, on add-to-cart), push opt-in + service worker (
   ~0.6 KB, on add-to-cart with push enabled), tab notification (~0.8 KB, first 
   time the tab is hidden). A visitor who never triggers a feature never downloads
   it.
 * **Enforced at build time:** the release build fails if the core ever exceeds 
   4 KB gzipped, so the claim cannot silently rot.

### External services

This plugin works entirely on your own server by default. It does not phone home,
and it has no licence check, no registration and no usage metering: with a fresh
install and default settings, **it makes no external requests at all**.

Three optional integrations can send data off your site. Each is off until you switch
it on, and each is listed here with exactly what leaves your server.

**1. 6rsh (WhatsApp reminder delivery) — only if you connect it**

To send WhatsApp reminders the plugin needs a WhatsApp Business sender, which it
reaches through 6rsh, operated by 6rsh.com. It is used only when you save a 6rsh
API key (or already run the 6rsh WooCommerce plugin on the same site) and switch
the WhatsApp channel on.

 * What is sent: your API key, the shopper’s phone number, the approved template
   name, and the template variables you mapped (typically the shopper’s first name,
   your store name, the cart total and the recovery link).
 * When: at the moment a WhatsApp reminder is sent for an abandoned cart, and when
   the plugin fetches your list of approved templates so you can pick one.
 * Terms of service: https://6rsh.com/terms
 * Privacy policy: https://6rsh.com/privacy

**2. ip-api.com (visitor country and city lookup) — off by default**

Location for the carts list and live monitor normally comes from WooCommerce’s own
MaxMind database, which is a file on your server; nothing is transmitted for that.
If that database cannot place an address, and only if you tick “Look up a visitor’s
country and city with an external service” under CartRevival  Settings  Compliance,
that one IP address is sent to ip-api.com, operated by ip-api.com.

 * What is sent: a single visitor IP address. Nothing else — no name, email, phone,
   cart contents or order data.
 * When: at most once per IP address per day, and only when the local database returned
   no country.
 * Note: the free ip-api.com endpoint accepts plain HTTP only, so this request is
   not encrypted in transit. This is why the setting is off by default. You can 
   point it at a provider of your choice with the `cartrevival_geo_provider_url`
   filter, or disable it in code with the `cartrevival_geo_remote_enabled` filter.
 * Terms of service: https://ip-api.com/docs/legal
 * Privacy policy: https://ip-api.com/docs/legal

**3. Google reCAPTCHA v3 (bot filtering on capture) — only if you configure it**

If you enter reCAPTCHA v3 keys under CartRevival  Settings  Capture, captures are
verified with Google’s siteverify endpoint.

 * What is sent: your reCAPTCHA secret key, the reCAPTCHA token from the visitor’s
   browser, and the visitor’s IP address, to https://www.google.com/recaptcha/api/
   siteverify.
 * When: on each cart capture, while reCAPTCHA keys are configured.
 * Terms of service: https://policies.google.com/terms
 * Privacy policy: https://policies.google.com/privacy

**4. cartrevival.com (opt-in usage telemetry) — off until you opt in**

CartRevival can send a small daily ping to cartrevival.com, operated by us, so we
know which plugin, WordPress and PHP versions are in use. This is strictly opt-in:
nothing is ever sent until you choose an option on the one-time notice shown on 
CartRevival’s own admin screens, and choosing “No thanks” is remembered and never
re-asked.

 * What is sent: the CartRevival version, WordPress version and PHP version, plus
   either a random site token (if you chose “Share anonymously”) or your site’s 
   domain (only if you chose “Share with my domain”). Never any customer, cart, 
   order or personal data.
 * When: at most once per day, only after you opt in. You can change or withdraw
   the choice at any time under CartRevival  Settings  Compliance  Usage telemetry;
   withdrawing stops the pings and deletes the site token so past pings cannot be
   linked to you.
 * Terms of service: https://cartrevival.com/terms
 * Privacy policy: https://cartrevival.com/privacy

## Screenshot

[⌊The Live monitor — every shopper on your store right now, with their cart value
updating as it changes. This is the view no other recovery plugin gives you.⌉⌊The
Live monitor — every shopper on your store right now, with their cart value updating
as it changes. This is the view no other recovery plugin gives you.⌉[

The Live monitor — every shopper on your store right now, with their cart value 
updating as it changes. This is the view no other recovery plugin gives you.

[⌊The Carts list — every captured cart with its contents, contact, location and 
status, and bots separated from humans.⌉⌊The Carts list — every captured cart with
its contents, contact, location and status, and bots separated from humans.⌉[

The Carts list — every captured cart with its contents, contact, location and status,
and bots separated from humans.

[⌊The Recovery screen — a three-step email series, each step with its own delay,
wording and stats, plus WhatsApp.⌉⌊The Recovery screen — a three-step email series,
each step with its own delay, wording and stats, plus WhatsApp.⌉[

The Recovery screen — a three-step email series, each step with its own delay, wording
and stats, plus WhatsApp.

[⌊Writing a recovery email, with personalisation tags and an optional Arabic version
of the same step.⌉⌊Writing a recovery email, with personalisation tags and an optional
Arabic version of the same step.⌉[

Writing a recovery email, with personalisation tags and an optional Arabic version
of the same step.

[⌊The Dashboard — abandonment rate, recoverable revenue and what you actually recovered.⌉⌊
The Dashboard — abandonment rate, recoverable revenue and what you actually recovered
.⌉[

The Dashboard — abandonment rate, recoverable revenue and what you actually recovered.

[⌊The cart-saving popup as a shopper sees it on a phone.⌉⌊The cart-saving popup 
as a shopper sees it on a phone.⌉[

The cart-saving popup as a shopper sees it on a phone.

[⌊Settings — abandonment window, privacy controls and the opt-in usage telemetry
choice.⌉⌊Settings — abandonment window, privacy controls and the opt-in usage telemetry
choice.⌉[

Settings — abandonment window, privacy controls and the opt-in usage telemetry choice.

## Installazione

 1. Install and activate WooCommerce first.
 2. Upload the `cartrevival` folder to `/wp-content/plugins/`, or install through Plugins
    Add New.
 3. Activate CartRevival.
 4. Go to **CartRevival  Settings** to choose how long a cart sits idle before it counts
    as abandoned.
 5. Go to **CartRevival  Recovery** to write your reminder email and switch it on.

Sending is off by default. Nothing is ever emailed to a shopper until you enable
it.

## FAQ

### Will this slow down my store?

No. The always-loaded core is about 2 KB gzipped (2.2 KB measured), deferred and
never render-blocking. Exit intent, field capture, push opt-in and tab alerts live
in separate small modules that download only at the moment their trigger fires. 
Tracking beacons are fire-and-forget, so the browser never waits on them, and a 
page view with an empty cart performs no database writes at all. A build-time size
gate fails any release whose core exceeds 4 KB, so this number cannot quietly rot.

### Does it capture guest carts?

Yes. Anonymous shoppers are tracked from their first add-to-cart using a first-party
cookie and WooCommerce’s own session. As soon as they type an email or phone number
at checkout, that cart becomes recoverable.

### When is a cart considered abandoned?

After a period of inactivity you choose, from 15 to 240 minutes, defaulting to 60.
Activity means a page view, a cart change or typing at checkout. Each cart schedules
its own check, so nothing scans your database on a timer.

### What happens if the shopper comes back on their own?

CartRevival matches the order back to the cart by session, cookie, customer account,
email or phone, cancels any pending reminders, and records the revenue. A cart that
converts without a reminder is never counted as recovered — your recovery numbers
stay honest.

### Can a customer be emailed twice by mistake?

No. Every reminder reserves a unique slot in the send log before it is scheduled,
and the send job claims that slot atomically. Two workers racing on the same cart
cannot both send.

### Does it work with the block cart and checkout?

Yes. Both the classic shortcode checkout and the newer block checkout are supported,
including capturing details entered in block checkout fields.

### Is it compatible with High Performance Order Storage?

Yes. HPOS compatibility is declared, and CartRevival works with it on or off.

### Does it work on mobile?

Yes, including exit intent. CartRevival detects an intent to leave on touch devices
through scroll-up velocity and the back gesture.

### Is it GDPR compliant?

CartRevival registers with WordPress’s personal data exporter and eraser, includes
a one-click unsubscribe link in every message, and lets you disable IP address and
page URL collection entirely. Phone numbers can require explicit consent. Nothing
is deleted on uninstall unless you opt in.

### Does it work in Arabic, or any right-to-left language?

Yes, fully. The plugin’s own admin screens and messages are translated, and recovery
emails follow **the shopper’s** language, not your site’s: someone browsing in Arabic
gets an entirely Arabic email, right-to-left, including the button and the footer.
You can also write your own Arabic version of each recovery step. An email is never
sent half in one language and half in another.

### Do I need a paid account or a licence key to use this?

No. The free plugin has no cart quota, no registration, no account and no licence
check. It never contacts a licensing server to decide what you are allowed to do.
The optional PRO add-on is sold separately and is not required for anything described
here.

### Will it work with my theme and page builder?

Yes. The capture popups ship their own self-contained styles, and the plugin adds
nothing to your theme’s templates. Both the classic shortcode checkout and the WooCommerce
block checkout are supported.

### What happens to my data if I uninstall?

Nothing is deleted unless you tick the box for it under Settings. Delete the plugin
with that box unticked and your carts and history stay in the database; tick it 
first and everything the plugin created is removed cleanly on uninstall.

### Does it work with a caching plugin?

Yes. CartRevival never blocks a cached page. If a cache serves a stale security 
token, the script quietly fetches a fresh one and retries.

### How do I send WhatsApp reminders?

WhatsApp reminders are free. Connect your WhatsApp number at 6rsh.com (free), then
pick an approved message template under CartRevival  Recovery  WhatsApp. If the 
6rsh WooCommerce plugin is already connected on your site, CartRevival uses that
connection automatically.

## Recensioni

![](https://secure.gravatar.com/avatar/2eb5d621e76c36399450f5671ceca3b50d89d099a89a3588670d5e82a81d4bb3?
s=60&d=retro&r=g)

### 󠀁[Best plugin for live dashboard and monitoring](https://wordpress.org/support/topic/best-plugin-for-live-dashboard-and-monitoring/)󠁿

 [khalidjo](https://profiles.wordpress.org/khalidjo/) 21 Agosto 2026

actually this plugin helped me to monitor my website in real time and watch all 
visitor actions from one dashboard and win back the ones they leave. it deserves
5 star review.

 [ Leggi tutte le recensioni di 0 ](https://wordpress.org/support/plugin/cartrevival/reviews/)

## Contributi e sviluppo

“CartRevival – Abandoned Cart Recovery & Live Cart Monitor” è un software open source.
Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di
seguito.

Collaboratori

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

[Traduci “CartRevival – Abandoned Cart Recovery & Live Cart Monitor” nella tua lingua.](https://translate.wordpress.org/projects/wp-plugins/cartrevival)

### Ti interessa lo sviluppo?

[Esplora il codice](https://plugins.trac.wordpress.org/browser/cartrevival/) segui
il [repository SVN](https://plugins.svn.wordpress.org/cartrevival/), segui il [log delle modifiche](https://plugins.trac.wordpress.org/log/cartrevival/)
tramite [RSS](https://plugins.trac.wordpress.org/log/cartrevival/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.13.0

 * **Fixed: a reminder could be sent to the right number in the wrong country.**
   Many national mobile numbers have the same shape in more than one country, so
   the digits alone cannot say which country a number belongs to. CartRevival was
   allowed to fall back on your store’s own country to decide, and did so for a 
   shopper who was plainly somewhere else — producing a valid number belonging to
   a different person in a different country, and messaging it. The country is now
   decided in a fixed order of authority: what the shopper picked themselves, then
   the country the number itself states, then their billing address, then the country
   they are browsing from, and only then your store’s country. **If none of those
   is known the reminder is not sent, and the cart says why** — CartRevival will
   not guess a country. The country decided when a number is captured is stored 
   with it and reused when the message goes out, so the two can never disagree later.
 * **Fixed: the phone popup could stamp your store’s country onto a foreign shopper’s
   number.** The country selector is filled in from your store’s country before 
   the page is served, then corrected to the shopper’s country a moment later. On
   a cached page, a slow connection, or for a shopper who typed quickly, the correction
   lost the race and the number reached the server already stamped with your country.
   The selector now counts as the shopper’s answer only if they actually change 
   it.
 * **New: the Carts screen shows the number that will really be dialled**, with 
   a note saying where its country came from, and a mark on any cart whose number
   cannot be dialled safely. “Correct country” on the row fixes a wrong one; your
   correction is final and nothing inferred overrides it.
 * **New: check existing carts before anything is sent.** `wp cartrevival phone-
   audit` reports how many stored numbers were read in a country that disagrees 
   with the cart’s own location or billing address, naming no customers. It changes
   nothing and sends nothing; `--renormalize` corrects them only after you have 
   read the report.
 * **New: normalization can be switched off entirely** with the `cartrevival_phone_normalization_enabled`
   filter, for stores that would rather send nothing than have a country inferred.

#### 2.12.0

 * **Fixed: WhatsApp reminders could go out with a recovery link that led nowhere.**
   An approved template can put its only variable inside its link button — exactly
   where a cart-recovery link belongs. CartRevival counted only the placeholders
   in the message body, so such a template showed no variable settings at all and
   the reminder was sent with nothing in the button. WhatsApp delivers that anyway,
   so every reminder arrived looking normal with a button that opened a “page not
   found”. CartRevival now reads the whole template — heading, body, footer and 
   every button — and fills the link button with a working recovery link automatically.
 * **New: see and test what your WhatsApp reminders actually say.** Each step lists
   every variable in the chosen template, says what it fills in, and shows a sample
   value beside it. “Preview message” renders the whole message as the shopper receives
   it, including the button and the link it opens. “Send test” sends one message
   to a number you type, showing it to you first and reporting exactly what was 
   transmitted afterwards. A test never counts as a recovery message.
 * **New: a step that cannot send says so before it sends**, naming the unmapped
   variable — on the screen, and again immediately before every send, with the reason
   recorded on the cart’s Recovery History.
 * **Improved: a failed WhatsApp send now carries the messaging platform’s own error
   code and explanation**, so a wrong template setting is distinguishable from a
   number that simply cannot receive messages.

For releases before this, see the full history at https://cartrevival.com/changelog/

## Meta

 *  Versione **2.13.0**
 *  Ultimo aggiornamento **35 minuti fa**
 *  Installazioni attive **Meno di 10**
 *  Versione WordPress ** 6.2 o superiore **
 *  Testato fino alla versione **7.1**
 *  Versione PHP ** 7.4 o superiore **
 *  Lingua
 * [English (US)](https://wordpress.org/plugins/cartrevival/)
 * Tag
 * [abandoned cart](https://it.wordpress.org/plugins/tags/abandoned-cart/)[cart recovery](https://it.wordpress.org/plugins/tags/cart-recovery/)
   [exit-intent](https://it.wordpress.org/plugins/tags/exit-intent/)[whatsapp](https://it.wordpress.org/plugins/tags/whatsapp/)
   [woocommerce](https://it.wordpress.org/plugins/tags/woocommerce/)
 *  [Visualizzazione avanzata](https://it.wordpress.org/plugins/cartrevival/advanced/)

## Valutazioni

 5 su 5 stelle.

 *  [  1 5- recensioni a stelle     ](https://wordpress.org/support/plugin/cartrevival/reviews/?filter=5)
 *  [  0 recensioni a 4-stelle     ](https://wordpress.org/support/plugin/cartrevival/reviews/?filter=4)
 *  [  0 recensioni a 3-stelle     ](https://wordpress.org/support/plugin/cartrevival/reviews/?filter=3)
 *  [  0 recensioni a 2-stelle     ](https://wordpress.org/support/plugin/cartrevival/reviews/?filter=2)
 *  [  0 recensioni a 1-stelle     ](https://wordpress.org/support/plugin/cartrevival/reviews/?filter=1)

[La tua recensione](https://wordpress.org/support/plugin/cartrevival/reviews/#new-post)

[Vedi tutte le recensioni](https://wordpress.org/support/plugin/cartrevival/reviews/)

## Collaboratori

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

## Supporto

Hai qualcosa da dire? Ti serve aiuto?

 [Chiedi nel forum di supporto](https://wordpress.org/support/plugin/cartrevival/)