Seven out of ten shoppers who put something in a cart leave without paying. That is not a niche problem or a sign something is broken on your store. It is the baseline for the entire industry, and it has held steady near that level for over a decade despite every checkout improvement retailers have shipped.
The opportunity is not eliminating abandonment. It is recovering a meaningful share of it, automatically, without adding to anyone's workload. That is what an abandoned cart flow does.
(Baymard Institute)
vs. 66% on desktop
cart recovery emails (Klaviyo)
Why shoppers abandon carts
Some abandonment is unavoidable. A large share of shoppers add items with no intent to buy that session; they are comparing prices, saving for later, or just browsing. That segment will not convert regardless of what you send them.
The recoverable segment abandons for specific, addressable reasons:
- Unexpected costs at checkout. Shipping, taxes, or fees that were not visible earlier in the flow. This is consistently the single largest driver of abandonment.
- Forced account creation. Being required to register before finishing a guest checkout adds friction at the exact moment intent is highest.
- Not ready to decide. The shopper got distracted, wanted to compare, or needed to check something before committing.
- Trust concerns. Uncertainty about payment security or return policy, especially on a first purchase from a brand.
A recovery flow cannot fix a broken checkout. But it can re-engage the shopper who was close, remind them what they left, and remove the specific objection that stopped them.
The flow structure that works
Three messages, spaced to match how urgency actually decays. Sending everything in the first hour looks desperate. Waiting a week means the shopper has already bought elsewhere.
| Message | Timing | Job |
|---|---|---|
| 1. Reminder | 1 hour after abandonment | Show the exact items left behind. No discount yet. |
| 2. Follow-up | 24 hours after abandonment | Add social proof or answer the likely objection (shipping, returns). |
| 3. Incentive | 48–72 hours after abandonment | Offer a time-limited reason to finish now. |
SMS earns its place inside this sequence rather than replacing it. Cart recovery text messages convert at a meaningfully higher rate than email on a per-message basis, but reach fewer people, since SMS opt-in rates are lower than email capture. The highest-performing setups use SMS for message 2 or 3, timed to a contact who has already shown engagement with message 1.
What to put in each message
Message 1: the reminder
Product images, names, and prices, exactly as they sat in the cart. A single clear call to action back to checkout, pre-filled if your platform supports it. No urgency language here; the shopper has not had time to forget yet, and manufactured urgency this early reads as generic automation.
Message 2: the follow-up
This is where you remove friction. If shipping cost is a likely objection for your store, state your shipping policy plainly. If it is a first-time buyer, a review or two from a similar customer does more work than another product photo. Keep the cart visible, but the message's job is answering "why should I trust this," not just "here is your cart again."
Message 3: the incentive
A discount, free shipping, or a bundled extra, time-boxed to create a real decision point. Discounting every abandoned cart trains customers to abandon on purpose and wait for the offer, so reserve this message for contacts who did not act on messages 1 or 2, not everyone.
Segment before you send
Not every abandoned cart deserves the same flow. At minimum, separate:
- Cart value. A high-value cart justifies a phone-friendly, higher-touch sequence or a larger incentive than a low-value one.
- New vs. returning customer. Returning customers already trust you; lead with the product, not a trust-building message.
- Product category. High-consideration categories abandon more for comparison reasons; the follow-up message should account for that instead of assuming a checkout problem.
Setting this up on TheMarketer
The flow above maps directly onto TheMarketer's automation builder: a trigger on cart abandonment, a wait step per message, and a condition branch that stops the sequence the moment the order completes so no one gets a discount code for a purchase they already made. The setup work is connecting your store's cart data cleanly and building the condition logic once. After that, it runs on every abandonment without anyone touching it.
This is exactly the kind of flow we build as part of onboarding new accounts: connect your store, configure the three-message sequence with your actual product data and shipping policy, and leave it running while we monitor performance and adjust timing based on your real numbers.