All guidesEmail Flows

Abandoned Cart Recovery: The Definitive Klaviyo Guide

Build an Added to Cart recovery flow with the right eligibility, timing, purchase-history split, email and SMS sequence, exit rules, and recovery benchmarks.

OutcomeAfter this lesson, you can
  • Build the trigger, timing, branches, and exits for this flow
  • Measure and improve the flow against a stable cohort
PrerequisiteRead this firstCheckout Abandonment Flow: The Highest-Intent Recovery Sequence

How much revenue can an abandoned cart flow recover?

There is no defensible way to estimate recovery from annual store revenue and a generic abandonment rate. The denominator has to be the people who were identified, entered the flow, remained eligible, and received the message. ZHS uses the range below as an operating diagnostic, not an industry guarantee, and compares each program against its own holdout or pre-change baseline whenever possible.

Eligible
Use identified flow recipients as the denominator
Holdout
Use one when you need an incremental estimate
5-15%
ZHS attributed-recovery diagnostic
$3-8
ZHS attributed revenue diagnostic

Model the opportunity from observable flow data instead:

eligible recipients × delivered rate × attributed conversion rate × average order value = attributed flow revenue

That result is still attributed, not automatically incremental. Report the trigger, eligibility rules, attribution window, period, and exclusions beside it. Maintain the flow as products, offers, site behavior, and deliverability change.

The short version

Use a first reminder about 30 minutes after the event as a ZHS starting configuration, then test it against a comparable cohort. Assess purchase history before choosing a direct reminder or added trust content. Add SMS only for people with valid consent and honor quiet hours. Use the ZHS diagnostic range above to spot movement, then judge success against your own cohort, attribution setup, and margin.


What is the difference between cart and checkout abandonment?

Cart and checkout abandonment are separate triggers that can share reusable creative. Cart abandonment begins with an Added to Cart event. Checkout abandonment begins with a Checkout Started event when the integration has identified the person. Checkout is a later journey stage, not a universal conversion multiplier: report the two cohorts separately and decide their priority from your own identity coverage, margins, and attributed results.

Read this section carefully, because most brands get it wrong. They either build only one of the two, or they waste days designing two different-looking flows when the emails should be nearly identical. The distinction that matters is the trigger, not the artwork.

The two triggers, and why they catch different people

In Klaviyo these are two separate triggers wired to the same creative:

Checkout abandonment fires on the Checkout Started metric. Depending on your integration and checkout behavior, it can provide a later-stage, more identified cohort with cart context. Verify the identity and item data that actually arrive in your account; do not assume this trigger will outperform Added to Cart for every store.

Cart abandonment fires on an Added to Cart event from onsite tracking. It can reach people earlier in the journey, but only when the event and a usable identity have been captured. Audit the event payload, profile identity, consent, and cart block before treating the flow as live.

Cart Abandonment (Added to Cart)
  • Fires when an item is added, before checkout
  • Depends on onsite tracking to know who they are
  • Can reach an earlier, identified cohort
  • Benchmark separately from checkout
Checkout Abandonment (Checkout Started)
  • Fires when they reach checkout and give an email
  • May contain more checkout identity and cart context
  • Represents a later journey stage
  • Measure priority and conversion separately
Comparison

What changes between cart and checkout abandonment

CriteriaAdded to cartStarted checkout
TriggerAdded to Cart eventCheckout Started event
Identity availableOnly when onsite tracking has identified the personOften more complete when checkout identity and cart data are passed
ReportingCompare as its own cohortCompare as its own cohort
Creative systemReuse modules, then test treatmentReuse modules, then test treatment

Journey-stage comparison, not an intent score or conversion benchmark.

One creative system, two measured triggers

Start with reusable reminder modules, then tailor the treatment only where a cohort test supports it. A first-time buyer may need proof, shipping, or returns context; a returning buyer may respond to a shorter reminder. That is a testable purchase-history hypothesis, not a rule tied to the trigger. For shoppers who never add to cart, a separate browse abandonment flow can cover a different behavior.

