A Klaviyo abandoned cart flow is an automated email sequence that fires when a shopper adds a product to their cart, starts checkout, and leaves without paying. Setting one up correctly means tracking the right events, choosing a sensible delay, writing two or three emails that actually move someone back to checkout, and filtering out anyone who already bought. This guide walks through each step in order, from checking your event tracking to testing the flow before it goes live.

Cart abandonment is one of the most consistent revenue leaks in ecommerce. Abandonment rates across studies tend to sit well above half of all initiated checkouts, according to Baymard Institute's ongoing research, and a well-built recovery flow tends to pay for the time spent building it almost immediately, since the intent to buy was already there.

What a Klaviyo Abandoned Cart Flow Does and Why It Matters

A Klaviyo abandoned cart flow is not the same as a browse abandonment flow, even though people often confuse the two. Browse abandonment triggers when someone views a product but never adds it to their cart. A cart abandonment flow triggers further down the funnel, after a product has been added and, in some setups, after checkout has started. This matters because the two audiences have different intent. Someone who abandoned a cart has made a more concrete decision to consider buying, so the messaging can be more direct and the window for recovery is usually shorter.

The flow works by watching for a specific event, most commonly "Checkout Started" or "Added to Cart" depending on how your store's tracking is set up, and waiting to see whether that person completes an order within a set window. If they do not, the flow sends a sequence of emails designed to bring them back, usually starting with a simple reminder and escalating to something more persuasive if the first message does not work.

Before You Build the Flow

Before touching the flow builder itself, confirm two things are already working, because a flow built on broken tracking will quietly fail no matter how well the emails are written.

Check that your ecommerce platform is properly connected to Klaviyo. Klaviyo needs to receive checkout and order events from your store in close to real time. Most major platforms have a native or well-supported integration, but it is worth confirming inside your Klaviyo account that recent "Checkout Started" and "Placed Order" events are actually arriving, not just that the integration shows as connected.

Decide which event will trigger the flow. Some stores use "Checkout Started" because it captures anyone who reached the payment step, including guest checkouts. Others use "Added to Cart" because it catches people earlier, before they even reach checkout. There is no universally correct choice. A store with a long browsing-to-checkout gap might get more value from a cart-based trigger, while a store with a short, simple checkout might prefer the checkout-started event because it reflects stronger intent.

Step-by-Step: How to Set Up a Klaviyo Abandoned Cart Flow

Step 1: Create the Flow and Choose the Trigger

If you have not built a flow in Klaviyo before, read through the basics of how Klaviyo flows work first, since the same trigger and filter logic applies to every flow you build later. In Klaviyo, go to Flows, create a new flow, and choose the "Checkout Started" or "Added to Cart" metric as the trigger. Klaviyo's own documentation covers the exact screens for your account type, since the interface varies between store integrations. Name the flow clearly, something like "Cart Abandonment: Main", so it is easy to find later.

Step 2: Set the Time Delay

The first email in the sequence typically fires between thirty minutes and a few hours after the triggering event. Waiting too long means the shopper has moved on mentally, and waiting too little can feel intrusive, particularly if they simply stepped away from their screen. A common pattern is one hour for the first message, roughly a day later for the second, and two to three days later for a final message, often with an incentive if your margins support one. These timings are a starting point, not a rule, and worth adjusting once you have a few weeks of data on when your own customers tend to come back without any prompting at all.

Step 3: Build the Email Sequence

Each email in the sequence should do one job. The first is a plain reminder: what was left in the cart, a clear link back to checkout, nothing more persuasive than that, because many people simply forgot or got distracted. The second can address a likely objection, such as shipping cost or return policy, since hesitation at checkout is often about a specific detail rather than a lack of interest. The third, if you include one, is where a small incentive or urgency message can sit, but use it carefully. Training shoppers to expect a discount every time they abandon a cart can quietly erode margin over time.

Step 4: Add Filters So You Do Not Message Customers Who Already Bought

This is the step most commonly missed. Without a filter condition checking for a completed order, some shoppers will receive a reminder about a cart they already paid for, which looks careless and undermines trust. In the flow settings, add a conditional split or flow filter that checks whether a "Placed Order" event has occurred since the cart was abandoned, and route anyone who purchased out of the remaining emails.

