Free tool
WooCommerce Cart Recovery Setup Generator
Generate a copy-paste WooCommerce cart-recovery pack: PHP hooks for functions.php, plugin setup checklists (FunnelKit, AutomateWoo, CartFlows, Yokaify), and a 3-email plus SMS sequence.
# Yokaify Recovery Setup — Acme Co. # Plugin path: Yokaify (in-session + outbound) # Channel mix: Email + SMS + onsite intervention # GDPR mode: on (PII captured only with explicit consent) # Generated: Jun 15, 2026 ## STEP 1 — Hook pack (functions.php or mu-plugin) The PHP block to your right captures every cart change, persists it for 14 days, and exposes a REST endpoint your sender will poll. ## STEP 2 — Plugin configuration [ ] Install Yokaify on your WooCommerce site (script tag in wp_footer) [ ] Yokaify dashboard → connect Woo via the REST endpoint exposed in the PHP block above [ ] Behavior triggers (in-session): exit-intent, cart dwell > 60s, return visitor with non-empty cart [ ] Outbound recovery: enable email channel, paste the 3-email template below [ ] Configure holdout: 5% of abandoners get no recovery touch (causal-lift measurement) [ ] GDPR mode: on (Yokaify stores email only post-consent) [ ] Test: add to cart, leave, see in-session intervention; if dismissed, email queues at 1h ## STEP 3 — Sequence templates ------------------------------------------------------------ EMAIL 1 — sends 1h after abandonment ------------------------------------------------------------ Subject: You left a few things — they're still here Preheader: Your Acme Co. cart is saved. From: Acme Co. <hi@acme.example> Hey, You added a few things to your Acme Co. cart and didn't quite finish. We saved everything — pick up where you left off whenever you're ready: → cart_recovery_url If something's getting in the way (sizing question, shipping, anything), just reply to this email and a real person from Acme Co. will help. — Acme Co. ------------------------------------------------------------ EMAIL 2 — sends 24h after abandonment ------------------------------------------------------------ Subject: Still thinking it over? Preheader: Your cart's safe for a few more days. From: Acme Co. <hi@acme.example> Hey, Your Acme Co. cart is still saved. Some things people ask before checking out: - Shipping is free over $50 to most regions. - Returns are open for 30 days, no questions. - Sizing chart and reviews are linked from each product page. If any of those is the blocker, you've got the answer above. If something else is — reply and we'll figure it out. → cart_recovery_url — Acme Co. ------------------------------------------------------------ EMAIL 3 — sends 72h after abandonment ------------------------------------------------------------ Subject: Last call — 10% off if you finish today Preheader: Code is one-time, expires in 24 hours. From: Acme Co. <hi@acme.example> Hey, Your Acme Co. cart expires after today. If you want to finish, here's a one-time 10% off code: SAVE10 (24 hours). → cart_recovery_url If you're not coming back — totally fine. Reply with a one-line "what stopped me" and we'll improve the next thing. — Acme Co. ------------------------------------------------------------ SMS — sends 30h after abandonment (after email 2) ------------------------------------------------------------ Acme Co.: your cart's saved. Last items + free shipping over $50: short_recovery_url Reply STOP to opt out. (155 chars; TCPA-compliant; only sends if visitor opted into SMS at checkout.) ------------------------------------------------------------ ONSITE INTERVENTION — fires in-session before any email goes out ------------------------------------------------------------ - Trigger: cart dwell > 45s OR exit-intent vector detected - Surface: Yokaify mascot offers help, surfaces shipping calculator, optional one-line discount on second visit only - Pairs with email/SMS recovery: in-session intervention catches the buyer before they leave; email/SMS catches the ones who got away. Layer them; do not pick one. ## STEP 4 — Measurement [ ] Tag every recovered order with utm_source=cart-recovery, utm_medium=email [ ] Hold out 5% of abandoners (no email, no SMS) — the only way to measure causal lift [ ] Check 30-day rolling: recovered_orders / abandoned_carts × AOV = recovered revenue [ ] Run the layered email + SMS + onsite stack for at least 30 days before judging recovery rate; replace placeholder targets with measured numbers. [ ] Yokaify will publish its own measured-cohort numbers when the beta cohort closes in Q3 2026.
Replace {{cart_url}} with your sender's real recovery-link merge tag. Hold out 5% of abandoners to measure causal lift.
What this does
This generates a WooCommerce cart-recovery pack: PHP hook code for functions.php, setup checklists for the main plugins, and a 3-email plus SMS sequence.
Cart recovery is two jobs:
- Capture watches the cart and saves enough to resume it. The PHP hook pack handles this by listening to
woocommerce_add_to_cart,woocommerce_cart_item_removed,woocommerce_cart_emptied, andwoocommerce_after_cart_item_quantity_update. - Re-engagement brings the visitor back by email, SMS, or an in-session nudge.
The two halves can run in different tools. A common setup: PHP hooks for capture, Yokaify for in-session, FunnelKit for email and SMS.
Email cadence: 1h / 24h / 72h
This cadence is the cross-cohort winner. Top-quartile email recovery runs 14-17%; bottom-quartile 3-5%, driven mostly by list quality and template freshness.
- 1 hour catches shoppers who stepped away briefly. Open rate 35-50%, click 8-15%.
- 24 hours catches buyers who needed to sleep on it. Open rate 25-40%, click 5-9%.
- 72 hours is the last call, where an optional discount lives. Open rate 18-28%, click 4-7%.
Past 72 hours, return probability is low and emailing harder hurts your sender reputation.
The PHP hook pack
// For logged-in customers — durable user meta. update_user_meta($user_id, '_yk_abandoned_cart', $payload);
// For guests — 14-day transient keyed by Woo session ID. set_transient('yk_cart_' . $session_id, $payload, 14 * DAY_IN_SECONDS);
Logged-in customers are easy: WooCommerce already has their email. Guests are keyed anonymously until they enter an email, so recovery only fires once you have one.
The pack also exposes a REST endpoint for external senders. In production, replace the placeholder __return_true permission callback with an API-key or auth check.
Choosing a plugin
- FunnelKit Automations is the cleanest path if cart recovery is your main need. Setup 30-60 min.
- AutomateWoo is best if you also run review requests, win-backs, and other workflows. Setup 60-90 min.
- CartFlows is the pick if you are also rebuilding checkout and funnel pages.
- Yokaify is in-session first: it nudges on exit-intent or long cart dwell before the visitor leaves, with email as backup.
- Native plus custom code uses the hook pack with your own sender. Zero plugin overhead, but you own deliverability.
With Yokaify
Yokaify recovers carts in-session first, then falls back to the email sequence for anyone who still leaves. Setup is one dashboard toggle for the in-session triggers and one REST URL for your outbound sender. See the WooCommerce chatbot guide.
Further reading
Frequently asked questions
Partially. WooCommerce stores customer email at checkout-step-1 if typed before bouncing, but real recovery — capturing guest carts, sequencing 2-3 emails, adding SMS — needs a plugin or external sender.