The dedicated checkout-abandonment guide covers the Checkout Started implementation. Here is the Added to Cart build.

Added to Cart AbandonmentHow this flow is built in Klaviyo
Re-entry Allow re-entry after 30 daysEntry filters Added to Cart · Has not started checkout · Can receive the selected channelExits Started Checkout after entering · Placed Order since entering
When someone Added to Cart11 message nodes across all branchesStarted Checkout after entering or Placed Order since entering
View full build
When someone Added to Cartmetric trigger
Wait 30 minutes
Conditional splitPlaced Order at least once over all time
Yes · Returning customer
Email 1ASimple reminder, left something behindNo discount
SMS 1ASimple reminderQuiet hours ON
Wait 1 day
Email 2AStill unsure? Reassurance
SMS 2AReminder + trust signal
Wait 1 day
Email 3AFAQs answered, maximize experience
No · New purchaser
Email 1BSimple reminder, solve #1 objectionNo discount
SMS 1BSimple reminderQuiet hours ON
Wait 1 day
Email 2BStill unsure? ReassuranceDiscount
SMS 2BReminder + discount mentionDiscount
Wait 1 day
Email 3BFAQs answeredDiscount
Wait 2 days
Email 4Why did you not purchase?No discount
Read the text version

Trigger: When someone Added to Cart

Entry filters: Added to Cart; Has not started checkout; Can receive the selected channel

Exit conditions: Started Checkout after entering; Placed Order since entering

Re-entry: Allow re-entry after 30 days

  1. delay: Wait 30 minutes
  2. Conditional split: Placed Order at least once over all time
    • Yes · Returning customer
      1. email: Email 1ASimple reminder, left something behind
      2. sms: SMS 1ASimple reminder
      3. delay: Wait 1 day
      4. email: Email 2AStill unsure? Reassurance
      5. sms: SMS 2AReminder + trust signal
      6. delay: Wait 1 day
      7. email: Email 3AFAQs answered, maximize experience
    • No · New purchaser
      1. email: Email 1BSimple reminder, solve #1 objection
      2. sms: SMS 1BSimple reminder
      3. delay: Wait 1 day
      4. email: Email 2BStill unsure? Reassurance
      5. sms: SMS 2BReminder + discount mention
      6. delay: Wait 1 day
      7. email: Email 3BFAQs answered
  3. delay: Wait 2 days
  4. email: Email 4Why did you not purchase?

What emails go in an abandoned cart flow?

The map above is a ZHS starting configuration, not a universal send schedule. It begins with a short first-delay test, separates treatment by purchase history, and gives each follow-up a distinct job. Pair email and SMS only when the person has documented consent, quiet-hour behavior is verified, and the channel will not simply duplicate the prior message. Compare a changed cadence, offer sequence, or branch against a stable cohort before rolling it out.

One useful branch question is: has this person bought before?

Use that question to test appropriate treatment: a returning buyer may need a direct reminder, while a newer buyer may need trust or product context. A discount should be a documented test variable, not an automatic consequence of being new.

Here is what a first email and its follow-up SMS look like in practice.


SMS Examples

Examples only: send SMS only to people with the appropriate recorded consent, required disclosures, and eligible local-time behavior. Replace the bracketed offer and expiry language with an approved, accurately represented offer.

SMS exampleCart recovery sequence
  1. Hey [Name]! You left something behind. Complete your order: [link]

  2. Still thinking about it? Here's [approved offer]: [code]. [Offer terms and expiry]: [link]


What can you offer instead of a discount to recover carts?

Test incentives that add value without cutting price, such as free shipping, a gift with purchase, extended returns, loyalty points, or a bundle. Free shipping can address a common checkout objection, but the right option depends on margin, product, and customer context. The same thinking underpins how you drive sales without discounting across the rest of your program. If a code is appropriate, test it in a later follow-up against a no-code control and report both conversion and margin.

