A WhatsApp cart recovery flow wins back 18–30% of abandoned Shopify checkouts, depending on your vertical. The reason is timing rather than persuasion: the message arrives while the decision is still warm, on a channel your customer opens within minutes. Your abandoned-cart email still earns its place — it just lands in an inbox that gets checked later, if at all.
Short version:
- Keaz benchmark for cart recovery across the ten verticals we serve: 18–30% of abandoned checkouts recovered, with Pet at the top (30%) and Electronics at the bottom (18%).
- The industry anchor for cart-level abandonment is 70.2%, averaged across 50 studies (Baymard Institute, 2026). Our own forecast model uses roughly 28% for the narrower, later-stage case: a checkout started and never finished.
- In that model WhatsApp recovers about 8 percentage points more of those checkouts than email alone — and about 34% of your customers are reachable on WhatsApp and on no other channel.
What counts as an abandoned cart on Shopify?
Two different things get called the same name, and the difference decides whether you can do anything about it.
- Cart abandonment. Someone adds a product and leaves before checkout. You usually have no name and no contact details, so there is nobody to message.
- Abandoned checkout. Someone starts checkout, enters their details, and no order follows. Now you have an identity — and a recovery flow becomes possible.
Recovery works on the second case. In Keaz the trigger fires when a contact was identified during checkout — usually because they entered their details — and no completed order follows within the period you define. Timing, conditions and the number of messages are yours to set, and the flow stops by itself the moment the order comes through, so nobody who has already bought receives a reminder to buy. One prerequisite is absolute: a phone number has to be captured at checkout, or there is no one to write to. The mechanics are documented in Flow trigger: Abandoned Checkout.
This also explains why the abandonment figures you read vary so wildly. The 70.2% average documented cart abandonment rate that Baymard Institute derives from 50 separate studies measures the cart level. Our forecast model uses roughly 28% for checkouts specifically, because a shopper who has already typed in an address has crossed the expensive part of the funnel. Both numbers are right about different things, and only the second one is something a flow can act on. How our ranges are derived is set out in how the forecast is calculated.
Why does WhatsApp recover carts that email misses?
Not because the copy is better. Because of who you reach, and how fast.
- Reach you do not otherwise have. Across our customer base the split is roughly 24% reachable by email only, 38% on both channels, 34% on WhatsApp only and 3% on neither. For that third, an abandoned-cart email is not a slower option — it is no option.
- Higher conversion on the overlap. On customers email already reaches, conversion moves from 2.1% to 4.5% once WhatsApp is added — roughly 1.5×.
- Speed. A recovery message is only worth sending while the intent is still live. WhatsApp gets read in minutes; email gets read when the inbox does.
In our forecast model the channel recovers around 8 percentage points more of abandoned checkouts than email alone. That is an addition, not a replacement — the case for running both is in our channel comparison, and the full set of Shopify-triggered flows is described under features.
How do you set up a WhatsApp cart recovery flow?
- Connect Shopify. Checkout events have to reach Keaz before anything can trigger on them.
- Check who you can actually reach. Customer Contact Coverage — the share of your last-12-months customers you hold a phone number for — usually starts at 35–55% and reaches 85%+ within about 60 days. A recovery flow can only message the covered share, so this number caps the whole exercise.
- Get the opt-in right first. Every recipient needs explicit, documented and revocable consent, given for messaging specifically. Our WhatsApp opt-in guide covers how to ask for it without damaging checkout conversion.
- Select Abandoned checkout as the flow's starting point and add the delay blocks that set your timing.
- Write the messages so they read like a person wrote them. What goes in them is covered below.
- Attach a discount code to the flow — one code per flow, so recovered revenue is attributable to this flow and not to a coincidence. See Revenue Tracking: one discount code per flow.
- Leave it running for 30 days before you touch it. On a small covered base a recovery flow needs a month to produce a number you can trust.
When should the recovery messages go out?
Two messages are usually enough, and the timing we recommend is documented rather than improvised: the first after roughly 30 minutes, then a 24-hour delay, then a second reminder at the same time of day as the original checkout.
- The first message at about 30 minutes. Late enough that people who were merely interrupted finish the order themselves, early enough that the cart is still fresh in their mind.
- The second a day later, at the hour they were shopping. Someone browsing at 21:00 is more reachable at 21:00 than in the middle of their working day.
- Never overnight in the customer's own timezone. A 03:00 message about a shopping basket is the fastest way to lose a subscriber you spent months collecting.
- Stretch the delays for high-value carts. A €400 basket is a considered decision. Give it room instead of nagging it, by putting a condition on the delay.
You do not have to build the stop condition yourself. A completed purchase ends the flow automatically, so the second reminder never reaches someone who has already bought. What you do have to resist is a third and a fourth message — past two, the extra recovery is small and the unsubscribes are not.
What should the recovery message say?
- Name the product. “Your cart” is a system talking. “The olive oil is still in your basket” is a shop talking.
- One link, straight back to the checkout. Not the homepage, not the product page, not a campaign landing page.
- A reason to finish that is not automatically a discount. Low stock, a shipping cut-off, or an offer to answer the question that stalled them.
- Hold the discount back for the second message, if at all. Discount every recovery message and customers learn to abandon on purpose. At a €38 average order value a habitual 10% is most of the margin.
- Invite a reply. This is a conversation channel, and a reply is a sale you can close by hand. “Does this ship before Friday?” is not an objection, it is a warm lead.
What recovery rate should you expect?
These are the first-90-day bands we see across the ten verticals we serve, and they are deliberately the defensible end rather than the best case.
- Pet — 30%, the highest of any vertical.
- Beauty and cosmetics — 26%.
- Health and wellness — 24%.
- Fashion, sports and outdoor, kids and baby — 22%.
- Food and beverage, home and living, jewellery — 20%.
- Electronics — 18%, where the considered purchase takes longer than any message can shorten.
The per-vertical picture, including typical average order values, sits on the industries page.
The market is not doing this work for you either. German online retail grew 1.1% to €80.6 billion in goods revenue in 2024, holding a 10.1% share of retail (bevh, Interaktiver Handel in Deutschland, January 2025). At that growth rate, revenue recovered from demand you have already paid to acquire is the cheapest growth on the table.
A worked illustration, not a customer case. Say a fashion store has 4,000 customers from the last 12 months and phone numbers for 45% of them, so 1,800 are reachable. Assume 300 of a month's abandoned checkouts come from that reachable group. At the fashion band of 22% that is 66 recovered orders; at the fashion average order value of €78, roughly €5,100 in a month. Raise coverage from 45% to 85% and the reachable group nearly doubles — which is why coverage work usually outranks copy work.
How do you measure recovered revenue honestly?
Most cart-recovery reporting overstates itself, and the overstatement is structural rather than dishonest.
- Attributed is not incremental. Some of those buyers would have come back on their own. A flow that takes credit for them looks better than it is.
- One discount code per flow gives clean attribution for what the flow touched. That is the floor of good measurement, not the whole of it.
- To get closer to incremental, hold some back. Exclude a share of eligible checkouts for a month and compare the two groups. The gap between them is the honest number.
- Read revenue per send, not read rate. Read rates on WhatsApp are high enough to be uninformative — they will keep telling you the channel works long after the message has stopped working.
If you want that arithmetic on your own customer count and coverage rather than on a benchmark, the forecast runs it.
Common mistakes
- Porting the email sequence across. Four or five messages over a week is an email cadence. On WhatsApp the same schedule reads as pressure.
- Sending without a documented opt-in. Consent is channel-specific; an email subscriber has not agreed to messaging.
- Discounting by default on the first message. You pay margin for orders you would often have won anyway, and train the rest of your list to wait for the code.
- Reporting against everyone who abandoned. You can only message the covered, opted-in share. Measured against the whole abandoned population, a working flow looks broken.
- Fixing the copy before fixing coverage. A better message to 1,800 people loses to the same message to 3,400.
- Reporting attributed revenue as incremental. It is the most common way a channel gets over-credited, then quietly defunded when somebody finally checks.
- Ignoring replies. A recovery message that gets answered and then sits unanswered is worse than not sending it at all.
Frequently asked questions
Do I need a separate opt-in for WhatsApp if the customer already gets my emails?
Yes. Consent is channel-specific: an email subscription does not carry over to messaging. Ask explicitly, record when and how consent was given, and make withdrawing it easy.
Should I switch off my abandoned-cart emails?
No. About 24% of your customers are reachable by email only, so switching email off removes a quarter of the audience to gain nothing. Run both and let each channel reach the people it can.
How many recovery messages should I send?
Two: the first after about half an hour, the second a day later at the hour the checkout happened. Past two the extra recovery gets small and the unsubscribes do not — and because a completed order stops the flow automatically, a buyer never receives the second one.
Does this work for a store with a small customer base?
Yes — the numbers scale down with the population. Below roughly 500 reachable contacts, raising coverage pays back faster than tuning the flow does.
Which flow should I switch on first?
This one. Checkout is where a shop loses revenue it had almost earned, which is why we suggest building Cart Recovery before the others. In consumable verticals — pet, food and beverage, beauty — the Re-Order Reminder population can be larger, which sometimes makes that the bigger second step.
Cart recovery on WhatsApp is not a cleverer version of the recovery email. It is the same idea delivered where it gets read, to the third of your customers email never reaches. Get the opt-in right, send two messages rather than five, attach a code so you can see what actually happened, and separate attributed revenue from incremental before you report either.
Want the number for your own store rather than a benchmark? Calculate your forecast — it runs on your real customer count and coverage.
This article is a summary rather than legal advice. Have your own counsel review how you collect and document consent.
Frequently asked questions
What counts as an abandoned cart on Shopify?
Why does WhatsApp recover carts that email misses?
How do you set up a WhatsApp cart recovery flow?
When should the recovery messages go out?
What should the recovery message say?
What recovery rate should you expect?
How do you measure recovered revenue honestly?
Nils Spölgen
Founder at Keaz. Serial founder in chat marketing — built a local agency into Keaz, the WhatsApp marketing platform for Shopify. Bootstrapped the MVP, raised funding, and scaled to 200+ merchants in DACH. Writes about flows, opt-in & GDPR, Klaviyo, and realistic revenue benchmarks — prefers conservative math over impressive claims. View profile

