DTCSKILLS

Klaviyo Abandoned Cart Flow: Build One With Claude, Not a Template

Jake Ballard·

Klaviyo Abandoned Cart Flow: How to Build One With Claude

TL;DR: Your Klaviyo abandoned cart flow is three variations of "you left something behind" because that is what every template generates. The fix is not a better template. It is giving Claude (or any AI) your actual brand context before it writes the copy - voice rules, customer objections, discount ceilings, positioning. This tutorial walks through the canonical 3-email + 1-SMS architecture, the trigger and filter setup, and the Claude prompt that reads your Brand Brain so the flow sounds like your brand and actually recovers 5-15% of abandoned carts.

I have looked at abandoned cart flows on a lot of Shopify stores. The pattern is almost always the same. Three emails, spread over three days, each saying "you left something behind" in slightly different phrasing. Email 2 offers a 10% discount. Email 3 offers a 15% discount. The copy is grammatical. It is also interchangeable with the abandoned cart flow for any other Shopify brand in the category.

That is a template problem, not an email marketing problem. Templates teach you the mechanics - trigger, filter, delay, cart snippet. They do not teach you how to write copy that sounds like your brand addressing your customer's specific reason for not buying. Neither does a generic AI prompt like "write me an abandoned cart email." You get category-average copy because category-average is all the AI has to draw from.

What actually works is the opposite. Give the AI your brand context first - voice rules, positioning, customer objections, discount policy - then ask for the flow. Now the same 3-email structure produces copy that names your specific objection, uses your customer's actual words, and respects your margin rules. Same architecture, different output.

This is the tutorial for doing that. It assumes you have Klaviyo connected to Shopify and that you have either a Brand Brain or a 5-file equivalent of brand context in markdown. If you have neither, the Context Engineering for Ecommerce post covers the minimum viable setup in about two hours.


What You Will Build

A complete abandoned cart recovery flow with this spec:

  • 3 emails and 1 SMS over roughly 3 days
  • Trigger: Started Checkout event in Klaviyo
  • Primary filter: Customer has NOT placed an order within 4 hours of starting checkout
  • Suppression filter: Customer is not currently in your Welcome Series (stops the "three emails in one day" unsubscribe spiral)
  • Conditional split at Email 3 based on cart value - high-value carts get an incentive, standard carts get urgency without a discount
  • Target recovery rate: 5-15% of abandoned carts
  • Target revenue per recipient: $3 to $8

Setup takes about two hours end to end. Most of that is Claude drafting the copy while you review. The actual Klaviyo click-through is closer to 30 minutes.


Why Templates Produce Generic Flows

Every abandoned cart template is built around the same logic: remind the customer, handle objections, offer incentive. The trigger and timing are mechanics - they are the same whether your brand is a $40 collagen supplement or a $400 merino hoodie. What differs is the copy.

A template cannot give you the copy because the template writer does not know:

  • Your voice rules (do you use exclamation points? contractions? the word "unlock"?)
  • Your customer's specific objection (is it price? skepticism from a prior competitor? sizing?)
  • Your discount policy (is 10% the ceiling in automated flows? no discount at all on flagship SKUs?)
  • Your positioning (do you lead with proof, story, or a contrarian take on the category?)
  • Your guardrails (no disease claims, no fabricated testimonials, no fake urgency)

The same problem shows up when you paste a generic prompt into ChatGPT or Claude. The model draws from the statistical average of every abandoned cart email ever written. You get "Complete your order today!" and "Don't let [Product] slip away." Grammatical. Generic.

Context engineering fixes this by moving that brand knowledge out of the prompt and into files the AI reads before writing. What Is a Brand Brain walks through the full 55-file version. For this tutorial, five files are enough.


Prerequisites: The Five Brand Context Files