Avoid making a predictable discount an automatic reward for abandoning. Watch repeat behavior and margin before expanding any offer treatment.

Try these instead.

AlternativeWhy It Works
Free shippingRemoves the #1 objection
Free gift with purchaseAdds value without discounting
Extended returnsReduces purchase risk
Loyalty points bonusBuilds long-term value
Bundle dealIncreases AOV while providing value
Discount Warning

Treat discount timing as a cohort-tested operating choice. ZHS commonly tests a later follow-up before exposing a code, then checks incremental conversion, repeat behavior, and margin before scaling it.


What are good abandoned cart flow benchmarks?

Use the canonical ZHS cart-and-checkout recovery benchmark as a diagnostic for eligible recipients, not a universal forecast. Conversion and total attributed revenue change with AOV, product category, identity rate, discounting, attribution settings, and whether cart and checkout triggers are blended.

The detailed scorecard should compare like with like rather than add another set of universal cutoffs:

MetricDefine it before comparingCompare it with
Delivered rateEligible recipients who received the messageSame trigger, provider mix, and period
Click rateUnique clicks per delivered messageSame message job and audience cohort
Placed-order rateAttributed orders per eligible recipientSame attribution window and exclusions
Total attributed revenueAttributed revenue across a stated eligible-entry cohortSame trigger, AOV context, offer treatment, and comparison period
Unsubscribes and complaintsPer delivered messageTrend by acquisition source and message type

Treat a meaningful change as a prompt to investigate the cohort, tracking, and customer experience, not a single-send verdict.


What are the common abandoned cart flow risks?

The recurring risks are untested timing, automatic discounting, generic treatment, missing product context, and message pressure. Use a documented starting configuration, then test the actual customer path and cohort response before declaring a rule.

  1. Untested first-send timing. Start with a documented window, ZHS often begins around 30 minutes after the event, then test against the store’s actual buying cycle.

  2. Automatic discounting. Start with a reminder or value case when appropriate, then test an offer deliberately rather than assuming a code is required.

  3. One treatment for every customer. Segment by purchase history or another relevant signal when it produces a clearer customer experience.

  4. Missing product context. Verify dynamic item details and fallbacks so the reminder reflects the shopper’s actual cart.

  5. Uncontrolled message pressure. Check the combined email and SMS experience, account-level pressure settings, and provider signals before increasing frequency.


Technical Checklist

Triggers (same creative, two triggers):

  • Checkout abandonment on the Checkout Started metric, prioritized only after identity coverage and customer value are assessed
  • Cart abandonment on the Added to Cart metric (onsite tracking on)
  • First-email delay has a documented test rationale (ZHS starting configuration: about 30 minutes)

Segmentation (one conditional split, not two flows):

  • Purchaser vs non-purchaser split by purchase history
  • First-timers get the trust block, repeat buyers get the plain reminder

Content:

  • Dynamic cart blocks configured
  • Product images pulling correctly

Exit Conditions:

  • Purchase exits the flow
  • Re-entry rules reflect the product cycle and prevent repetitive enrollment
  • Smart Sending behavior is deliberate and tested with a real profile
  • Re-entry period is documented and reviewed after offer, catalog, or lifecycle changes

Get Expert Help

Cart and checkout abandonment flows come with every retention package we run. Our team handles strategy, design, copy, technical setup, and ongoing optimization.

You get the full skill set, live in weeks, without hiring for it.

See our pricing | Apply to work with us

Need help implementing this?

We build and manage complete email & SMS programs for DTC brands. Get a custom plan for your brand.

Apply Now

Join 2,000+ ecommerce strategists

Get all my brand breakdowns, Klaviyo guides, and the exact systems behind $50 million in DTC sales, directly in your inbox.

We respect your privacy. Unsubscribe anytime.