2026 is fully booked. Now accepting a limited number of new clients from February 2027. Join the waitlist

The abandoned cart flow I build first

You paid for that visit. They picked the product, typed their email, then stopped.

That is not a lost customer. That is an unfinished checkout with an obstacle sitting in it. Three emails, built in this order, to find the obstacle and clear it.

Start here

The trigger decides everything

Get this wrong and the timing below will not save you. Build this in Klaviyo exactly like this.

Trigger
Checkout Started. Not Added to Cart. Checkout Started means they entered the funnel and gave you an email address. Added to Cart fires on browsing.
Flow filter
Placed Order zero times since starting this flow. This is the exit condition. Without it you email people who already bought.
Flow filter
Checkout Started zero times since starting this flow. Stops someone re-abandoning into a second copy of the same sequence.
Smart sending
On. It holds anyone who got another email in the last 16 hours.
The sequence

Three sends, and what each one is for

The hours are measured from the moment checkout was started.

1
hour
Find the obstacle

Ask one question. No discount.

Subject
Did something break at checkout?
Preview text: If it was the shipping cost, tell me.

Name the three real reasons and let her pick one: the shipping cost surprised her, the payment failed, or a code would not apply. Then the cart link. That is the whole email.

Why one hour: she still remembers the decision. And the replies tell you what is actually broken at your checkout, which is worth more than the recovered order.

22
hours
Answer the objection

The thing she was unsure about. Still no discount.

Subject
The part people ask about before they buy
Preview text: Returns, sizing, and when it actually arrives.

Pick the one hesitation your product actually gets stuck on. Returns window. Sizing. Delivery date. Answer it plainly, then put one real review of the exact product sitting in her cart underneath it.

Why 22 and not 24: it lands at a different hour of the day than the first email. At 24 you hit the same dead slot twice and never find out if the slot was the problem.

48
hours
Close it or let it go

Split the audience before this one sends.

Add a conditional split on Placed Order at least once over all time. Past buyers and first-timers do not get the same email.

If she has bought before
Last call on your cart

No discount. She already trusts you. Paying her to come back cuts margin you had earned.

If she has never bought
10% to finish what you started

First order only, and only if the margin holds at 10%. If it does not, send scarcity or the plain nudge instead.

Why the discount waits until 48 hours: put it in the first email and you teach your list that abandoning a cart for an hour is worth 10%. Then you pay 10% on orders you were going to get for free.

Add on

The SMS branch

One message, at 4 hours, to consented profiles only. It sits between email one and email two.

One. Not a sequence. SMS is the most expensive permission you hold and the fastest to lose. If she has not consented, she skips this branch and stays on the emails.

Do not do this

The three that cost the most

×

A discount in the first email

You train the list. People learn to load a cart, walk away, and wait for the coupon. The flow looks like it is working while your margin drops.

×

Triggering on Added to Cart

It fires on browsing. You do not reliably have an email, so you send to people who never entered checkout and never asked to hear from you. Your deliverability pays for it.

×

No exit condition

Someone buys, then keeps getting "you forgot something." That is the fastest way to get marked as spam by a customer who just paid you.

After it is live

Measure it per email, not per flow

Track recovery rate and revenue per recipient on each of the three sends separately.

A flow-level total hides the truth. It will not tell you that email three is doing all the work and email two is dead weight, or that email one is the only one earning and the discount is pure giveaway. You cannot fix what the average is covering up.

The copy

Want the copy for all three emails?

Subject line, preview text, and body for the 1 hour, 22 hour, and 48 hour sends, with the 48 hour split written both ways. Fill in the blanks and they are ready to paste into Klaviyo.

The copy opens right here the moment you send it. Your email lands in my inbox, not a list I sell. I might follow up once.

Want to know what your unfinished checkouts are actually worth?

Put your traffic and your abandonment rate into the calculator. It takes a minute. That number is usually the reason this flow gets built first.

Open the calculator

If the number comes back bigger than you expected, the cart is rarely the only thing costing you. I find what is broken across the store, name it, and fix it. A Growth Audit is $497 and takes 72 hours.