Automation

How to Build a Klaviyo Winback Flow to Recover Lapsed Customers

Meilech Biller

TL;DR: A Klaviyo winback flow re-engages customers who haven't bought in a while by sending a timed email sequence triggered by their last order. Set the delay at roughly 1.5x your average repurchase cycle, send three emails that escalate from a soft "we miss you" to a strong offer, and use the flow filter "Placed Order zero times since starting this flow" to exit buyers automatically. Done right, a winback recovers 3-8% of lapsed customers and protects the most expensive revenue you have: the kind you've already paid to acquire.

Acquiring a new customer in 2026 is brutal. CPMs are up, attribution is broken, and most Shopify stores are leaking customers out the back door faster than they can fill the front. The data is stark: the average ecommerce churn rate sits between 70% and 77% annually, which means three out of four buyers won't come back without a reason to. That's a problem, because acquiring a new customer is anywhere from 5 to 25 times more expensive than retaining an existing one.

A Klaviyo winback flow is the single most underused lever for fixing this. It's automated, it runs forever, and it works on customers you've already paid for. This guide walks through exactly how to build one that converts, including the trigger logic, segment definitions, timing, email sequence, and the filter mistakes that quietly kill performance.

What is a Klaviyo winback flow?

A Klaviyo winback flow is an automated email sequence that targets customers who placed an order at some point but haven't purchased again within a defined window. It's triggered by a customer's last order date, paused for a delay matched to your typical repurchase cycle, and ends as soon as the customer buys again. The goal is reactivation, not promotion to a cold list.

This is fundamentally different from a generic promotional campaign. A winback flow knows the customer has bought before, knows roughly when they should have bought again, and reaches out at the moment that reactivation is most likely to land. That precision is why winback flows tend to outperform broadcast campaigns on a per-recipient basis even though the audience is, by definition, less engaged.

Across the Shopify stores we manage at CartStrings, winback flows usually fall into the top five revenue-generating automations, alongside abandoned cart, welcome, browse abandonment, and post-purchase. They're a foundational piece of any retention stack, which is why we build them into every account during a Klaviyo audit.

Why winback flows matter more than ever

Repeat customers carry the business. Loyal customers make up roughly 21% of the typical ecommerce base but drive 44% of total revenue and 46% of orders. On Shopify specifically, the average repeat customer rate is around 27%, and stores in the 20-30% range are considered healthy.

When a customer goes silent, you're not losing one sale. You're losing the next five years of orders, referrals, and reviews. Increasing customer retention by just 5% can lift profits by 25-95%, and the success rate of selling to an existing customer is 60-70%, compared to 5-20% for a new one. The math is unambiguous: a working winback flow is one of the highest-leverage projects in any email automation program.

There's also a deliverability angle. A list full of disengaged subscribers drags your inbox placement down. A winback flow gives those subscribers one more meaningful try before you sunset them, which protects the rest of your sending reputation. We dig into this dynamic in our complete guide to email deliverability for Shopify stores.

When should a winback flow start sending?

Start the winback at roughly 1.5x your average days between purchases. If your average customer reorders every 50 days, your flow should start around day 60-80, not day 180. For consumables and replenishment products, 60-90 days usually works. For higher-consideration or durable goods, 120-180 days is more realistic. The goal is to reach customers right as they're drifting, not after they've already moved on.

The most common mistake here is using a generic "180 days since last order" trigger because that's the default in most templates. If your real repurchase cycle is 45 days, you've waited five months too long and the customer has bought from a competitor. Klaviyo's predictive analytics tools make this much more precise. Once your store has at least 500 customers and 180 days of order history, Klaviyo can surface an Expected Date of Next Order (EDNO) and a churn risk score for each profile. Layering EDNO into your winback timing turns a generic flow into something that feels almost personal.

To find your actual repurchase cycle, look at the customers who have placed two or more orders and calculate the average gap between their first and second purchase. That number, multiplied by 1.5, is your starting delay.

How to build the lapsed customer segment in Klaviyo

The cleanest way to power a winback flow is with a metric-triggered flow, not a segment trigger. Use "Placed Order" as the trigger, then set the time delay to match your repurchase cycle. The trigger fires when an order happens, the delay holds the profile, and the flow sends only if no new purchase has occurred during the wait. This approach is more reliable than running off a static segment.

That said, you'll still want a lapsed-customer segment for reporting and for ad-hoc campaigns. The standard Klaviyo definition is: Placed Order ≥ 1 time over all time, AND has NOT Placed Order in the last X days, where X is twice your average repurchase cycle. For consumables, X is often 90. For durables, 180. Layer in "Was in segment 'Engaged' (last 30 days) zero times" if you want to filter out subscribers who are still opening campaigns.

If you're already running a heavy email segmentation strategy, break the lapsed segment further by AOV, product category, or first-purchase product. A customer who bought your hero product needs a different message than one who bought a sample-sized accessory.

How many emails should a winback flow have?

Three emails is the right number for most stores. The first is a soft check-in with no offer, the second adds value through social proof or new-product news, and the third presents your strongest incentive. Beyond three, the deliverability cost of pushing more sends to disengaged profiles tends to outweigh the incremental conversions. Two emails is enough for stores with very short repurchase cycles, like coffee or pet food, where you're catching customers right as they run out.

