{"id":346255,"date":"2026-07-31T17:59:18","date_gmt":"2026-07-31T17:59:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/cartrevival-abandoned-cart-recovery-live-cart-monitor\/"},"modified":"2026-08-07T23:06:05","modified_gmt":"2026-08-07T23:06:05","slug":"cartrevival","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/cartrevival\/","author":23538913,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.9.12","stable_tag":"2.9.12","tested":"7.0.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"CartRevival - Abandoned Cart Recovery & Live Cart Monitor","header_author":"CartRevival","header_description":"Abandoned cart recovery for WooCommerce with a real-time live visitor and cart monitor, exit intent and early capture popups, a three-step email series, and WhatsApp reminders through your own 6rsh account.","assets_banners_color":"f4faf6","last_updated":"2026-08-07 23:06:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/cartrevival.com\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":246,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.9.10":{"tag":"2.9.10","author":"cartrevival","date":"2026-08-05 18:33:53"},"2.9.12":{"tag":"2.9.12","author":"cartrevival","date":"2026-08-07 23:06:05"},"2.9.3":{"tag":"2.9.3","author":"cartrevival","date":"2026-07-31 17:58:58"},"2.9.4":{"tag":"2.9.4","author":"cartrevival","date":"2026-07-31 18:30:54"},"2.9.5":{"tag":"2.9.5","author":"cartrevival","date":"2026-07-31 19:50:49"},"2.9.6":{"tag":"2.9.6","author":"cartrevival","date":"2026-08-01 10:01:50"},"2.9.7":{"tag":"2.9.7","author":"cartrevival","date":"2026-08-01 10:35:20"},"2.9.8":{"tag":"2.9.8","author":"cartrevival","date":"2026-08-01 20:58:31"},"2.9.9":{"tag":"2.9.9","author":"cartrevival","date":"2026-08-05 16:11:42"}},"upgrade_notice":{"2.9.12":"<p>Phone numbers typed without a country code no longer fail. Existing carts are repaired on update, with nothing sent automatically. Recommended for all stores.<\/p>","2.9.11":"<p>If an update ever failed with a wall of file paths, this release explains why in one sentence and tells you what to ask your host. Recommended for all stores.<\/p>","2.9.9":"<p>Deleting a cart now really does stop every reminder \u2014 web push was never being cancelled. Recommended for all stores.<\/p>","2.9.8":"<p>Important for stores with page caching: shoppers who only browsed could be invisible to tracking. Update both plugins.<\/p>","2.9.7":"<p>Housekeeping only \u2014 coding-standards formatting and a CSV forward-compatibility fix. No functional changes.<\/p>","2.9.6":"<p>PRO fix: uninstalling could orphan PRO&#039;s tables when the free plugin was removed first. Update PRO.<\/p>","2.9.5":"<p>Fixes the Recovery screen&#039;s channel row, which could show unlabelled badges and contradictory Web Push states.<\/p>","2.9.4":"<p>Listing text only \u2014 no functional changes.<\/p>","2.9.3":"<p>Fixes recovery emails that could go out half English and half Arabic. Adds an optional Arabic version of each recovery step.<\/p>","2.9.2":"<p>Important for PRO users: automatic updates for the PRO add-on never worked and are fixed here. Update PRO by hand once; after that it will update itself.<\/p>","2.9.1":"<p>Important fix: the cart-saving popup could confirm success without saving the shopper&#039;s email, and shipped with an unlabelled button when you had not written your own wording. Update both plugins.<\/p>","2.9.0":"<p>Adds strictly opt-in usage telemetry (off until you choose), fixes the &quot;Upgrade to Pro&quot; tab showing next to an installed PRO, and hardens PRO against outdated or missing free-plugin installs. Update Free and PRO together.<\/p>","2.8.7":"<p>Pairs with CartRevival PRO 2.8.7, which no longer risks a fatal error when the free plugin is outdated or missing \u2014 PRO pauses with a notice instead. Update both together.<\/p>","2.8.6":"<p>Reminders no longer go out with an unreplaced merge tag in them. Fixes a case where CartRevival and the 6rsh plugin could both message the same shopper, and one where neither did. Faster on the storefront, complete Arabic, and every admin control is now readable by a screen reader.<\/p>","2.8.5":"<p>Stops CartRevival and the 6rsh plugin both sending a WhatsApp reminder for the same cart. If you run 6rsh, update it to 1.7.1 or newer as well.<\/p>","2.8.4":"<p>Manual email and WhatsApp sending now works everywhere in the free plugin, including the Live visitor panel, and cart timelines show your full history instead of 7 days. Also hardens every database query. Requires WordPress 6.2.<\/p>","2.8.3":"<p>Every cart now has a full recovery timeline, and you can send any configured channel manually with one click.<\/p>","2.8.2":"<p>Small fix: the Upgrade to Pro screen showed retired pricing. No behaviour changes.<\/p>","2.8.1":"<p>No account, no key and no monthly cart limit \u2014 every feature in this plugin now runs on its own. Also fixes three faults that could stop recovery emails being sent, and recovery links that did not rebuild the cart. Recommended for everyone.<\/p>","2.0.0":"<p>CartRevival is now one plugin with every feature included. If you ran the separate Pro add-on it is retired automatically on update \u2014 nothing is lost. Register your site (free) to keep recovery running.<\/p>","1.5.0":"<p>Dashboards now count real shoppers only \u2014 bots are excluded from every number, with a toggle to see them. Recovery and Automation merge into one flow builder. Recommended for everyone.<\/p>","1.4.0":"<p>WhatsApp cart recovery is now free (via a free 6rsh connection), Live-tab country flags are fixed, and bot detection is much stronger. Recommended for everyone.<\/p>","1.3.4":"<p>Maintenance release, no functional change. If you also run CartRevival Pro, update Pro too \u2014 it moves licensing to cartrevival.com.<\/p>","1.3.3":"<p>Maintenance release. If you also run CartRevival Pro, update Pro too \u2014 it carries an important licensing\/security fix.<\/p>","1.3.1":"<p>Fixes a fatal error when saving settings on 1.3.0, and makes the Arabic admin work at all. Also stops bot traffic being stored as carts.<\/p>","1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3630337,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3630337,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3630337,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3630337,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.9.10","2.9.12","2.9.3","2.9.4","2.9.5","2.9.6","2.9.7","2.9.8","2.9.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3630337,"resolution":"1","location":"assets","locale":"","width":1280,"height":1360},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3630337,"resolution":"2","location":"assets","locale":"","width":1280,"height":1092},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3630337,"resolution":"3","location":"assets","locale":"","width":1280,"height":5864},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3630337,"resolution":"4","location":"assets","locale":"","width":1280,"height":5864},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3630337,"resolution":"5","location":"assets","locale":"","width":1280,"height":1434},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3630337,"resolution":"6","location":"assets","locale":"","width":828,"height":2206},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3630337,"resolution":"7","location":"assets","locale":"","width":1280,"height":1025}},"screenshots":{"1":"The Live monitor \u2014 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.","2":"The Carts list \u2014 every captured cart with its contents, contact, location and status, and bots separated from humans.","3":"The Recovery screen \u2014 a three-step email series, each step with its own delay, wording and stats, plus WhatsApp.","4":"Writing a recovery email, with personalisation tags and an optional Arabic version of the same step.","5":"The Dashboard \u2014 abandonment rate, recoverable revenue and what you actually recovered.","6":"The cart-saving popup as a shopper sees it on a phone.","7":"Settings \u2014 abandonment window, privacy controls and the opt-in usage telemetry choice."}},"plugin_section":[],"plugin_tags":[15962,11133,1002,3160,286],"plugin_category":[45],"plugin_contributors":[274075],"plugin_business_model":[],"class_list":["post-346255","plugin","type-plugin","status-publish","hentry","plugin_tags-abandoned-cart","plugin_tags-cart-recovery","plugin_tags-exit-intent","plugin_tags-whatsapp","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-cartrevival","plugin_committers-cartrevival"],"banners":{"banner":"https:\/\/ps.w.org\/cartrevival\/assets\/banner-772x250.png?rev=3630337","banner_2x":"https:\/\/ps.w.org\/cartrevival\/assets\/banner-1544x500.png?rev=3630337","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/cartrevival\/assets\/icon-128x128.png?rev=3630337","icon_2x":"https:\/\/ps.w.org\/cartrevival\/assets\/icon-256x256.png?rev=3630337","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/cartrevival\/assets\/screenshot-1.png?rev=3630337","caption":"The Live monitor \u2014 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."},{"src":"https:\/\/ps.w.org\/cartrevival\/assets\/screenshot-2.png?rev=3630337","caption":"The Carts list \u2014 every captured cart with its contents, contact, location and status, and bots separated from humans."},{"src":"https:\/\/ps.w.org\/cartrevival\/assets\/screenshot-3.png?rev=3630337","caption":"The Recovery screen \u2014 a three-step email series, each step with its own delay, wording and stats, plus WhatsApp."},{"src":"https:\/\/ps.w.org\/cartrevival\/assets\/screenshot-4.png?rev=3630337","caption":"Writing a recovery email, with personalisation tags and an optional Arabic version of the same step."},{"src":"https:\/\/ps.w.org\/cartrevival\/assets\/screenshot-5.png?rev=3630337","caption":"The Dashboard \u2014 abandonment rate, recoverable revenue and what you actually recovered."},{"src":"https:\/\/ps.w.org\/cartrevival\/assets\/screenshot-6.png?rev=3630337","caption":"The cart-saving popup as a shopper sees it on a phone."},{"src":"https:\/\/ps.w.org\/cartrevival\/assets\/screenshot-7.png?rev=3630337","caption":"Settings \u2014 abandonment window, privacy controls and the opt-in usage telemetry choice."}],"raw_content":"<!--section=description-->\n<p><strong>CartRevival is abandoned cart recovery for WooCommerce that also shows you carts as they happen.<\/strong> It shows you the cart filling up right now, and automatically wins it back if the shopper leaves \u2014 a genuine cart revival, not just a reminder.<\/p>\n\n<p>Every shopper who adds a product is captured \u2014 registered customers and anonymous guests alike \u2014 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.<\/p>\n\n<h4>Live cart tracking, free<\/h4>\n\n<p>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 \u2014 the hesitation that never shows up in any other report.<\/p>\n\n<h4>What you get for free<\/h4>\n\n<ul>\n<li><strong>Abandoned cart recovery<\/strong> for both logged-in customers and guests<\/li>\n<li><strong>Live cart tracking<\/strong> monitor with real-time visitor and cart status<\/li>\n<li><strong>Exit intent popup<\/strong> on desktop and mobile, with scroll-up velocity and back-gesture detection on touch devices<\/li>\n<li><strong>A three-step recovery email series<\/strong>, each step with its own delay, subject, heading, content, coupon field and open\/click stats<\/li>\n<li><strong>Early capture popup<\/strong> that asks for an email or phone on add-to-cart, so guest carts become recoverable<\/li>\n<li><strong>Tab notification<\/strong> that alternates the browser tab title and badges the favicon while the shopper is on another tab<\/li>\n<li><strong>One-click cart restore link<\/strong> that rebuilds variations, quantities and custom item data<\/li>\n<li><strong>Conversion funnel<\/strong>: visitors \u2192 add to cart \u2192 checkout \u2192 orders, with drop-off at each step<\/li>\n<li><strong>Reports<\/strong>: abandonment rate, recoverable revenue, recovered revenue, top abandoned products, abandonment by country<\/li>\n<li>Remember checkout input across page reloads<\/li>\n<li>CSV export including a ready-to-use recovery link per cart<\/li>\n<li>Store owner notifications, instantly or as a daily digest<\/li>\n<li>Bot defense on every capture: honeypot, user-agent blocklist, minimum time on page, optional reCAPTCHA v3<\/li>\n<li>Exclusions by email, phone and user role, plus auto-delete for old anonymous carts<\/li>\n<li>Full GDPR support: data exporter, eraser, one-click unsubscribe, IP and URL collection toggles<\/li>\n<\/ul>\n\n<h4>Built to be invisible on your storefront<\/h4>\n\n<p>Performance was the first requirement, not an afterthought.<\/p>\n\n<ul>\n<li>An always-loaded core of about 2 KB gzipped (2.2 KB measured), loaded deferred \u2014 every other feature is a tiny module that downloads only when its trigger fires<\/li>\n<li>No jQuery, no frontend CSS unless you turn on a popup<\/li>\n<li>Tracking uses <code>navigator.sendBeacon()<\/code>, so nothing ever blocks navigation<\/li>\n<li>Custom database tables with pre-aggregated daily reports \u2014 dashboards never scan raw data<\/li>\n<li>No <code>admin-ajax.php<\/code> anywhere<\/li>\n<li>Zero database writes on a page view when the visitor has an empty cart<\/li>\n<\/ul>\n\n<h4>WhatsApp cart recovery \u2014 free<\/h4>\n\n<p>WhatsApp reminders are included in the free plugin. Connect your WhatsApp number free at <a href=\"https:\/\/6rsh.com\/\">6rsh.com<\/a>, 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 \u2014 nothing to paste.<\/p>\n\n<h4>No limits on the free plugin<\/h4>\n\n<p>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.<\/p>\n\n<p>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 \u2014 nothing here is switched off or held back to make a case for it. <a href=\"https:\/\/cartrevival.com\/#pricing\">Details and pricing<\/a>.<\/p>\n\n<h3>Performance<\/h3>\n\n<p>CartRevival's storefront footprint is two-stage, and the always-loaded part is about 2 KB:<\/p>\n\n<ul>\n<li><strong>Core (always loads): 2.2 KB gzipped.<\/strong> 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.<\/li>\n<li><strong>Feature modules (load only on their trigger):<\/strong> exit intent (~1.1 KB, on a real leave gesture), field capture (~1.4 KB, on first field focus \u2014 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.<\/li>\n<li><strong>Enforced at build time:<\/strong> the release build fails if the core ever exceeds 4 KB gzipped, so the claim cannot silently rot.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>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, <strong>it makes no external requests at all<\/strong>.<\/p>\n\n<p>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.<\/p>\n\n<p><strong>1. 6rsh (WhatsApp reminder delivery) \u2014 only if you connect it<\/strong><\/p>\n\n<p>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.<\/p>\n\n<ul>\n<li>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).<\/li>\n<li>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.<\/li>\n<li>Terms of service: https:\/\/6rsh.com\/terms<\/li>\n<li>Privacy policy: https:\/\/6rsh.com\/privacy<\/li>\n<\/ul>\n\n<p><strong>2. ip-api.com (visitor country and city lookup) \u2014 off by default<\/strong><\/p>\n\n<p>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 \u2192 Settings \u2192 Compliance, that one IP address is sent to ip-api.com, operated by ip-api.com.<\/p>\n\n<ul>\n<li>What is sent: a single visitor IP address. Nothing else \u2014 no name, email, phone, cart contents or order data.<\/li>\n<li>When: at most once per IP address per day, and only when the local database returned no country.<\/li>\n<li>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 <code>cartrevival_geo_provider_url<\/code> filter, or disable it in code with the <code>cartrevival_geo_remote_enabled<\/code> filter.<\/li>\n<li>Terms of service: https:\/\/ip-api.com\/docs\/legal<\/li>\n<li>Privacy policy: https:\/\/ip-api.com\/docs\/legal<\/li>\n<\/ul>\n\n<p><strong>3. Google reCAPTCHA v3 (bot filtering on capture) \u2014 only if you configure it<\/strong><\/p>\n\n<p>If you enter reCAPTCHA v3 keys under CartRevival \u2192 Settings \u2192 Capture, captures are verified with Google's siteverify endpoint.<\/p>\n\n<ul>\n<li>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.<\/li>\n<li>When: on each cart capture, while reCAPTCHA keys are configured.<\/li>\n<li>Terms of service: https:\/\/policies.google.com\/terms<\/li>\n<li>Privacy policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<p><strong>4. cartrevival.com (opt-in usage telemetry) \u2014 off until you opt in<\/strong><\/p>\n\n<p>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.<\/p>\n\n<ul>\n<li>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.<\/li>\n<li>When: at most once per day, only after you opt in. You can change or withdraw the choice at any time under CartRevival \u2192 Settings \u2192 Compliance \u2192 Usage telemetry; withdrawing stops the pings and deletes the site token so past pings cannot be linked to you.<\/li>\n<li>Terms of service: https:\/\/cartrevival.com\/terms<\/li>\n<li>Privacy policy: https:\/\/cartrevival.com\/privacy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce first.<\/li>\n<li>Upload the <code>cartrevival<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install through Plugins \u2192 Add New.<\/li>\n<li>Activate CartRevival.<\/li>\n<li>Go to <strong>CartRevival \u2192 Settings<\/strong> to choose how long a cart sits idle before it counts as abandoned.<\/li>\n<li>Go to <strong>CartRevival \u2192 Recovery<\/strong> to write your reminder email and switch it on.<\/li>\n<\/ol>\n\n<p>Sending is off by default. Nothing is ever emailed to a shopper until you enable it.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20slow%20down%20my%20store%3F\"><h3>Will this slow down my store?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20it%20capture%20guest%20carts%3F\"><h3>Does it capture guest carts?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"when%20is%20a%20cart%20considered%20abandoned%3F\"><h3>When is a cart considered abandoned?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20shopper%20comes%20back%20on%20their%20own%3F\"><h3>What happens if the shopper comes back on their own?<\/h3><\/dt>\n<dd><p>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 \u2014 your recovery numbers stay honest.<\/p><\/dd>\n<dt id=\"can%20a%20customer%20be%20emailed%20twice%20by%20mistake%3F\"><h3>Can a customer be emailed twice by mistake?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20block%20cart%20and%20checkout%3F\"><h3>Does it work with the block cart and checkout?<\/h3><\/dt>\n<dd><p>Yes. Both the classic shortcode checkout and the newer block checkout are supported, including capturing details entered in block checkout fields.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20high%20performance%20order%20storage%3F\"><h3>Is it compatible with High Performance Order Storage?<\/h3><\/dt>\n<dd><p>Yes. HPOS compatibility is declared, and CartRevival works with it on or off.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20mobile%3F\"><h3>Does it work on mobile?<\/h3><\/dt>\n<dd><p>Yes, including exit intent. CartRevival detects an intent to leave on touch devices through scroll-up velocity and the back gesture.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr%20compliant%3F\"><h3>Is it GDPR compliant?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20it%20work%20in%20arabic%2C%20or%20any%20right-to-left%20language%3F\"><h3>Does it work in Arabic, or any right-to-left language?<\/h3><\/dt>\n<dd><p>Yes, fully. The plugin's own admin screens and messages are translated, and recovery emails follow <strong>the shopper's<\/strong> 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.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20paid%20account%20or%20a%20licence%20key%20to%20use%20this%3F\"><h3>Do I need a paid account or a licence key to use this?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20my%20theme%20and%20page%20builder%3F\"><h3>Will it work with my theme and page builder?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20uninstall%3F\"><h3>What happens to my data if I uninstall?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20a%20caching%20plugin%3F\"><h3>Does it work with a caching plugin?<\/h3><\/dt>\n<dd><p>Yes. CartRevival never blocks a cached page. If a cache serves a stale security token, the script quietly fetches a fresh one and retries.<\/p><\/dd>\n<dt id=\"how%20do%20i%20send%20whatsapp%20reminders%3F\"><h3>How do I send WhatsApp reminders?<\/h3><\/dt>\n<dd><p>WhatsApp reminders are free. Connect your WhatsApp number at 6rsh.com (free), then pick an approved message template under CartRevival \u2192 Recovery \u2192 WhatsApp. If the 6rsh WooCommerce plugin is already connected on your site, CartRevival uses that connection automatically.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.9.12<\/h4>\n\n<ul>\n<li><strong>Fixed: a phone number typed without its country code is now completed instead of refused.<\/strong> Most shoppers type their number the way they say it out loud, leaving the country code off \u2014 for a UAE number that means an example like \"0555000000\", or just \"555000000\", rather than \"+971555000000\". Every one of those was stored and sent exactly as typed, so the WhatsApp reminder was rejected and the cart was quietly lost. The number is now completed to its full international form before anything is sent, using the country the shopper picked in the popup, or the country they are browsing from, or your store's own country, in that order. What the shopper typed is kept untouched alongside it, and if a number really cannot be read the Carts screen now shows what was tried rather than just repeating the input back at you. Existing carts are completed the same way when you update; nothing is sent to them automatically \u2014 they simply become reachable again.<\/li>\n<\/ul>\n\n<h4>2.9.11<\/h4>\n\n<ul>\n<li><strong>New: CartRevival now tells you when your server will not let WordPress update it.<\/strong> Some hosts end up with the plugin folder owned by a different system user than PHP runs as \u2014 usually after a folder was copied onto the server by hand over SSH or FTP. WordPress's own error for this blames \"inconsistent file permissions\" and then prints every file in the plugin, which reads like the plugin is broken. It is not: the update never started. Tools \u2192 System status now says plainly whether WordPress can update the plugin, and if an update is waiting that cannot be installed, you are told before you click it \u2014 in words, with what to ask your host for. The plugin keeps working normally throughout; only updating and deleting are blocked.<\/li>\n<\/ul>\n\n<h4>2.9.10<\/h4>\n\n<ul>\n<li><strong>CartRevival PRO now shows its own icon in wp-admin<\/strong> instead of the generic grey plug, on the Plugins screen, Dashboard \u2192 Updates and the \"View version details\" window. PRO is not hosted on WordPress.org, so it has no directory artwork to fall back on and never had an icon of its own.<\/li>\n<li>No changes to the free plugin's behaviour. This release exists so the two plugins stay on matching versions.<\/li>\n<\/ul>\n\n<h4>2.9.9<\/h4>\n\n<ul>\n<li><strong>New: delete a cart for good, from the Carts list.<\/strong> A Delete action on every row and a bulk \"Delete permanently\", both behind a confirmation that says it cannot be undone. Deleting a cart now cancels every reminder still queued for it on every channel, removes it from the Live monitor, and stops the shopper's still-open session from silently rebuilding the same row seconds later.<\/li>\n<li><strong>Fixed: web push reminders were never cancelled.<\/strong> When a cart was deleted \u2014 or recovered \u2014 the cancellation matched channels by their display name instead of their internal one, so every channel except web push was cancelled by lucky accident. A shopper who had just completed their order could still be sent a push about the cart they had bought.<\/li>\n<li><strong>Fixed: the \"save your cart\" popup appeared a page late.<\/strong> WooCommerce announces an add-to-cart through jQuery, which never reaches a plain browser event listener, so the popup missed the add entirely and only turned up later on the cart page. It now appears on the first screen the shopper sees after adding, including when the theme redirects to the cart, and \"require an answer before the shopper can carry on\" now genuinely blocks the page behind it.<\/li>\n<li><strong>Fixed: a failed capture said nothing useful.<\/strong> \"Sorry, we could not save your cart\" covered ten different causes. Each one is now reported separately in the logs, and a signed-in shop manager is told which it was \u2014 most often that their own role is excluded from tracking, so their test was refused by design.<\/li>\n<li><strong>New: the phone field fills in the right country code.<\/strong> Full ITU-T E.164 coverage with a country selector the shopper can always change. It falls back to your own store's country rather than a hardcoded +1, and the visitor's country never travels in cached page HTML.<\/li>\n<li><strong>Fixed (PRO): the licence was never re-checked automatically.<\/strong> The daily revalidation was never scheduled and its handler was never registered, so \"Last checked\" could sit days out of date and licence notices never appeared.<\/li>\n<li><strong>Fixed (PRO): reminders paused by a licence problem were lost.<\/strong> They were recorded as failed and never ran again. They now wait and resume once the licence is active, as the License screen has always promised, and the \"seven days\" of sending during an outage really is seven days.<\/li>\n<\/ul>\n\n<p>For older releases see CHANGELOG.md inside the plugin folder, which carries the complete history back to 1.0.0.<\/p>","raw_excerpt":"Abandoned cart recovery for WooCommerce with a live cart monitor: watch carts fill in real time, then win them back by email and WhatsApp.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=346255"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cartrevival"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346255"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346255"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346255"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346255"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346255"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}