
Abandoned Cart Recovery on WhatsApp With AI: A Step-by-Step Guide
How to run abandoned cart recovery on WhatsApp with AI: consent, approved templates, attempt limits and a baseline to measure before you scale.
Want to apply this in your company?
Book a call with Juan →Abandoned Cart Recovery on WhatsApp With AI: A Step-by-Step Guide
For abandoned cart recovery on WhatsApp with AI, send the first message only to people who agreed to that contact, use a template approved by Meta, cap the number of attempts, and compare results against a group that received nothing. The AI's job is to understand the customer's reply and guide the conversation within rules. It should not decide on its own when to write, how much to offer or how many times to follow up.
Key takeaways
- Message only people who opted in to WhatsApp contact, and record when, where and with what wording the customer agreed.
- Outside the customer service window, the first message must be an approved template. The AI takes over once the customer replies.
- Set the attempt ceiling and the stop rules before you switch on any automation.
- Measure a baseline and keep a control group. Without them you cannot tell whether a sale came from the message or from a purchase that would have happened anyway.
- Keep a handoff to a person for complaints, discount requests outside the rules, payment problems and requests to stop receiving messages.
When is WhatsApp worth using for cart recovery?
An abandoned cart rarely has a single cause. Sometimes the customer got distracted, sometimes shipping was a surprise, the delivery date did not fit, the payment was declined, or they were still comparing stores. WhatsApp works best when the reason is a question that a short conversation can settle. When the reason is price, a message changes little, and pushing can annoy people.
Before you build anything, check that the flow makes sense for your business. A few signals help you decide:
- The checkout collects the phone number before the cart is abandoned, with permission to contact the customer on WhatsApp.
- There are recurring questions your support team already answers (shipping, delivery time, returns, payment methods, stock).
- The average order value can absorb the cost of messages and the time of a person on the cases that need one.
- Someone is responsible for reviewing conversations and adjusting rules every week.
If none of these exist, the problem is probably upstream of the message: in the checkout, the shipping terms or the way consent is collected. Fix that first. For a wider view of how outbound messaging works on the platform, see WhatsApp outbound messages, templates and opt-in.
How should you handle consent before the first message?
Consent is the foundation of the whole flow. In practice there are two layers: the platform rule, which requires opt-in for messages a business initiates, and data protection law (in Brazil, the LGPD), which requires an appropriate legal basis and transparency about the purpose of processing. For commercial recovery messages, the easiest position to defend is specific, clear consent that is easy to withdraw. The choice of legal basis should go through your legal counsel or data protection officer, and the national authority (in Brazil, the ANPD) is the official source for guidance.
A collection design that tends to work:
- An unticked checkbox at checkout with direct wording: I want to receive WhatsApp messages about my order and about purchases I leave pending.
- A record of every authorization: number, date and time, the text shown, the source page and the privacy policy version.
- An opt-out in every message, for example by replying STOP, with immediate effect.
- A single block list, checked before any send, including sends from other flows in the company.
What to avoid: bought lists, reusing phone numbers collected for another purpose without assessing the legal basis, or treating a past purchase as permission for any message. Beyond the legal risk, contacts who never agreed lead to more blocks and reports, which can damage the quality rating of your number. That effect is covered in how to avoid a banned WhatsApp number when using an AI agent.
How do you write approved templates that do not feel like a collection notice?
Outside the service window opened by the customer, a business can only start a conversation with a previously approved template. Check Meta's current documentation for category, approval and window rules, because they change. Recovery messages tend to be treated as marketing, and the category affects both approval and cost, so confirm this before planning the flow.
A good template is short, names the store, mentions the item and offers help instead of pressure. An example structure:
Hi ((1))! You left ((2)) in your cart at ((3)). Can I help with any question about shipping, delivery time or payment? If you do not want more messages, reply STOP.
A few writing rules help with approval and with keeping the customer's trust:
- One question or invitation per message.
- Variables only for data you actually have and that is correct (name, item, store).
- No false urgency, such as claiming stock is running out when it is not.
- No discount built into the template unless the commercial rule is already defined and always honored.
- Separate variations for testing, each with a clear name, instead of editing the same template repeatedly.
When the customer replies, the service window opens and the AI can talk freely within limits. This is where it adds value: it understands a question written any which way, looks up shipping, delivery time and order status in your systems, and sends back the cart link. What it should not do is invent policy, promise a date the system does not confirm, or grant a discount outside an explicit rule. The customer's message is also untrusted input, so it is worth applying the OWASP Top 10 for LLM applications and the practices described in guardrails for AI agents.
How many attempts should you make, and when should you stop?
The attempt limit protects the customer, the WhatsApp number and the brand. There is no universally correct number. The starting point is the smallest number that still lets you test the hypothesis, and the pilot shows whether it is worth raising. One possible decision rule:
- First message: a help-oriented template, sent after an inactivity period you define based on how your store's customers behave.
- Second message: at most one reminder, and only if the customer has not replied, has not bought and has not asked to stop.
- After that: end the flow for that cart, with no exceptions.
- Sending window: business hours in the customer's time zone only, never overnight.
- Rest period: after a complete flow, the same customer does not enter another one for a defined time.
- Immediate stop: purchase completed through any channel, a negative reply, a STOP request, a complaint or a data error in the cart.
- Flow quarantine: if blocks, reports or complaints rise against the baseline, sending pauses until someone reviews it.
Why does stopping on a purchase through any channel matter so much? Because the most irritating failure of this kind of automation is chasing someone who already bought. If your order system and your messaging system do not talk in near real time, the integration is a prerequisite, not a detail. For stores that use an ERP, the path usually runs through an API, and the risks are covered in integrating AI with Bling, Omie or Tiny.
How do you measure with a baseline before scaling?
Without a baseline, any recovery number looks good. Many customers come back on their own, and crediting all those purchases to the message inflates the result. The goal is to measure incremental gain, meaning what happened beyond what would have happened anyway because of the flow. A step-by-step plan:
- Step one: define what an abandoned cart means in your store (items, inactivity time, identified customer).
- Step two: measure the current period without the WhatsApp flow: how many carts are abandoned, how many return on their own, what email or remarketing already recovers, and how much team time goes into this topic.
- Step three: set aside a random control group that receives no message, and keep that separation for the whole pilot.
- Step four: choose a few metrics and write them down before you start: incremental recovery against the control, reply rate, STOP requests, blocks, complaints, conversations handed to people and the time they spend.
- Step five: agree in advance on what expanding, adjusting or stopping means. For example, if incremental recovery does not appear but STOP requests rise, the flow pauses.
- Step six: read a sample of conversations every week, together with the AI's decision logs, to catch wrong answers before they become routine.
Run the pilot on a small slice, such as one product category or one traffic source, so mistakes stay cheap. The reasoning behind metrics and decision criteria is laid out in how to measure an AI automation pilot. Only after a result read against the control does it make sense to increase volume, sending hours or the number of attempts, and one change at a time.
What does it look like in practice? An illustrative scenario
Illustrative scenario: an online kitchenware store collects the phone number at checkout, with a checkbox authorizing messages about pending orders. A customer puts a saucepan in her cart and leaves without paying. After the defined inactivity period, and since she is not in the control group, she receives the template asking whether she needs help with shipping, delivery time or payment.
She replies asking whether it will arrive in time for a birthday. The AI checks the estimated delivery time for her postal code, as reported by the shipping system, and answers with the forecast and the cart link. She then asks about a discount. The store's rule says the AI does not grant discounts, so it explains that it cannot change the price and offers to bring in a team member, who decides within the commercial policy. Had she replied STOP, her number would have gone onto the block list immediately, with no confirmation question.
In this example, the AI did what it does well: it understood a loosely worded question and fetched real data. The pricing decision stayed with a person. The following week, the team reads a sample of conversations, checks whether any delivery date was stated incorrectly, and compares recovered orders against the control group.
How we apply the method: map, limit, pilot, hand off
The working method follows four moves, and each one produces something concrete in this case.
- Map: draw the path from checkout to message, including where the phone number is collected, what authorization exists, which questions cause abandonment today and who answers them. The baseline is born here.
- Limit: define the data the agent can see (cart, catalog, shipping, order status) and the actions it can take (send a link, state a delivery time). Changing prices, issuing refunds or promising exceptions stay out. Attempts and stop rules are set at this stage.
- Pilot: run a real flow on a small slice, with a log of every decision and a metric agreed beforehand, read against the control group.
- Hand off: formalize the transfer to your team, with criteria for when a conversation goes to a person, who reviews the logs and how the decision to expand, adjust or stop is made. For agent architecture in general, the technical reference is Anthropic's article on building effective agents, which argues for starting simple and adding complexity only when it is justified.
None of this guarantees higher sales. The pilot exists precisely to find out whether, in your operation, the flow brings a gain that justifies the effort and the risk, or whether the better move is to fix the checkout and leave WhatsApp for after-sales.
Frequently asked questions
Can I message any customer who abandoned a cart? No. Only people who authorized WhatsApp contact for this purpose, with a record of the authorization and a simple way to opt out. Having the phone number on file does not, by itself, amount to that authorization. Confirm the legal basis with your legal counsel or data protection officer.
How many recovery messages can I send per cart? There is no correct number for every business. A prudent starting point is one initial message and at most one reminder, with an immediate stop on a purchase, a negative reply or a STOP request. Raise the limit only if the pilot shows a gain without a rise in blocks and complaints.
Can the AI offer a discount on its own? It is better that it does not. A discount affects margin and sets a precedent, so it should follow an explicit, approved rule or be decided by a person. The AI can explain the existing policy and bring in a human when the customer asks for terms outside it.
Do I need the official WhatsApp Business API? For outbound sending with templates, conversation records and volume control, the official API is generally the right path, and the regular app is usually unsuitable for this kind of automation. Compare the options in WhatsApp Business API vs the app for an AI agent, and check Meta's current requirements, including business verification, before planning the pilot.