Win-back email sequence for ecommerce

Win-back email sequence for ecommerce

Do a list audit on a real store and the number that jumps out isn't the open rate. It's how many people who already bought something, people you paid to acquire, who went through your checkout and completed a purchase. You let them disengage.

The reason most stores never deal with it is honestly the same reason you avoid cleaning out the fridge. Nothing's breaking. The dormant contacts don't send complaint emails. They just pile up, slowly pulling your engagement metrics in the wrong direction without making any noise about it.

And the part that makes it actually annoying? Winning back a past customer is dramatically cheaper than finding a new one. They already know your store. Went through your checkout, trusted you with their card details, got something delivered. The whole "is this legit" skepticism a first-time buyer goes through, that's already done. All you need is a reason, and it doesn't need to be complicated.

Most stores never give them one. Or wait so long that it stops mattering.

What "inactive" actually means for your store

Most win-back flows break before they start, and almost always for the same reason: whoever set it up picked an arbitrary inactivity window and applied it to everything.

The problem is that "inactive" means completely different things depending on what you sell. A protein powder store where someone buys a 30-day supply. If that person hasn't reordered in 75 days, that's a real signal. They might have switched brands, or just forgot, but something happened. A furniture store where a customer bought a sofa six weeks ago isn't inactive. They just bought a sofa. (People don't replace sofas every few months, hopefully.)

Start at around twice your average repurchase interval. Consumables like supplements, coffee, skincare: somewhere in the 60 to 90 day range. Fashion and home goods, 90 days is a reasonable trigger. Past 180 days the math gets rough. Past a year it's basically zero.

A well-built win-back sequence will recover maybe 10 to 20 percent of the people who enter it. The rest aren't coming back regardless of what you send. That's not a failure of the sequence. That's just how it goes. The whole point is to pull out the ones who still might, before the rest start dragging your deliverability down.

How the sequence works

Three or four emails, spread over a couple of weeks.

The first one shouldn't be a pitch. No discount, no "we've got new arrivals" announcement. Just an acknowledgment that they've been gone for a while and a genuine invitation back. Plain text actually works better here than a designed template. Not because it looks better, but because a plain-text email feels like something a person sent. A designed HTML layout triggers the "automated email" recognition in about half a second. Same words, very different reception. (This is one of those things that sounds too small to matter until you test it.)

Second email is where you give them a reason to act. Skip the percentage discount. A specific dollar amount framed as store credit lands better. "There's $10 in store credit sitting on your account" hits differently than "here's 10% off." The framing matters. Credit feels like it's already theirs, just unclaimed. People don't walk away from their own money. Works pretty reliably.

Third email is what's changed. New products, bestsellers, maybe a few reviews worth reading. The goal is to answer (without quite saying it) the question "is this brand still worth paying attention to?". If shipping improved, say so. If a product got reformulated or upgraded, mention it. Sometimes people go quiet because something bothered them. A credible "here's what's different now" can move them.

Fourth email, if you run that long, is urgency. The credit expires in 24 hours. That's the whole email. It either works or it doesn't. Don't stretch to a fifth. You have your answer by then.

Klaviyo handles the trigger logic well. Set the last order date condition, chain the delays, and it runs without you touching it. Omnisend has a Customer Win-Back preset built in, you just adjust the defaults. SalesAutopilot does it through date-based conditions on the last order field. Same mechanic everywhere, just different interfaces.

Win-back email notification

The segment split that makes this work better

Not every inactive customer went cold for the same reason, and treating them identically loses the opportunity.

Someone who ordered once, six months ago, and never came back is a different situation from someone who was buying regularly for two years and then disappeared. The first person might be in a completely normal slow cycle. The second one had something change. A bad experience, a competitor, something. Both need a win-back email. But the tone should be different.

The repeat buyer doesn't need to be reintroduced to your brand. They know it. Their version of the sequence should acknowledge the gap and treat them like someone you'd actually like to keep, not like a stranger you're trying to convert for the first time. The single-order-then-gone customer gets something closer to a second first impression. Different problem, different email.

The failure mode here is sending a "thanks for being a loyal customer" email to someone who bought exactly once. They know they only bought once. It looks like you're reading from a script, because you are. (Which is worse than not sending anything, because now they know your personalization is fake.)

Klaviyo splits this with a purchase count condition at the top of the flow. Omnisend does it through branch filters. Worth the setup time.

When to stop and clean the list

The sequence ends. They either re-engaged or didn't.

If they didn't, you move them to a sunset flow. One or two emails, curiosity subject lines. "Is this goodbye?" or "Should we stop sending?" Not selling anything. Just a last attempt to get any signal at all: an open, a click, a reply. Nothing? Suppress them.

Keeping disengaged contacts past this point actively hurts you. It pulls up your disengaged-to-active ratio, which tells inbox providers your emails aren't being wanted. And that doesn't just affect the dormant segment. It degrades deliverability for everyone on your list, including the people who actually want to hear from you. A list with 8,000 active subscribers that you keep at 25,000 by holding onto dead weight will underperform the clean 8,000 every single time.

Suppressed is not deleted. If they come back to your site and purchase again, they'll re-enter active flows automatically. Until then, you stop mailing them.

Win-back email re-engagement

The part that stops most stores

Getting the flow set up takes an afternoon. The timing conditions, the trigger logic, the delay configuration. None of that is actually the hard part.

Copy is. Four emails, split between first-time and repeat buyer versions, with subject lines that don't immediately read as templates, store credit framing that doesn't look desperate, and a final urgency email that actually creates urgency. And that's before you factor in that the inactivity window and the tone both shift depending on the product category.

That's where most win-back projects stall out. The flow skeleton is in the tool. Half the emails are still showing placeholder copy. (The other half say something like "Email 2, insert re-engagement message here." Which, technically, is a message.)

MailCommerce AI generates the full sequence from your store URL. It reads the product catalog and writes the emails with copy and design for each step including the first-time vs. repeat buyer split.

Free to try, no card required. Start here.

How this connects to your other flows

The win-back sequence is what the post-purchase flow hands off to. Customer finishes the post-purchase series, goes quiet long enough to hit your inactivity threshold, enters this one.

When it ends, they either rejoin the regular campaign list or move to suppression. Both outcomes are fine. What isn't fine is doing nothing and letting them accumulate indefinitely.

If you're running browse abandonment or cart abandonment alongside this, the suppression logic needs to be clean. A dormant customer who comes back to the site and starts browsing should enter the browse flow. Not continue through win-back. Different state, different message. Letting both run at once pushes someone through two urgency sequences simultaneously, which usually just reads as a mess and doesn't convert either.

The welcome sequence is the start of the customer journey. Win-back is near the end of it, the last real attempt before someone becomes a permanent non-buyer. What happens in between, the post-purchase flow, the cart recovery, the browse triggers, is what determines how many customers you're even trying to win back in the first place.