WooCommerce CRO Technique
Recover abandoned carts with email and SMS in WooCommerce
This technique uses 2–3 automated follow-ups after a shopper leaves products in the cart, usually with the cart contents and a return link, and then adds a separate browse- or product-abandonment flow to catch earlier intent before add-to-cart.
Summary
Bottom Line: In WooCommerce, the strongest abandoned-cart setup is usually a three-touch recovery sequence
- For most WooCommerce stores, Klaviyo and Omnisend are the easiest routes if you want both cart recovery and earlier-intent browse or product-abandonment, because both sync WooCommerce behavioural data and support email and SMS flows from their pre-built libraries.
- Do not lead with a discount by default. Klaviyo warns that repeat discounting can train shoppers to wait for an offer, and Retainful’s own workflow guidance recommends holding the coupon for the second and third reminders rather than the first.
- Browse-abandonment usually converts below cart recovery, but it reaches a much larger audience because it catches visitors before they ever add to basket. Klaviyo’s 2024 vendor benchmark put average abandoned-cart placed-order rate at 3.33% and browse-abandonment conversion at 0.96%, with browse flow average revenue per recipient at $1.07 versus $3.65 for abandoned cart. These are useful directional vendor figures, not guarantees.
- For UK stores, consent and tracking rules matter as much as flow logic. The ICO says you must not send marketing emails or texts to individuals without specific consent, except for the limited soft opt-in, and PECR also covers cookies, tracking pixels, scripts and tags used for behavioural tracking.
- Recovery flows do not remove the root causes of abandonment. Baymard’s latest list still shows extra costs, slow delivery, lack of trust, forced account creation, long checkout and site errors among the leading stated reasons for abandonment.
How To Implement
Choose the right WooCommerce route first
If you need cart recovery, product/browse abandonment and SMS with the least custom work, Klaviyo and Omnisend are the strongest off-the-shelf options from the sources reviewed. Klaviyo’s WooCommerce extension syncs checkout starts and viewed products in real time and is HPOS-compatible; Omnisend’s WooCommerce route supports abandoned cart, abandoned checkout, product abandonment and browse abandonment; FunnelKit, AutomateWoo and Retainful are strongest when you want more of the automation to live inside WordPress.
Check whether you are on classic checkout or Cart and Checkout Blocks before touching consent fields or capture
On the Checkout Block, older extensibility like
woocommerce_checkout_fieldsdoes not apply in the same way; WooCommerce’s own developer docs say the previous pattern is intentionally not the path for the new block checkout. If you need to add or move extra consent fields on Blocks, use the newer block extensibility path rather than assuming classic hooks will work.If you use Klaviyo, install and connect it from the WooCommerce side, then enable checkout consent capture
The current path is WooCommerce → Extensions → search Klaviyo for WooCommerce → activate the plugin → Marketing → Klaviyo → Connect Account. In Klaviyo’s WooCommerce integration settings, you can enable the checkout email consent checkbox, select the list to add subscribers to, and add mobile consent options such as Text Message for checkout capture. Klaviyo says consent is sent after the shopper places the order, and its WooCommerce extension is HPOS-compatible.
Build the abandoned-cart flow in Klaviyo with the right trigger and safety filter
Klaviyo’s standard WooCommerce abandoned-cart flow uses Started Checkout by default, not just Added to Cart. The core safety filter is Placed Order zero times since starting this flow, so buyers who return and convert are skipped automatically. Klaviyo’s pre-built flow includes a four-hour first delay by default, but timing can be changed by category and buying cycle.
Use actual rebuild or recovery links, not generic store links
In Klaviyo WooCommerce, the cart rebuild URL is
{{ organization.url|trim_slash }}/cart?wck_rebuild_cart={{ event.extra.CartRebuildKey }}. In Omnisend abandoned-cart emails, the recommended pattern is to show the abandoned items and add a separate button linked to “, because the product block’s default button goes to the product page rather than the full saved cart.Add SMS as a branch, not a duplicate blast
In Klaviyo, add a conditional split after the first delay so only contacts who can receive SMS go down the SMS path, and keep quiet hours on. In its SMS-specific guidance, Klaviyo recommends putting the split after the first delay and notes that the delay should still be within 48 hours of the trigger. In FunnelKit, the current documented route is Cart Abandoned event → delay → Send SMS via Twilio or Bulkgate, using merge tags for first name and the recovery link.
If you use Omnisend, start with the pre-built WooCommerce workflows and separate the funnel stages clearly
The documented path is Automation → Create workflow → choose Cart Abandonment for add-to-cart without checkout, Abandoned Checkout for checkout starters, Product Abandonment for viewed product pages without add-to-cart, and Browse Abandonment for broader page views such as homepage, category or sale URLs. Omnisend explicitly recommends using exit conditions and Skip Contacts to stop people receiving multiple abandonment flows at once.
Use Product Abandonment, not generic Browse Abandonment, when you want viewed-product content in Omnisend
Omnisend’s current docs say Browse Abandonment does not capture product names, images, prices or a page-specific return URL. Product Abandonment does capture the specific product viewed, can display it in the message, and can link SMS back to that product. For a WooCommerce store, that is usually the better “browse-abandonment” layer if the real goal is reminding people about specific products they inspected.
Set frequency caps before going live
Omnisend’s Abandoned Cart and Abandoned Checkout workflows are frequency-limited to once every 24 hours by default, and its Browse and Product Abandonment guidance recommends a 10–15 day re-entry restriction plus Skip Contacts. That avoids over-messaging frequent visitors and makes later reporting cleaner. Measurement note: frequency settings also block retests, so record your test settings and restore them before launch.
If you prefer WordPress-native automation, build inside AutomateWoo, FunnelKit or Retainful with realistic expectations
In AutomateWoo, carts become abandoned after 15 minutes of inactivity by default or whatever you set at AutomateWoo → Settings → Carts, and you can view them at AutomateWoo → Carts. Guest email capture is checkout-first by default, but you can enable capture JavaScript on all pages and tag extra fields with
automatewoo-capture-guest-emailif you want earlier email capture. On block checkout, AutomateWoo currently captures billing email and name, while classic checkout can capture the fuller billing detail. In FunnelKit Automations, enable cart tracking in FunnelKit Automations → Settings → Cart. Its documented settings include Enable Cart Tracking, Wait Period, Cool-off period and Lost Cart, plus a GDPR notice option to inform shoppers their email and cart data will be saved for abandonment reminders. Build the flow at Automations → Create Automation, starting with the Cart Abandoned event. In Retainful, the official docs reviewed focus on email-based abandoned-cart sequences. You can enable explicit marketing consent at WooCommerce → Retainful → Settings, control abandoned-cart timing in Retainful’s general settings, and build a first reminder, second incentive email and final urgency email inside the automation builder.Sequence the messages so the first one reminds, the later ones persuade
Klaviyo’s general abandoned-cart guidance supports a delay before the first message; Retainful’s documented sequence is particularly clear for WooCommerce-style execution: first reminder within an hour, second reminder about 24 hours later with the coupon, and a final urgency email around 48 hours after that. That is a sensible default for a store without heavy in-house testing capability, and it aligns with the wider “don’t train people to abandon for a coupon” principle.
Respect UK consent and tracking rules even if the app lets you send more aggressively
Some platforms technically allow abandoned-cart messages to non-subscribed contacts or present these flows as “transactional”. For a UK WooCommerce store, do not assume the vendor setting settles the legal question. The ICO says marketing emails and texts to individuals need specific consent unless the soft opt-in applies, and PECR also applies to the cookies, scripts, tags and tracking pixels used for behavioural and browse-abandonment automation.
How To Measure
The primary KPI is incremental RPV, with recovered revenue, recovered orders, revenue per recipient, conversion rate and checkout completion as the supporting readouts. Use your automation platform to judge flow-level performance and GA4 to confirm net site impact. Klaviyo exposes conversion rate, placed-order rate and revenue per recipient in flow analytics; Omnisend exposes messages sent, open rate, click rate, placed-order rate and revenue; FunnelKit exposes recoverable and recovered carts plus prospective and actual revenue; AutomateWoo can attribute conversions to qualifying workflows; and Retainful exposes conversions and recovered carts in its Metrics area.
In GA4, make sure add_to_cart, begin_checkout and purchase are live, because they let you separate cart creation, checkout starts and final orders in standard ecommerce reporting. Use Monetization → Ecommerce purchases for order and revenue readback, and use UTM-tagged recovery links so the traffic appears in acquisition reporting under the relevant source, medium and campaign. A practical segment is sessions or users from your recovery links versus the rest of site traffic, read alongside storewide RPV and conversion rate before and after launch.
Success looks like a repeatable rise in recovered orders and recovered revenue at the flow level, plus a positive movement in sitewide RPV without obvious cannibalisation. Guardrails that should not worsen are overall conversion rate, AOV, checkout completion, unsubscribe and SMS opt-out rates, and the share of orders needing a discount to close. If flow revenue rises but sitewide RPV stays flat, you may be redistributing orders rather than creating incremental revenue.
Pitfalls
- The biggest mistake is treating recovery flows as the fix for abandonment itself. Baymard’s current abandonment reasons still centre on cost shock, slow delivery, trust concerns, forced account creation, long checkout and site errors, so recovery messages can win back some buyers but cannot remove those frictions from the live checkout.A common myth is that browse-abandonment always means “send them the exact product they viewed”. That is only true in some stacks. In Omnisend, generic Browse Abandonment does not store product details or a page-specific return URL, while Product Abandonment does
- in Klaviyo, browse flows are based on Viewed Product for identifiable browsers and can be personalised around that event.Another frequent error is overlap: browse, product, cart and checkout flows all firing around the same journey. Omnisend explicitly warns that these flows can run simultaneously unless you use exit conditions and Skip Contacts, and Klaviyo’s browse flow guidance similarly adds filters to exclude purchase, checkout and add-to-cart cases.It is also a mistake to assume that because a platform can message non-subscribed contacts, a UK store is automatically compliant. The platform may be describing technical capability or its own message classification, but ICO guidance is what matters for a UK merchant sending marketing emails or texts to individuals.Finally, do not assume classic checkout customisations carry over to Blocks. WooCommerce says the old checkout_fields route is not how the new Checkout Block is extended, and plugins can differ materially in what they capture on block checkout. AutomateWoo, for example, currently documents a data-capture difference between classic and block checkout.
Examples
FAQs
Yes, if your store has enough traffic to support both and you can manage overlap cleanly. Cart recovery converts later-stage intent, while browse or product-abandonment gives you more reach earlier in the journey, especially among repeat visitors and known browsers.
Usually no. The safer default is a reminder-first message, then an incentive later if the shopper still has not returned; both Klaviyo and Retainful material point away from immediate blanket discounting.
In most cases, you should assume no unless you have a clear PECR-compliant basis. The ICO says marketing texts to individuals need specific consent unless the soft opt-in applies, and consent for text marketing is distinct from consent for marketing calls.
Klaviyo or Omnisend are usually the strongest fit when you want abandoned cart plus browse or product abandonment and SMS in one stack, while AutomateWoo, FunnelKit and Retainful make more sense if you want the automation to live primarily inside WordPress. The deciding factors are not headline features alone, but identification rate, checkout compatibility, consent handling, reporting depth and how comfortable your team is managing flows outside WordPress.
Sources & Further Reading
Want us to implement this for you?
We run measured CRO consultancy for WooCommerce. If you want help prioritising, testing & implementing these improvements, tell us about your store.
Book PilotAbout This Page
- Written By: Eliot Webb – Founder & WooCommerce CRO Consultant
- Last Reviewed: 22 Jun 2026
- Last Updated: