In this article10 sections
What a win-back email is, and what it is not
A win-back email is for people who already used your product and then left. Their trial ended after they had done real work in it, they cancelled, or the account closed after a quiet stretch. The point of the email is to get them to return. The easiest way to make return feel worthwhile is to remind them that their workspace is still there, that something they cared about has shipped, or that the last thing they did has an obvious next step.
It is not a “we miss you” letter with twenty percent off. That is the default pattern for online stores, and it trains people to wait for a discount instead of telling them anything about the product.
It is not a blast to everyone who has not opened an email in ninety days. Open-rate dormancy mixes people who bought, people who never meant to, and people who never activated at all.
It is not an onboarding drip for accounts that never got started. Those people never saw the product do its job, so there is nothing yet to win back.
It is not a same-night “please do not cancel” message while someone is still in the cancel screen. That is a save offer, and it is a different job.
If the only reason to open the email is a coupon code, you do not have a win-back yet. You have a sale.
Three different jobs: left, quiet, and never activated
Most teams jam three different situations into one “re-engagement” automation. That is usually why the email feels wrong to the person who gets it.
| Job | Who this is | Which guide |
|---|---|---|
| Never activated | Signed up, but never got far enough to see the product work | Onboarding email sequence |
| Quiet, account still open | Used the product, then stopped, but the account is still open | Retention on lifecycle email |
| Left | Cancelled, closed the account, or let a trial end after real use | This guide |
Only the third row is win-back. If you put never-activated people on a coupon “win-back,” you teach the wrong lesson and burn the list. If you write a “you left” letter to someone who still has an open account, you sound dramatic about a person who never closed anything.
Keep the three routes separate. Count every program against the same limit per person so they cannot stack in the same inbox.
When to send, and when to hold
Send when they have actually left and you have something specific to say:
- Their trial expired, and they used the product at least once.
- They cancelled, and they are genuinely gone, not sitting in a same-night save offer.
- They never came back after a quiet stretch that closed or archived the account.
Hold the send when:
- You emailed them in the last week, including a product update or recap that already reached this audience.
- An automation already covers the moment, such as trial ending, failed payment, or a paused plan. Fix that automation instead of stacking a one-off campaign on top of it.
- You have nothing specific to say: no feature they used, no workspace left behind, and no gap you have since fixed.
- Complaint or bounce rates are climbing. Slow down. Do not “finish the series” anyway.
An email that goes out because a calendar said “day 60” is how you end up writing something that could have been sent to anyone.
How to build the audience from product events
Guides written for online stores usually start from “no open” or “no purchase in N days.” For a SaaS product, start from what you already know about each account.
Useful signals include:
- When they cancelled, or that their subscription status is cancelled
- When their trial ended, and whether they had activated before that
- The last feature or surface they used, such as boards, projects, or seats invited
- Work that still exists, such as project count or the last asset they edited
- The plan they were on when they left
These are too weak to trigger on by themselves:
- “No email open in ninety days,” with no product filter on top of it
- “Signed up but never paid,” when they also never activated. That belongs in onboarding
- “Everyone silent for sixty days,” which sweeps in accounts that are still open
Build the audience from events you already track, whether those come from PostHog, Amplitude, Mixpanel, or your own product events. The segment should update as people cancel or return. If you export a CSV from last quarter and mail it later, you will write to people who have already come back.
If you cannot name the event that puts someone into the audience, you are not ready to send.
How to write it without leaning on a discount
Give them one reason to return. Name their workspace or the feature they used. Ask softly. Then stop.
Do:
- Write a subject line that states a fact, such as “trial ended: 3 projects are still in Northwind.”
- Open on the work or the shipped gap, not on how you feel about them being gone.
- Include one primary link back into the product.
- Say clearly that you will stop writing if this is the last note.
Do not:
- Open with “we miss you” or “it has been a while.”
- Lead with a percent off. A discount can be a last resort after a specific reason fails. It is not the genre.
- Paste a feature tour.
- Send six emails that each claim to be the final one.
| Use | Throw out |
|---|---|
| your Northwind workspace is still here | we miss you |
| Shared boards shipped the thing you were waiting on | come back and save 10% |
| trial ended: 3 projects are still in Northwind | it has been a while |
| we will stop after this | special offer inside |
| Maya, nothing to re-create | your account misses you |
Write the way one operator writes to another. Second person is fine. Short and specific beats clever.
Annotated examples
These examples use a made-up company called Acme. Each one is from Alex at Acme to a user named Maya Chen. None of them offer a discount.
Trigger: Her trial ended. She had activated. She still has projects in the workspace.
Hey Maya,
Your trial ended last Friday. Your 3 projects are still in Northwind and nothing has been deleted.
Pick up here: https://app.acme.com/continue
Alex
Why it works
The work is still there, so returning is cheaper than starting over. No discount is offered.
Trigger: She cancelled weeks ago. The last feature she used was Shared boards. A release since then fixed the gap she hit.
Hey Maya,
When you cancelled on March 2, you were using Shared boards. The gap you hit there shipped this Monday.
If that was the blocker: https://app.acme.com/continue
Alex
Why it works
The reason to return is a shipped gap, not ten percent off. This only works if the audience is limited to people who actually used that surface.
Trigger: The account closed or archived after a quiet stretch, and the workspace was retained.
Hey Maya,
Northwind is still here, including the board you last edited on Tuesday evening. Nothing needs to be rebuilt.
https://app.acme.com/continue
Alex
Why it works
“Nothing to rebuild” is a better reason than “we miss you.” Naming the last edit is better than a vague “your stuff is waiting.”
Trigger: A prior win-back already went out. She did not return. This is email two of two.
Hey Maya,
We will stop after this. If you want the workspace back: https://app.acme.com/continue
Otherwise I will not keep writing.
Alex
Why it works
Stopping protects deliverability and trust. A six-email ladder that keeps saying “last chance” is how you earn spam complaints.
Trigger: She cancelled. There is no clear feature gap. You want a signal more than a forced return.
Hey Maya,
Before we stop writing: was it missing Shared boards, price, or something else?
Reply with one word. Or pick up the workspace: https://app.acme.com/continue
Alex
Why it works
You ask for feedback without offering a coupon. Keep it to one question. If she does not reply, stop writing. Do not turn this into a survey funnel.
How many emails to send, how often, and when to stop
Send one email. Two at most. Then stop. If they do not return, take them out of marketing win-back. Do not invent a five-step discount ladder because ecommerce blogs show five screenshots.
Count win-back against the same limit as your other campaigns and automations. A common default is about two lifecycle emails per person per week, spaced apart. If a launch recap already reached them four days ago, wait. Stacking a “we miss you” note on a product update is how quiet people become complainers.
After the last win-back, remove them from marketing sends that assume interest. Transactional mail like receipts, password resets, and security notices follows its own suppression rules, so unsubscribing from marketing never blocks a password reset. You stop writing so the people who still want mail from you can keep getting it.
What to measure
Pick the outcome that means return for your product: signed in again, restored the workspace, resubscribed, or paid again. Hold out a slice of the same left audience and send them nothing.
Compare return or paid conversion in the mailed group to the holdout. Opens do not count. An open can mean someone was bored in an airport. It does not mean they came back.
If the campaign loses to the holdout, drop that angle. Do not keep rewriting the subject line on a dead offer. If it wins, you can turn the pattern into an always-on automation for people who cancel or let a trial end later, and get that approved before it goes live.
When this advice does not apply
- You are not already getting signups. Win-back will not invent a funnel. Fix acquisition first.
- You need ecommerce cart or browse abandon flows, or retail “we miss you” templates. Those run on a different set of events.
- The people you want to email never activated. Use onboarding, not win-back.
- The people are quiet but still have an open account. That is retention on lifecycle email.
- You need one-time passcodes, account verification, or password resets. Those are transactional.
- You are still in a same-day cancel save while they are in the cancel UI. That is a different play.
- You cannot name a product event that defines “left.” Do not send.