Step 5: Test the Flow Before Turning It On

Add a test product to your own cart, abandon it, and confirm the flow fires with the correct delay, the correct product details populate in the email, and the checkout link actually works on both desktop and mobile. It is worth testing the purchase-exclusion filter too: add a product, complete the purchase, and confirm you do not then receive the abandonment email. Only switch the flow from draft to live once these checks pass, since a broken live flow can run for days before anyone notices the error.

Common Mistakes With a Klaviyo Abandoned Cart Flow

Sending too many emails too quickly. Three well-timed emails usually outperform five rushed ones. More messages is not automatically more effective, and an aggressive cadence increases unsubscribe and spam complaint rates, which then affects deliverability for every other campaign you send.

Using the same flow for every product category. A flow built for a low-cost, impulse item rarely suits a high-consideration purchase. If your catalogue spans very different price points, consider splitting the flow with conditional branches so the tone and incentive structure match what was actually in the cart.

Ignoring deliverability basics. An abandoned cart flow is only useful if the emails reach the inbox. General email benchmark data is a reasonable sense check for your open and click rates by industry, and if your numbers sit well below typical ranges, the problem is often deliverability rather than the email content itself.

Forgetting SMS compliance if you add a text message step. Some stores extend the flow with an SMS reminder. If you do this, make sure opt-in consent and messaging rules are properly handled, since SMS carries stricter regulatory requirements than email in most regions, and Twilio's messaging documentation is a useful reference for the compliance basics involved.

How to Measure Whether the Flow Is Working

Track three numbers over time rather than judging the flow after a single week. Flow-attributed revenue tells you the direct financial contribution, visible in Klaviyo's own flow analytics. Recovery rate, the percentage of triggered flows that end in a completed order, tells you how effective the messaging itself is, independent of volume. And unsubscribe or complaint rate on the flow specifically tells you whether the cadence is too aggressive, which matters because a flow that recovers carts while quietly damaging your sender reputation is not actually a win.

If recovery rate stays flat after a few iterations of copy changes, the more likely culprit is timing or targeting rather than the email content, so it is worth revisiting the trigger event and delay before rewriting the emails again. This kind of behavioural segmentation, treating shoppers differently based on what they actually did rather than a single generic rule, is the same thinking behind most effective lifecycle segmentation, and the same logic that makes a welcome series work well applies here: match the message to where the person actually is, not where a generic template assumes they are.

A Klaviyo abandoned cart flow is a relatively small build once the tracking is confirmed, but it sits inside a wider lifecycle programme, and getting the surrounding flows right, welcome series, post-purchase, win-back, matters just as much as any single flow in isolation. If you want a second opinion on how your cart flow fits alongside the rest of your lifecycle messaging, GrowNowNow's retention work looks at the full set of triggers together rather than one flow in isolation.

Frequently Asked Questions

How long should a Klaviyo abandoned cart flow wait before sending the first email?

Between thirty minutes and a few hours is typical. Waiting much longer risks losing the shopper's attention entirely, while sending immediately can feel intrusive if they simply stepped away rather than decided against buying.

Should I use "Added to Cart" or "Checkout Started" as the trigger?

It depends on your store. "Checkout Started" captures people who reached the payment step and reflects stronger intent, while "Added to Cart" catches people earlier in the process. Test both if you are unsure, since the right choice varies by store and by how long your typical browsing-to-checkout gap is.

How many emails should be in the sequence?

Two to three is usually enough. A short reminder, a message addressing a likely objection, and an optional final message with urgency or a small incentive covers most of what works without overwhelming the recipient.

Do I need to offer a discount to recover abandoned carts?

No. Many abandoned carts are recovered with a plain reminder alone, since the shopper often simply got distracted. Reserve discounts for cases where your margins can absorb it and where testing shows they genuinely improve recovery rate rather than just training customers to wait for one.

How do I stop the flow from emailing people who already purchased?

Add a filter or conditional split inside the flow that checks for a "Placed Order" event since the cart was abandoned, and route anyone who purchased out of the remaining messages. Test this specifically before turning the flow live, since it is the most commonly missed step.