Checkout Abandonment Flow: The Highest-Intent Recovery Sequence
Build a Checkout Started flow in Klaviyo with the correct trigger, purchase exit, timing, new-vs-returning split, dynamic cart data, email and SMS sequence, and QA.
- Build the trigger, timing, branches, and exits for this flow
- Measure and improve the flow against a stable cohort
What is a checkout abandonment flow?
A checkout abandonment flow triggers when an identified shopper starts checkout but does not complete the order. It is the highest-intent abandonment sequence because the shopper reached checkout and usually supplied enough identity and cart data to follow up reliably. Build it before Added to Cart and browse abandonment, then exclude anyone who purchases after entering.
How is checkout abandonment different from cart abandonment?
Checkout abandonment uses the Checkout Started event. Cart abandonment uses Added to Cart and depends more heavily on onsite identity. The creative system can be shared, but the flows need distinct triggers and exclusion logic so someone who advances to checkout does not receive overlapping cart reminders.
Checkout vs cart abandonment
| Criteria | Checkout abandonment | Cart abandonment |
|---|---|---|
| Trigger | Checkout Started | Added to Cart |
| Intent | Higher: shopper reached checkout | Earlier: shopper showed product intent |
| Identity | Usually captured during checkout | Requires an already identified browser/profile |
| Exclusions | Placed Order | Started Checkout and Placed Order |
| Priority | Build first | Build second |
Export visual
What is the exact Klaviyo checkout flow build?
Trigger on Checkout Started, allow re-entry only after the chosen cooldown, and use a profile filter that requires Placed Order zero times since starting the flow. Wait roughly 30 minutes, split new from returning customers, and keep checking purchase eligibility before every message.
View full build
Read the text version
Trigger: When someone Started Checkout
Entry filters: Started Checkout; Can receive the selected channel
Exit conditions: Placed Order since entering
Re-entry: Allow re-entry after 30 days
- delay: Wait 30 minutes
- Conditional split: Placed Order at least once over all time
- Yes · Returning customer
- email: Email 1A — Simple reminder, left something behind
- sms: SMS 1A — Simple reminder
- delay: Wait 1 day
- email: Email 2A — Still unsure? Reassurance
- sms: SMS 2A — Reminder + trust signal
- delay: Wait 1 day
- email: Email 3A — FAQs answered, maximize experience
- No · New purchaser
- email: Email 1B — Simple reminder, solve #1 objection
- sms: SMS 1B — Simple reminder
- delay: Wait 1 day
- email: Email 2B — Still unsure? Reassurance
- sms: SMS 2B — Reminder + discount mention
- delay: Wait 1 day
- email: Email 3B — FAQs answered
- Yes · Returning customer
- delay: Wait 2 days
- email: Email 4 — Why did you not purchase?
Export visual
What should each checkout recovery message do?
The first message restores the checkout with no discount. The second answers the strongest objection and may introduce the approved incentive for a new customer. The third adds FAQs, proof, guarantee, shipping, and returns. A final non-discount message asks why the shopper did not purchase and can collect useful objection data.
Returning buyers should not automatically receive a first-purchase code. They have already shown trust and may only need a reminder or service answer. New customers need more confidence, which is why the split is based on purchase history rather than the trigger itself.
How should SMS fit into checkout abandonment?
Use SMS only for people with valid SMS marketing consent. Pair concise texts with the early high-intent moments rather than duplicating the entire email. Respect quiet hours and stop both channels immediately after purchase. The email explains; the text restores the path at the moment intent is still high.
Which dynamic checkout data should the message use?
Use the checkout URL and relevant line-item details available on the actual Checkout Started event. Preview recent events, select multiple test profiles, and verify image, product, variant, quantity, price, currency, and restore-checkout URL. Event variables are case-sensitive, and payload shape can differ by integration or checkout setup.
If a variable fails, fall back gracefully. A broken product block should never create an empty email or a dead CTA.
What filters and exits prevent bad checkout messages?
At minimum, exclude anyone who placed an order after starting the flow. Add product, inventory, geography, or subscription filters only when the business rule requires them. Do not stack complexity without a reason; every extra filter creates another failure point.
Checkout flow eligibility
- Checkout Started event fires on a real test profile
- Placed Order since starting the flow is zero
- Checkout URL restores the expected cart
- New and returning customer branches are mutually clear
- SMS sends only with channel consent
- Out-of-stock and excluded products cannot produce a broken message
- Every message is skipped immediately after purchase
- Re-entry cooldown prevents repetitive sequences
Export visual
How do you QA a checkout abandonment flow before launch?
Complete one successful order and one abandoned checkout on test profiles. Confirm the abandoned profile enters, the successful buyer exits, the new/returning split routes correctly, each delay schedules correctly, links and coupons work, dynamic data renders, SMS consent is respected, and reporting attributes to the intended flow.
Run the flow in manual mode before live sending when volume permits. Inspect who would receive each message, not only how the template looks.
What should you test after the flow is live?
Test one meaningful variable at a time: first-message delay, objection angle, proof type, incentive timing, or the final feedback request. Judge recovery and revenue per recipient alongside unsubscribe and complaint guardrails. A higher attributed number is not automatically better if the test trained existing buyers to wait for discounts.
What is the ZHS checkout-abandonment rule?
Recover the path before cutting the price. Build Checkout Started first, exit purchasers immediately, split by purchase history, and use the least incentive required to resolve the real objection.
More patterns to study
Curated creative references for this lesson. Study the mechanism, then adapt it to your own audience, offer, and evidence.

Score Up to 80% Off Mystery Packs
Pattern: Mystery packs with surprise styles up to 80% off.
Use it here: A concrete value proposition can restore intent, but checkout recovery still needs the shopper's real cart, price, and eligibility state.
Open full email
AC cools the room. The Pod cools you*
Pattern: AC cools the room, Pod cools you directly.
Use it here: Use a sharp product benefit to remind the shopper why the item mattered; do not manufacture a claim that the checkout cannot support.
Open full emailCreative and design curation only—not reported revenue, conversion, or a promise that the exact tactic will transfer unchanged.
Need help implementing this?
We build and manage complete email & SMS programs for DTC brands. Get a custom plan for your brand.
Apply Now