The sequence should always escalate. A discount in email one trains every future buyer to wait for an offer. A "we miss you" in email three feels desperate. Pacing matters here as much as copy.

The three-email winback structure that converts

Email 1 (Day 0): The soft check-in. Acknowledge the absence without being needy. "It's been a while" lands better than "You haven't purchased lately." Show two or three new products, hero categories, or a recent best-seller they haven't bought yet. No discount. The job of email one is to remind them you exist and are still relevant, not to bribe them back.

Email 2 (Day 5-7): The value email. Layer in social proof, customer reviews, recent press, product improvements, or a "what's new since you last shopped" recap. Highlight what's changed since their last visit. If you have a free shipping threshold or a loyalty program perk, surface it here as a soft incentive without leaning on a percent-off discount.

Email 3 (Day 12-14): The strongest offer. This is where you bring the discount, the gift with purchase, or the time-limited bundle. Make the urgency real, not theatrical. A 48-hour window with a clear expiration in the subject line outperforms vague "limited time" copy. Across the Shopify stores we manage, emails with personalization tokens in the subject line see open rates lift by around 17%, so use the customer's first name or a reference to their last purchase.

A few hard rules for the entire flow. Always include the flow filter "Placed Order zero times since starting this flow" so a buyer who converts on email one never receives email two. That filter is the single most important configuration setting in the flow, because it prevents the awkward and trust-destroying experience of asking a customer to "come back" the day after they came back. Add a smart-send-time delay if your account has it, and exclude active subscribers from the third email if you'd rather sunset them than push another discount.

What makes a good winback subject line?

The best winback subject lines combine emotional acknowledgment ("It's been a minute") with a specific reason to open ("Your favorite is back in stock" or "20% off is waiting"). Personalization tokens, especially first name or last-purchased category, lift open rates noticeably. Pure discount-led subject lines work, but they should appear in email three, not email one, so you don't anchor the customer on a deal too early.

Avoid emoji-heavy lines and "we miss you" without context, both of which read as filler in 2026. Test two subject lines per email using Klaviyo's built-in A/B testing, and let it run until you have at least a few hundred opens per variation before declaring a winner.

Common winback mistakes that kill performance

The biggest one is timing the flow off a guess instead of your actual repurchase cycle. The second is forgetting the flow filter, which leads to customers receiving a "come back" email after they've already come back. The third is making every email a discount, which trains your list to hold out and damages your full-price margins.

A more subtle mistake is targeting truly cold subscribers. If a profile hasn't engaged in 12+ months and never opens, the right move is a sunset, not a winback. Sending more emails to dead profiles erodes deliverability and quietly costs you placement on your real campaigns. The split between winback and sunset should be intentional. We cover the underlying logic in why spray-and-pray email is costing your store revenue.

The last mistake is running the flow and never reviewing it. Open rates drift, products go out of stock, and seasonal repurchase cycles shift. Audit your winback every quarter, refresh the creative, and re-pull your repurchase data. The flow that worked in Q1 is rarely the flow that should be running in Q4.

Final thoughts: the easy retention win

A working Klaviyo winback flow is one of the cleanest revenue wins in any retention stack. You're not chasing new audiences, you're not paying for clicks, and the customers you're reaching have already proven they'll buy from you. The build is straightforward: get the timing right, send three emails with escalating intent, set the right flow filter, and review it every quarter.

If your winback is underperforming or doesn't exist yet, the fastest path is usually a structural review of your full automation stack. That's the work we do every day at CartStrings, and our free Klaviyo audit will surface the specific changes that will move revenue in your account.

Most stores leave six figures on the table because their winback flow is misfired or missing entirely. Don't be one of them.

Frequently Asked Questions

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

Set the delay at roughly 1.5x your average days between purchases. For consumables, that's typically 60-90 days; for durable goods, 120-180 days is closer to right. Klaviyo's predictive analytics can refine this further by surfacing an Expected Date of Next Order for each customer, letting you tailor timing to actual purchase patterns instead of broad averages.

How many emails should a winback flow include?

Three is the right number for most Shopify stores. Email one is a soft check-in with no discount, email two adds value through social proof or new releases, and email three presents your strongest offer. Beyond three emails, the deliverability cost typically outweighs the incremental conversions, especially for already-disengaged profiles.

What flow filter should I use on a Klaviyo winback flow?

Use "Placed Order zero times since starting this flow" as the flow filter. This setting automatically removes a customer from the flow as soon as they make a purchase, so you never send a "we miss you" email to someone who just bought. Skip extra time-based conditional splits, which usually duplicate the filter logic and cause confusion.

What revenue per recipient should I expect from a winback flow?

For Shopify stores with an AOV of $100-200, winback emails generate an average revenue per recipient of around $0.84, and a well-targeted flow recovers roughly 3-8% of lapsed customers. RPR will be lower than abandoned cart or welcome flows because the audience is colder, but the absolute revenue is meaningful because the audience size grows every month.

Should I include a discount in every winback email?

No. Reserve the discount for email three. A discount in email one trains customers to ignore your full-price emails and wait for an offer, which compresses your margin over time. Email one should focus on reminding the customer of the brand and showing what's new; email two should add value or social proof; email three is the right place for the strongest incentive.

Let’s build email marketing that feels like it was done in-house.

Ready to turn email into a revenue channel?

[ Get in Touch ]

Let’s Start the Conversation.