Before you ask Claude to build the flow, it needs to be able to read:

  1. voice.md - Voice rules, not adjectives. Banned words. Preferred sentence patterns. A few example sentences that sound like you and a few that do not.
  2. positioning.md - Your one-sentence positioning, the two or three competitors you position against, the belief you hold that the category does not.
  3. personas.md - Your primary buyer. What they have tried before. The specific objection that stops them from buying. Written from real customer reviews, not marketing imagination.
  4. products.md - One entry per SKU. The specific product(s) that end up in carts. Specs, mechanism, top three objections, upsell logic.
  5. guardrails.md - Discount ceilings, claim policy (especially for supplement, health, CBD, or financial products), banned tactics (no fake urgency, no guilt-trip copy, no "last chance" when it is not actually the last chance).

If you do not have these yet, build them first. About two to three hours for a founder who knows their brand. The shortcut is the DTC Stack, which ships a 55-file Brand Brain template you fill in rather than build from scratch.


The Messaging Ladder: Why Cart Abandonment Starts at Level 4

Before you write the copy, you need one framework. The Klaviyo Flow Architect skill is built around the Messaging Ladder, a five-level model of customer awareness:

  1. Unaware - Customer does not know they have the problem your product solves
  2. Problem Aware - They know the problem but not that solutions exist
  3. Solution Aware - They know solutions exist but not about your product
  4. Product Aware - They know your product, now evaluating whether to buy
  5. Most Aware - Ready to buy or has bought before

An abandoned cart flow does not start at Level 1. The customer already loaded a cart. They know your product exists, they know what it costs, they almost bought it. They are at Level 4, Product Aware, and something stopped them. Maybe shipping cost. Maybe they got distracted. Maybe they want to read one more review. Maybe price.

The mistake most templates make is treating cart abandoners like fresh subscribers - starting with brand introduction copy, founder story, problem education. That is wasted motion. Your customer has already done that work. They need objection handling, not an intro.

Every message in this flow stays in the Level 4 to Level 5 range. Email 1 is a clean reminder. Email 2 is objection handling and proof. Email 3 is either an incentive (high-value cart) or urgency (standard cart). The SMS is a fast reminder that respects quiet hours.


The Architecture (3 Emails + 1 SMS Over 3 Days)

This is the canonical structure from the Klaviyo Flow Architect skill. It is not a template - it is a skeleton. The copy inside each message changes based on your brand context.

SMS 1: 1 hour after abandonment

Why SMS first: SMS has a 98% open rate. For cart recovery specifically, SMS converts faster than email because the customer is still in buying mode. This is why the Flow Architect skill sends SMS before the first email.

