How to Recover Abandoned Carts with WhatsApp (Shopify & WooCommerce)
March 28, 2026About 70% of online shopping carts get abandoned before checkout. That's not a rounding error — it means roughly seven out of every ten people who add something to your cart walk away without buying. Most store owners know this, and most of them are trying to fix it with email.
The problem? Abandoned cart emails average around 20% open rates on a good day. A lot of those recovery attempts go straight to the promotions tab — or the bin.
WhatsApp is different. Messages get opened at 85-98%. Replies happen within minutes, not days. And when the message is well-timed and doesn't feel like spam, customers actually convert.
The results from stores using WhatsApp cart recovery are consistent across the industry. This guide covers exactly how to do it — step by step — including the message templates I recommend and the timing that works.
Why WhatsApp Works Better for Cart Recovery
Email recovery is worth doing. I'm not suggesting you kill it. But it's worth understanding why WhatsApp outperforms it specifically for abandoned carts.
When someone abandons a cart, they're still warm. They found your store, browsed, chose a product, and got most of the way through. Something interrupted them — maybe they got distracted, maybe they were price-checking, maybe the shipping cost surprised them. The window to bring them back is short.
Email often can't act fast enough. A message that arrives six hours later in a crowded inbox is easy to scroll past. A WhatsApp message that arrives on their phone an hour after they left — with their first name and the exact items they chose — is hard to ignore.
The other factor is trust. WhatsApp is where people talk to their friends and family. A message there feels more personal than a newsletter, even if it's automated. That matters for conversions.
Step 1: Get WhatsApp Business API Access
There are two WhatsApp products: the standard WhatsApp Business app (free, manual) and the WhatsApp Business API (paid, automated). You need the API for any kind of cart recovery automation.
The API is provided through Meta-approved third-party platforms, not directly by WhatsApp. You apply through one of these providers, they handle the Meta approval process, and you get access to send automated messages at scale.
What I use
I use a custom CRM for all my WhatsApp automation builds. It handles the WhatsApp Business API connection, automation flows, customer data, and conversation management in one platform. You connect your WhatsApp Business number, build your flows in a visual builder, and everything — cart recovery, broadcasts, drip sequences — runs from the same dashboard.
The main advantage over standalone WhatsApp tools is that a custom CRM keeps your customer data, automations, and conversations all in one place. No stitching together three different platforms.
Pricing is a monthly platform fee plus WhatsApp's per-conversation charges (which Meta sets by country and message type). For South Africa, the per-message costs are relatively low — you're usually looking at a few cents per conversation.
The approval process
- Create a Meta Business Manager account if you don't have one
- Sign up with your chosen provider and submit your business details
- Meta reviews your business — this usually takes 1-3 business days
- Once approved, you verify a phone number (must be dedicated to WhatsApp Business API — can't be a number you already use for personal WhatsApp)
- Create your message templates and submit them for approval (more on this below)
Template approval is where people get tripped up. WhatsApp requires pre-approved templates for outbound messages (messages you initiate, like cart recovery). Templates go through a review that typically takes a few hours to a day. They need to be useful and non-spammy — WhatsApp is strict about promotional language in templates.
Step 2: Connect to Your Store
Once your API access is live, you need to connect it to Shopify or WooCommerce so that cart abandonment events trigger your messages automatically.
Shopify
Shopify connects to your CRM via webhook. When a cart is abandoned, Shopify fires the event to your automation platform, which triggers your WhatsApp sequence automatically. The setup takes about 15 minutes once your WhatsApp Business account is approved.
One thing to check: Shopify defines an "abandoned cart" as a cart where the customer has reached checkout but not completed payment, and at least an hour has passed. That means the customer needs to have entered their contact details at checkout — Shopify captures the phone number at that point, which is what allows the WhatsApp message to fire.
If a customer adds to cart but never starts checkout, Shopify won't have their number and can't trigger the flow. This is a limitation of the platform, not the WhatsApp integration.
WooCommerce
WooCommerce doesn't have the same native checkout phone capture as Shopify, so the setup requires a bit more work. There are two main approaches:
Via webhooks — WooCommerce fires a webhook when cart status changes, and you route it to your CRM which triggers the WhatsApp sequence. This is the approach I use because it gives full flexibility on timing, segmentation, and conditional logic.
Via plugins — Some WooCommerce plugins add a WhatsApp opt-in checkbox at checkout and handle the abandonment trigger directly. This is simpler but less flexible.
I'd recommend the webhook route for WooCommerce stores. It takes a bit longer to set up but behaves better long-term.
Getting opt-in right (this is non-negotiable)
You need explicit customer consent before sending WhatsApp messages. This is WhatsApp policy and it's also a legal requirement — POPIA in South Africa, GDPR in Europe.
The standard approach: add an opt-in checkbox at checkout. Something like: "Get order updates and exclusive deals on WhatsApp." Don't bury it, don't pre-tick it, and be honest about what you'll send. Customers who opt in are more engaged anyway — you don't want to message people who didn't ask for it.
Step 3: Set Up the Cart Abandonment Trigger
With your store connected and opt-in in place, you configure when the abandonment trigger fires.
The standard setup is: if a customer reaches the checkout page, enters their contact details, and hasn't completed the order after X minutes — fire the first message.
Most providers let you set this timing directly in their flow builder. I recommend 45-60 minutes as the trigger point for the first message. Short enough that the cart is still relevant, long enough that you're not messaging someone who's still in the middle of placing their order.
A few things to configure at this stage:
- Which phone field to use — make sure the trigger is pulling from the right checkout field (mobile number, not landline)
- Filter for opted-in customers only — this should be automatic if you've set up opt-in correctly, but double-check it
- Stop the sequence if they convert — every provider worth using has a "stop if purchased" condition. Set it. Otherwise customers who buy from your first message will still get messages 2 and 3.
Step 4: Build the 3-Message Sequence
Three messages is the right number for abandoned cart recovery. One message isn't enough follow-through. Four or more starts feeling like harassment. The sequence I recommend runs at 1 hour, 24 hours, and 72 hours.
Here's exactly how I write each one.
Message 1 — 1 hour after abandonment
The first message is a simple, warm reminder. No urgency, no discount. Just a friendly nudge that doesn't feel like a sales push.
Hi {{first_name}} 👋
You left something in your cart — just wanted to make sure you saw it:
🛒 {{cart_items}}
Still interested? Your cart is saved and ready when you are.
→ {{checkout_link}}
Keep it light. The customer probably just got distracted. Treat them accordingly.
Message 2 — 24 hours after abandonment
If they didn't convert from message 1, add a small layer of urgency. Not fake urgency ("ONLY 2 LEFT!!!") — just a honest nudge that stock moves and you can't hold their cart forever.
Hey {{first_name}},
Your cart is still saved, but we can't guarantee stock much longer.
{{cart_items}}
Complete your order before it's gone: → {{checkout_link}}
Any questions? Just reply here — happy to help.
The last line matters more than it looks. Inviting a reply turns the message from a broadcast into a conversation. Some customers will reply with a question ("does this come in another size?") and that reply opens a 24-hour window for free-form messaging under WhatsApp's conversation rules.
Message 3 — 72 hours after abandonment
This is your last shot. If they haven't converted after two reminders, offer an incentive. A 10% discount or free shipping is usually enough. Don't go higher — you'll train customers to abandon on purpose.
Last chance, {{first_name}}.
We're holding your cart one more day. And we'd love for you to come back, so here's something to help:
🎁 10% off your order — use code COMEBACK10 at checkout.
→ {{checkout_link}}
Code expires in 24 hours. After that, we'll clear your cart.
After this message, stop the sequence. If they haven't converted in 72 hours, they've made their decision. Continuing to message them will only generate opt-outs.
Step 5: Set Up Tracking
If you can't measure it, you can't improve it. Setting up conversion tracking on your cart recovery flow takes 20 minutes and is worth every second.
UTM parameters — Tag every checkout link in your WhatsApp messages with UTM parameters so you can see in Google Analytics exactly how many sessions and orders came from each message. Use something like:
?utm_source=whatsapp&utm_medium=cart-recovery&utm_campaign=message-1Use
message-1message-2message-3Provider analytics — Every WhatsApp provider has built-in delivery and open rate reporting. Use this to track delivered vs. read vs. clicked for each message. If message 3 has a high read rate but low click rate, the offer isn't landing. If message 1 has a low delivery rate, check your phone number field mapping.
Revenue attribution — Most providers will show you revenue recovered directly in their dashboard if you have the Shopify or WooCommerce integration set up correctly. Cross-check this against your UTM data in GA4 to make sure the numbers line up.
Review these numbers monthly, not weekly. Give the data time to accumulate before you make changes.
Why 1 Hour, 24 Hours, and 72 Hours?
This isn't arbitrary. Each timing point targets a different abandonment reason.
1 hour — catches the customers who got distracted. Phone call, something came up, battery died. They were about to buy. A quick reminder at the right moment brings them back immediately.
24 hours — catches the deliberate consideration. Some people add to cart to save items while they think about it. They've had time to consider. A nudge at 24 hours reaches them while the product is still in their mind.
72 hours — catches the price-sensitive or hesitant buyer. Three days is usually long enough for a buying decision to go cold. If they're still on the fence, a discount can tip them over. If they were never going to buy, no discount will change that.
Going beyond 72 hours tends to see rapidly diminishing returns. The cart has been cold for too long. Better to stop the sequence and let your win-back flow handle re-engagement a few weeks later — I cover that in detail in the WhatsApp automation flows guide.
The Discount Debate
A lot of the guides you'll find online recommend sending a discount in your very first cart recovery message. I strongly disagree with this approach, and here's why.
When you lead with a discount, you train customers to abandon carts on purpose. They learn that if they just leave, you'll send them 10% off. There are plenty of stores where a meaningful percentage of their abandoned carts are strategic — customers who've done it before and know what's coming.
The sequence above is structured to only reward customers who genuinely needed a nudge after two non-discount reminders. Those customers haven't been waiting for the discount. The 10% in message 3 is a genuine incentive to someone who was on the fence, not a reward for gaming the system.
If you're finding that customers are unsubscribing after message 3 even when they've received the discount, the issue is usually the offer itself — wrong amount, or the shipping cost is still making the math not worth it. Fix the root cause rather than throwing bigger discounts at the problem.
What Results to Expect
Realistic benchmarks for a well-set-up WhatsApp cart recovery sequence:
- Recovery rate: 15-25% of abandoned carts that receive the sequence
- Message 1 conversions: Typically 8-12% — the easiest wins
- Message 2 conversions: Another 4-8% of the remaining abandoned carts
- Message 3 conversions: Another 3-6%, often the highest-value orders because the discount tips buyers who were always close
For context: most email abandoned cart sequences recover 5-8% of abandoned carts. WhatsApp typically runs at 3-4x that recovery rate, for the same reason any message you actually read outperforms one you don't.
These numbers assume clean opt-in data, properly timed messages, and a product/price point that isn't itself the reason customers are leaving. If your checkout abandonment rate is unusually high (above 85%), fix the checkout experience first — WhatsApp recovery can only do so much if the underlying UX is broken.
FAQ
Do I need a dedicated phone number for WhatsApp Business API?
Yes. The number you use for the API can't be one already connected to a personal WhatsApp account. Most businesses use a dedicated mobile number or a VoIP number. Your provider will guide you through the verification process. Once it's set up, you don't need a SIM active — it just needs to be a number you own and can receive an OTP on during setup.
Can I use WhatsApp cart recovery alongside email, or do I pick one?
Both, absolutely. Email and WhatsApp recovery working together recover more carts than either does alone. The standard setup is: email fires at 30 minutes, WhatsApp fires at 1 hour. If a customer opts in to WhatsApp, you might suppress the 24-hour email since they're in the WhatsApp sequence. Some stores run both channels in parallel — it depends on your audience and how aggressive you want to be.
What happens if a customer replies to the WhatsApp message?
When a customer replies, WhatsApp opens a 24-hour window where you can have a free-form back-and-forth conversation (no pre-approved templates needed). Most providers route these replies to a shared inbox where your team can respond. This is actually one of the biggest advantages of WhatsApp over email — genuine two-way conversation that can close a sale in real time.
Does this work for digital products or is it mainly for physical goods?
It works for both. The message templates are slightly different for digital products — you'd remove stock urgency language from message 2 and adjust the framing — but the core sequence and timing is the same. Digital products actually see slightly higher recovery rates because there are no shipping cost surprises at checkout to explain.
How do I handle customers who opt out mid-sequence?
Your provider handles this automatically. When a customer replies "stop" or blocks your number, the sequence stops immediately and their number is flagged as opted out. You should never send further messages to an opted-out number, and any decent provider enforces this at the platform level.
Getting This Set Up
If you're running an ecommerce store on Shopify or WooCommerce and you're not recovering abandoned carts on WhatsApp yet, this is probably the highest-ROI thing you can add right now.
The full setup — API access, store connection, three-message sequence, tracking — takes a few days if you're doing it yourself and know the platforms. If you'd rather have someone handle it properly from the start, take a look at the WhatsApp Automation service. I do the technical setup, write the message copy, test every trigger, and hand it over running.
Darren is a freelance ecommerce developer based in Cape Town. He builds WhatsApp automations, custom integrations, and high-converting online stores for Shopify and WooCommerce merchants.
Related Articles
- A/B Testing WhatsApp Cart Recovery: What Messages Actually Convert in SA?
- What Is Abandoned Cart Recovery? (And Why South African Stores Need It)
- WhatsApp vs Email for Ecommerce: Why I Stopped Recommending Email-Only Recovery
- Recovering Abandoned Checkouts via SMS in SA: Does it Still Work?
- 5 WhatsApp Automation Flows Every Online Store Needs