The abandoned cart email flow that actually recovers revenue
Most abandoned cart flows are one email with a 10% code, sent the next morning. That is the cheapest way to pay a discount to people who were going to buy anyway.
Someone put four items in a bag, got as far as the shipping page, and left. The next morning they receive one email with a 10% code. Some of them buy, the flow reports a healthy number, and everybody assumes it is working.
It is not working, it is harvesting. Most of those people were coming back anyway, and you have just paid them to do it. The flow that recovers genuinely lost revenue looks different, and it starts by not being one flow.
Three flows, not one
The single most common mistake is one “abandoned cart” flow doing the job of three. The three triggers signal very different things, so they need different copy, different timing and different lengths.
| Flow | Trigger | Intent | Emails | What it is for |
|---|---|---|---|---|
| Browse abandonment | Viewed a product, did not add to cart | Low to medium | 1–2 | Bringing a product back to mind |
| Cart abandonment | Added to cart, left the site | Medium | 2 | Finishing a decision already half made |
| Checkout abandonment | Reached checkout and gave an email address | High | 3 | Removing the specific thing that stopped the order |
Checkout abandonment is the one that earns money, and it is the one most stores never build separately, because the platform’s default template is a cart flow. If you have the time for exactly one of the three, build checkout abandonment and make it good.
One build note that saves a week of debugging: exclude people from the cart flow once they enter checkout, or the same person gets both sequences at once and you look careless.
The timing that works
For checkout abandonment:
- Email one at 1 hour. Short, specific, their items shown, one button. Nothing else.
- Email two at 24 hours. The objection email. This is where the real work happens.
- Email three at 48 to 72 hours. The decision email, and the only place an incentive belongs.
For cart abandonment, run two: 4 hours and 24 hours. For browse abandonment, one at 4 hours, with a second at 48 hours only for high-value categories.
Then put a hard end on all of it. Exclude anyone who has placed an order, cap the flow so a person cannot re-enter more than once in 30 days, and smart-send so nobody receives two flow emails within 24 hours. Stores that skip these exclusions send four recovery emails to one browsing session and wonder why their unsubscribe rate climbed.
What each email should actually say
Email one: the reminder. Assume a distraction, not a doubt. Show the exact items with images and the cart total, one clear button back to the saved cart, and no other links. No discount, no cross-sell, no newsletter footer links competing for the click. Subject lines that work here are plain: the product name and “still in your bag” beats anything clever.
Email two: the objection. By 24 hours, the people left are the ones who hesitated, so answer the hesitation. Delivery times and cost. Returns policy in one sentence. Sizing, with a link to the size guide if you sell apparel. Two or three real reviews of the item in the cart. Payment options. This is the email where product knowledge beats copywriting, and in fashion it is almost always sizing and returns. If you sell apparel, write this email with your actual support inbox open in front of you.
Email three: the reason to decide. Only now does urgency belong, and only if it is true. Low stock on their size, if your stock feed is accurate. The end of a sale that is genuinely ending. Or a modest incentive. What does not belong is invented scarcity or a countdown timer that resets, because your repeat buyers notice, and they tell each other.
When a discount destroys your margin, and when it is right
A recovery discount is a real cost, not a marketing lever, and it is paid to a group that includes people who needed nothing.
Do not discount when:
- Your gross margin is under about 40%. A 10% code on a 35% margin item takes roughly a third of the profit on every sale the flow touches, including the ones you would have had for free.
- The cart already contains sale items.
- The customer has used a recovery code in the last 60 days. Price-sensitive repeat buyers learn the pattern fast, and then the abandonment becomes deliberate.
- You sell considered, high-ticket or luxury goods. The discount undermines the positioning that justified the price, which costs more than the order is worth.
A discount is the right call when:
- It is a first-time buyer and you know your repeat rate. If a third of first orders buy again, paying 10% once to start that relationship is sensible maths.
- You are clearing a specific line and the alternative is markdown anyway.
- Free shipping is the real objection. Offering it is usually cheaper than a percentage off, and it removes the exact friction that caused the abandonment.
Test it properly before you roll it out. Split email three, discount against no discount, and compare profit per recipient rather than conversion rate. We have seen the no-discount version win on profit more than once.
Where SMS belongs
SMS in a recovery sequence is powerful and easy to overuse. Our default: one message, checkout abandonment only, around 4 hours, to people who gave explicit SMS consent at opt-in rather than inheriting it from an email signup.
Keep it to a sentence, identify the brand, include the recovery link and an opt-out. Never send it outside 9am to 8pm in the recipient’s time zone. Adding SMS to a browse abandonment flow is how a list that cost money to build gets unsubscribed in a fortnight.
Measuring recovered revenue properly
Klaviyo’s attributed revenue is a useful operating number and a bad honesty number. With a five-day attribution window, any order placed by someone who opened a flow email gets credited to it, including the order they were always going to place.
Measure it like this instead:
- Set a 5–10% holdout on the flow and leave it alone for a full month.
- Compare revenue per eligible profile between holdout and treated.
- The difference, multiplied by eligible profiles, is your incremental recovered revenue.
- Subtract the discount cost actually redeemed.
- Report that number, and keep reporting the attributed figure alongside it so nobody is surprised.
Also watch recovery rate by step, so you can see whether email three is earning its unsubscribes, and conversion rate by device, because a recovery link that drops the cart on mobile is a common and invisible leak. If the problem turns out to be the store rather than the email, our notes on Shopify traffic that never converts cover the checkout side.
What this looks like when we do it
For a luxury clothing brand we built the full flow set, browse and cart abandonment included, segmented by purchase history and engagement. Klaviyo attributed $1.14M to email over twelve months, 27% of the store’s revenue, with 69% of that coming from flows rather than campaigns, and a spam complaint rate of zero. At HydroHealth the rebuilt pre-purchase flows plus new post-purchase flows returned 63× in 60 days, measured against total store revenue rather than email attribution, with store revenue up 16%.
Both numbers came from the same thing: flows with a clear job each, not more emails.
What to do next
Open your flow list and count your triggers. If there is one cart flow doing all three jobs, splitting it is the highest-value hour you will spend this month, and you do not need us for it. The next question, which flows to build after this one, is covered in the Klaviyo flows that matter most.
If the emails are already built and still flat, the problem is usually further upstream, in deliverability and segmentation, which is where an email list that is not converting starts. When you want it built and run properly, that is our email and SMS work, and the free audit includes a look at your existing flows before the call.
Common questions
How many abandoned cart emails should I send?
Three on checkout abandonment, two on cart abandonment and one or two on browse abandonment. More than three on any one flow shows sharply falling returns and starts generating unsubscribes, which costs you future campaign revenue to recover a sale you were unlikely to win anyway.
When should the first abandoned cart email go out?
One hour after the last cart activity. Earlier than 30 minutes and you interrupt people who are still shopping in another tab, or who are about to come back by themselves. Later than four hours and the session, the comparison shopping and the intent have all moved on.
Should an abandoned cart email include a discount?
Not in the first email. Send a plain reminder first and let the people who already intended to buy convert at full price. If you offer anything, put it in the final email, cap it at 10%, exclude already-discounted items and exclude customers who have used a recovery code in the last 60 days.
What is the difference between cart and checkout abandonment?
Cart abandonment triggers when somebody adds to cart and leaves. Checkout abandonment triggers when they reach the checkout and enter an email address, so they are further along and you have a known address. Checkout abandonment converts best, which is why it deserves the longer sequence.
How do I know how much revenue the flow really recovered?
Hold back a small random share of eligible people, 5 to 10%, from the flow for a full month, then compare revenue per eligible profile between the holdout and the rest. The difference is what the flow earned. Klaviyo's attributed revenue will be higher, because it credits sales that would have happened anyway.
Proof from our work

Email-attributed revenue in 12 months, 27% of store revenue
For a luxury clothing brand we built Klaviyo into a revenue channel: $1.14M attributed to email in twelve months, 27% of the store's $4.19M total. Automated flows produced 69% of it, campaign open rates stayed above 58% and the spam complaint rate was zero.
Read case study
In the first 60 days, measured on total store revenue
HydroHealth had pre-purchase flows that underperformed and no post-purchase flows at all. We rebuilt the former and built the latter from nothing, covering strategy, copy, design and build in Klaviyo. The new system beat the old one by more than 2×, total revenue rose 16% and the programme returned 63× in 60 days.
Read case study