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.

InstantNo sign-upUpdated May 31, 2026
Channel mix
# 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, and woocommerce_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.

Capture the cart, then re-engage on the 1h / 24h / 72h cadence.

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.