Spec:

  • 160 characters max (one message segment)
  • Include brand name for identification (carrier rules and trust)
  • Include link (shortened)
  • Respect quiet hours (no SMS before 9am or after 9pm in the customer's local timezone - Klaviyo handles this automatically if your list is timezone-tagged)
  • Keep it friendly, not pushy

Illustrative output (what Claude might write for a supplement brand with a direct, dry voice):

Hey Kate, you left the magnesium glycinate in your cart. Your cart is saved here if you want to pick up where you left off: [link] - [Brand]

Compare to what a generic template produces:

Don't forget! Your cart is waiting! Complete your order now and get free shipping! [link]

Same character count. Same mechanic. Very different brand read.

Email 1: 4 hours after abandonment (Reminder, NO discount)

Now the gap between SMS and Email 1 gives the customer a window to convert on the SMS alone. If they did not, Email 1 lands.

Spec:

  • Subject line: 60 characters max, lead with benefit or curiosity, not "Don't forget!"
  • Preview text: 40 to 60 characters, complements the subject rather than repeating it
  • Body: Short. Clean. Product image, name, price, direct CTA back to the cart.
  • No discount in Email 1. This is the most important rule in the whole flow.

Why no discount yet: If you discount in Email 1, you teach every future cart abandoner that waiting earns them a discount. They will wait. Your automated recovery rate will go up short term and your margin will get chewed. The Flow Architect skill holds the discount for Email 3, and only for high-value carts.

Illustrative subject lines (showing the voice difference):

  • Generic template: You left something behind!
  • With voice rules loaded: Your cart is still here or A quick note on the magnesium you were looking at

Email 2: Day 1 (Objection handling with proof)

Now the work happens. Email 2 is where the flow either converts the fence-sitter or loses them.

Spec:

  • Subject line targets the specific objection your customer has, not a generic "still thinking about it?"
  • Body addresses two purchase objections with real customer reviews (two to three, pulled from your review corpus)
  • Include a guarantee or risk reversal if you offer one (money-back, free returns, satisfaction guarantee)
  • CTA returns to cart, not homepage

Why this works: A Product-Aware customer does not need more brand explanation. They need a reason to believe the purchase is a safe decision. Real customer language from your review corpus is more persuasive than any copywriter, because it sounds like the reader's own concerns being addressed.

Illustrative flow for Email 2:

  • Subject: Most people think [X] before ordering [Product] (names the specific objection)
  • Body opens by stating the objection directly: "The question we get most is whether [Product] actually works for [specific concern]."
  • Two customer review snippets addressing that exact objection
  • Guarantee line
  • CTA: "Back to your cart"

None of that is template content. It comes from Claude reading your personas.md (to pick the right objection) and your review corpus (to source the quote snippets). Without the context files, Claude writes generic reassurance. With them, Claude writes the specific reassurance your specific customer needs.

Email 3: Day 3 (Conditional split by cart value)

Email 3 is the final touch. This is also where the Flow Architect skill splits the flow into two branches:

High-value cart branch (above your AOV, or a threshold you set - often 1.5x AOV):

  • Subject: We saved [X]% for you or similar
  • An exclusive discount or free shipping offer
  • Urgency: the code expires in 24 hours
  • Final CTA

Standard cart branch (at or below AOV):

  • Subject: Your cart expires tonight
  • Urgency framing without a discount
  • Last-chance positioning
  • CTA back to cart

Why split? Giving every cart the same 15% discount is a margin leak. High-value carts justify a higher-cost recovery attempt because the ticket is bigger. Standard carts convert at similar rates without a discount when given a clean urgency message, and protecting margin on the long tail of smaller carts compounds meaningfully over a year.

Pick your threshold based on your actual data. If your AOV is $75, start the HIGH_VALUE branch at $100 and see what happens over a 30-day window.


The Claude Prompt (Copy, Paste, Adjust)

Here is the prompt pattern that gets you the full flow when you have the five context files loaded in the session. Adjust to match your setup.

Build a Klaviyo abandoned cart flow for [Brand].

Read these files first:
- voice.md
- positioning.md
- personas.md (focus on the primary persona for this SKU)
- products.md (entry for [Product])
- guardrails.md (pay attention to discount ceiling and claim rules)

Build the canonical 3-email + 1-SMS abandoned cart architecture:
- SMS at 1 hour
- Email 1 at 4 hours (reminder, no discount)
- Email 2 at Day 1 (objection handling with two review pulls)
- Email 3 at Day 3 with a conditional split:
  - HIGH_VALUE branch (cart > $[threshold]): incentive + urgency
  - STANDARD branch (cart <= $[threshold]): urgency only, no discount

For each message, give me:
- Subject (for emails) or full 160-char message (for SMS)
- Preview text (emails only)
- Body copy
- CTA text and destination
- Which messaging ladder level it targets
- Which persona objection it addresses (where relevant)

Use the voice from voice.md. Pull actual objection language from personas.md. Respect the discount ceiling in guardrails.md. No fake urgency. No disease claims if [Brand] is in a regulated category.

That prompt produces the full flow in about 30 to 45 seconds. Review the output, tweak the subject lines that feel off, and move to the Klaviyo setup.


The Klaviyo Setup (~30 Minutes)

With the copy written, the Klaviyo side is mechanical.

Step 1: Create the flow

In Klaviyo, go to Flows > Create Flow > Create from Scratch. Name it something like "Abandoned Cart - [Brand]" so you can distinguish it from any legacy flows.

Step 2: Set the trigger

Trigger: Started Checkout (this is the standard Klaviyo event that Shopify fires when a customer enters checkout but does not complete).

Step 3: Set the entry filters

Two filters, both required:

  • Primary filter: Has NOT Placed Order since starting this flow (this is the "did they buy?" check - without it, you email customers who completed their order). In Klaviyo's filter UI, the exact filter is "What someone has done (or not done)" > "Placed Order" > "zero times" > "since starting this flow."
  • Suppression filter: Not in Welcome Series (or whatever your welcome flow is named). Add this as an additional flow filter so a new subscriber who triggers a cart event does not get both flows on the same day.

Step 4: Add the messages in order

Drop the messages in with the delays from the architecture:

Position Type Delay from trigger Content
1 SMS 1 hour Copy from Claude output
2 Email 4 hours Email 1 copy
3 Email 1 day (from Email 1) Email 2 copy
4 Conditional Split - Property: Cart total. High branch: > $[threshold]. Standard branch: <= $[threshold]
5a Email (HIGH) 2 days (from Email 2) Email 3a copy
5b Email (STANDARD) 2 days (from Email 2) Email 3b copy

Step 5: QA test

Use Klaviyo's preview tool to render each email with live product data from your store. Check that personalization tokens resolve (first name, product name, product image, cart link). Send yourself through the flow from a test Shopify account. Complete on some test runs and abandon on others. Watch the flow behavior.

Step 6: Turn the flow on

Flip the flow status to Live. Watch the reports dashboard for the first 7 days. You are looking for:

  • Recovery rate trending toward 5-15%
  • Open rates in the 40-50% range
  • Click rates in the 10-15% range
  • Revenue per recipient landing between $3 and $8

If you are below the floor on any of these for the first two weeks, either your timing is off, your filter is suppressing too much volume, or your subject lines need another round with Claude.


What "Good" Looks Like (Honest Benchmarks)

The Klaviyo Flow Architect skill documents these benchmarks in its skill file. They match what I see across Shopify stores in the $500K to $30M range.

Metric Good range
Recovery rate (% of abandoned carts converted) 5-15%
Revenue per recipient $3-$8
Open rate (across the flow) 40-50%
Click rate (across the flow) 10-15%

If you are below 5% recovery after a month of live traffic, your sequence is either too short, too generic, or too aggressive with discounts (yes, you can recover fewer carts by discounting too early). If you are above 15%, either your data is noisy (small sample) or your voice and offer are unusually tight - keep doing what you are doing.

Do not expect the kind of numbers you see on agency case study pages ("62x ROAS," "41% conversion lift on abandoned cart"). Those claims rarely include methodology, baseline, or a verifiable account. Real recovery rates sit in the range above for most brands.


Compliance Note for Regulated Categories

If your brand is in supplement, health, CBD, cosmetics, or any regulated category, the Klaviyo Flow Architect skill lists specific rules that need to be in your guardrails.md and reflected in every message:

  • No disease claims in email or SMS copy
  • Efficacy claims need substantiation - avoid specific timeframes or outcomes without citable data
  • Structure and function framing ("designed to support") rather than outcome promises
  • Testimonials reflect typical results or include appropriate disclosures
  • All statistics and customer quotes are real and documented

Claude respects these rules when they are in guardrails.md. A generic prompt does not. This is a real risk for supplement brands - FTC enforcement has been active through 2026 on automated flows that make claims the brand cannot substantiate. The fix is not to turn off email. The fix is to write the email with claims policy loaded into the same session.


How to Ship This This Week

If you want this flow live in your store by the end of the week, here is the time budget:

  • 30 minutes: Confirm the trigger and filters are configured correctly in Klaviyo (this is the piece most brands get wrong - the "Not in Welcome Series" suppression is frequently missing)
  • 45 minutes: Draft the flow with Claude reading your five context files. Review, tweak, finalize the copy.
  • 30 minutes: Paste into Klaviyo, set up delays and the conditional split.
  • 15 minutes: QA test with your own email. Walk through the flow once with a test cart that completes and once with a test cart that abandons.
  • Total: About two hours end to end.

The constraint is not setup time. It is having the brand context files ready. If you do not yet, build those first. If you do, you can ship this today.


When to Upgrade From Manual to the Skill

A manual Claude prompt works for the first build. It also works for the second and third if your brand voice is stable. Where it breaks down:

  • You have 10+ flows to build and audit, each with its own objection library
  • The Brand Brain updates weekly (new objections, voice refinements, proven winners) and you do not want to re-paste five files into every session
  • You want the flow to read from Customer Intelligence (current flow performance, top-performing subject lines, list segment behavior) on every run, not just the static files
  • You want a feedback loop that remembers corrections session over session (for example: "never use exclamation points in subject lines" gets logged once and applied forever)

The Klaviyo Flow Architect skill handles all of that. It is one of 19 execution skills in the DTC Stack. $199 one-time.

If you want an AI agent running this skill and the other 18 on a schedule (refreshing your Customer Intelligence Engine weekly, executing flows on Slack or Telegram request, keeping the live-data layer current), that is the DTC Multiplier at $299/month. You still own the Brand Brain; the agent does the execution.

Most operators should start manual to prove the mechanic, then upgrade when the Brand Brain itself becomes the thing they update more than once a month.


Frequently Asked Questions

What is the best Klaviyo abandoned cart flow structure?

The canonical structure is 3 emails plus 1 SMS over 3 days: SMS at 1 hour, Email 1 at 4 hours (reminder with no discount), Email 2 at Day 1 (objection handling with proof), Email 3 at Day 3 with a conditional split based on cart value (high-value gets an incentive, standard gets urgency). This structure targets a 5-15% cart recovery rate and $3-$8 revenue per recipient.

How many emails should be in an abandoned cart flow?

Three is the industry standard and the spec the Klaviyo Flow Architect skill uses. Two emails under-recovers (you miss customers who needed a second touch). Four or more over-messages and pushes unsubscribes up. Three with one SMS layered in covers the high-recovery window (first 72 hours) without fatiguing the list.

When should you send an abandoned cart email?

First SMS at 1 hour after abandonment (captures customers still in buying mode). First email at 4 hours (after the SMS gap). Second email at Day 1 (24 hours gives the customer a night to reconsider). Third email at Day 3 (the recovery window closes quickly after 72 hours).

Should abandoned cart emails include a discount?

Not in Email 1, and often not at all. Discounting early teaches your customer base that abandoning a cart earns them a discount, which trains them to abandon. The Klaviyo Flow Architect skill holds any discount for Email 3, and only applies it to high-value carts through a conditional split. Standard-value carts get urgency without a discount and still convert at strong rates when the copy is good.

What is a good abandoned cart recovery rate?

5-15% of abandoned carts converted through the flow. Below 5%, something is wrong (sequence too short, too generic, suppression filter missing, or discount too aggressive - yes, too much discount hurts). Above 15% is unusually tight and either reflects great brand-voice copy, a small sample, or unusually loyal traffic.

How do I make the copy sound like my brand instead of a template?

Move your brand knowledge out of the prompt and into files the AI reads before writing. Voice rules in voice.md, customer objections in personas.md, discount policy in guardrails.md. Ask Claude to read those first, then build the flow. Same architecture, different output. This is called context engineering, and it is the reason the same AI model can produce category-average copy for one operator and on-brand copy for another.

Can I build the flow without a Brand Brain?

Yes, but the output will read like every other abandoned cart flow on Shopify. The architecture (3 emails, 1 SMS, timing, trigger, filter) is the easy part and is documented here. The differentiation is the copy, and the copy only differentiates if the AI has brand-specific context to write from.


If this is your first serious cart flow rebuild, do it manually with Claude and your five context files. If you are serious about scaling the rest of your email program (welcome series, post-purchase, win-back, campaigns) with the same approach, the DTC Stack ships all 19 execution skills plus the Brand Brain template for $199. If you want an agent running the whole thing on a schedule, the DTC Multiplier is $299 a month.

Same AI. Different input. That is the whole game.

JB
Jake Ballard

Builds AI marketing systems for DTC and Shopify brands doing $1M-$50M. Creator of The DTC Stack.

Build your Brand Brain. Ship on-brand content in minutes.

The DTC Stack is a Brand Brain + 19 AI execution skills for product pages, emails, ads, SEO, and more. One purchase, lifetime access. Works with Claude, Cursor, Copilot, and 30+ AI tools.

One-time purchase. Instant access. Lifetime updates.