Win-Back Campaigns That Work: +79% Revenue From Lapsed Users
How Healthify turned each lapsed user's own progress into the win-back message and lifted revenue 79%, with the same audience and the same channel.

Most win-back campaigns start with an offer: 25% off, an extra month free, a gift, a limited-time comeback deal. We were doing the same at Healthify, and engagement stayed flat. What finally moved it was not a bigger discount. It was using each lapsed user's own history to tell them why their journey was worth restarting.
On the India cohort, click-through rate more than doubled, leads grew 2.2x and win-back revenue rose 79%, from the same kind of lapsed users, on the same channel. The short version is in the Healthify win-back case study; this is the full breakdown.
The lesson is simple. If you talk to everyone, nobody feels spoken to.
In short:
- Offer-led win-back messages stall when every lapsed user hears the same thing.
- Behaviour rules can turn each customer's own history into one personal sentence inside a controlled template, with a fallback for missing data.
- Not every lapsed user is a win-back case: some never activated, and the fix for them starts before renewal.
What is a win-back campaign?
A win-back campaign is a CRM journey that reactivates customers who were once active but have stopped buying, renewing or engaging. For a D2C brand, that might be someone who ordered once and never came back. For a subscription app, it is someone who paid for a plan, reached renewal, did not renew, and gradually stopped opening the product.
At Healthify, that second group was especially valuable. These were not cold prospects. They had installed the app, shared their health details, paid for a coaching plan, worked with a coach and built months of history inside the product. When a plan expired without renewal, the user moved into a reactivation cohort. Every month they stayed away, they got harder to reach.
What our win-back campaigns looked like before
The communication was offer-led. A typical campaign carried 25% to 30% off a plan, an extra month on a longer plan, free yoga classes, or a product freebie like a blender or a massage gun.
The offers were not bad. The problem was that almost every lapsed user heard the same thing in roughly the same words. We kept changing the incentive and kept the message identical, so engagement stayed flat instead of climbing.
January made it obvious. Health intent peaks around the New Year, which gave us a real window to reconnect with people who had already paid us once. Running the same promotional playbook again would have wasted it.
The real problem was not the offer
The shift started with a different question. We had been asking what we could offer lapsed users to bring them back. I started asking what we knew about each user that would make the message worth reading.
Healthify had plenty of first-party data. Depending on the user, we knew their first and latest recorded weight, the change between them, workout days, calories burned, food logs, how often they opened the app, their BMI, any medical condition, their previous plan and its length, and the coach they had worked with. The data existed. It simply never reached the message.
Personalization is not reciting someone's data
There is an obvious wrong way to use all this. You could send a message that lists a person's BMI, weight change, food logs and workout count. That is technically personalized, and it reads as if someone pasted a spreadsheet row into WhatsApp.
The job was to translate their data into a human reminder of progress. Recognition came first, then their past effort, then a reason to restart. The incentive did not disappear. It just stopped being the first thing we said.

Most brands personalize the event, not the person
A lot of what gets called personalization in CRM is really triggering. A cart is abandoned, so a cart reminder goes out. A customer qualifies for a loan amount, so the amount drops into a template. Those are useful, but swapping in a first name, product title or offer amount is variable substitution. It does not show you understand the person.
Real personalization starts when a customer's own behaviour changes the substance of what you say. At Healthify, the message changed with weight progress, workouts, food logging, calories burned, app usage and how much usable history existed. Most brands personalize the event. Very few personalize the person.
How I used AI to personalize win-back messages at scale
This was not an AI model writing a fresh message live for every user. It was more controlled than that. I took the behavioural data, removed names, and used AI to help design the rules that decided what kind of sentence each combination of behaviour should produce. Then I encoded those rules into the dataset.
The rules worked in tiers:
- Strong weight progress and strong activity: recognise the result and the consistency behind it.
- Weight progress, little activity data: recognise the progress without inventing detail.
- Strong workouts, food logging or calorie burn, little weight change: recognise the effort instead of forcing an outcome story.
- Light engagement: acknowledge that they had started building a routine.
- Very little data: use a safe fallback instead of manufacturing a personal claim.
That last tier matters most. Missing data is the normal case. A personalization system that only works when every field is filled is not a usable system.

Each user's sentence went into the CRM as a variable inside one approved template. The structure stayed controlled, and the substance changed person by person: weight loss for one user, workout consistency for another, food logging for a third, a gentle nudge for someone with little history. That is what made it scale without turning every send into an unpredictable AI generation.
Why WhatsApp mattered for lapsed users
The longer users stay lapsed, the less they open the app. Push notifications lose their reach when people stop opening the app or uninstall it, and in-app messages are useless if they never come back. For deeply lapsed cohorts, the phone number is often the last durable direct line you have. That made WhatsApp the channel.
It does not matter how good the copy is if the message never arrives. I wrote about that separately in WhatsApp delivery rate dropping? What actually fixes it. In this campaign, relevance and reach improved together, and the combination mattered more than either one alone.
A note on template categories. This campaign used the message setup available to us at the time. Do not read it as a reason to send promotional messages as utility messages. Meta's template guidelines say utility templates must be non-promotional, and businesses that keep misclassifying marketing face escalating restrictions. The transferable lesson here is the personalization logic, not category games.
We tested the logic before scaling it
I did not send the first version to the whole lapsed base. I tested a small sample internally first, to check the rules behaved across every combination of data, especially where fields were missing or engagement was weak. Once the logic held, we rolled it out to India. When the India numbers held, the same framework went to NRI cohorts in the UAE, US, UK and Australia, with the logic largely unchanged. That portability is what separates a system from one piece of copy that happened to work once.
Win-back campaign results
| Metric (India cohort) | Change after personalization |
|---|---|
| Click-through rate | 2.1x |
| Conversion rate | 1.6x |
| Leads | 2.2x |
| Revenue | +79% |
| Return on ad spend | +38% |
All of it came from the same kind of lapsed users we had been trying to reactivate all along.
The NRI rollout did even better. Click-through reached 3.4x the original baseline, and return on ad spend rose 54%.

My reading of the gap is straightforward. We had historically sent WhatsApp messages to Indian users far more often than to NRI users. The NRI cohorts carried less fatigue, so the same message landed on fresher ears. The logic did not change; the audience's prior exposure did. Better copy cannot fully make up for an exhausted audience.
Why it worked
The personalization felt human. The user's own data became a reminder of progress, not a list of metrics. The message effectively said: you did this, you put in this effort, you had momentum. That is a very different thing to hear than "30% off, come back today".
More of the audience could be reached. A better message only matters if it arrives, and this setup reached more of the eligible lapsed base than the promotional sends we had relied on. Relevance and distribution improved together, which is why I would not reduce this to "AI personalization increased revenue". That misses half the story.
One caution. Personalization earns attention; it is not a reason to buy on its own. Nobody renews just because a brand remembered them well. At Healthify, the message recognised the journey and then gave a reason to continue. An incentive without relevance feels like a promotion. Relevance without a reason to act feels thoughtful and changes nothing. The strongest win-back campaigns need both, in that order.
Which lapsed users to win back first
I would not chase every lapsed user equally. Start with the people who already showed they cared: those who logged their weight consistently, tracked meals, completed workouts, used the product deeply, engaged with a coach or gave strong feedback. The relationship weakened later, but it existed.
Someone who barely engaged while they were still paying is a different case. They may never have reached real product adoption, which makes it an activation or servicing problem, not a win-back one.

One of the earliest warning signs at Healthify was that only a minority of users were actively logging their weight with their coaches. In a health product, where progress depends on participation, that is not a feature-usage number. It is a retention signal. If users stop logging, tracking or opening the app while their plan is still active, disengagement has already begun, and by the time they officially lapse, CRM is trying to rescue a relationship that started weakening months earlier. Treating both groups with the same comeback offer misses the diagnosis.
Watch the aggregate numbers too. If new users join the lapsed base every month, the base keeps growing, but daily activity among lapsed users can still fall. That means the newer cohorts are no longer making up for the older ones quietly disappearing. That is cohort decay, and it is a far more useful diagnosis than "engagement is down".
How I would audit a win-back program today
If a brand came to me with a large lapsed base, I would not start by rewriting its messages. I would start with the data, then the journey:
- What customer history is being captured?
- Which behaviours separate retained customers from drifting ones?
- When does engagement start declining?
- Which lapsed users showed the strongest intent before leaving?
- What personalization already exists?
- Is it behavioural personalization, or only variable substitution?
- Which incentive could realistically change behaviour?
- Can the channel still reach this audience?
That is where win-back strategy starts. Not with a discount code.
This is the audit I run for brands with a lapsed base worth winning back: I go through your customer history and current journeys against these eight questions, and you leave with the segments to prioritise, the signals to build messages from and the fixes that come first. Book a 30-minute call and bring your numbers.
What this changed for me
Most established businesses do not have a data shortage. They have a translation problem. Purchase history, usage patterns, preferences and past incentives sit in separate fields, and none of it reaches the customer. The job is not to display that information back to people. It is to use it quietly enough that the message simply feels more relevant. Good personalization should make customers feel less marketed to, not more watched.
The best win-back message does not start by reminding the customer what you sell. It starts by reminding them why they cared in the first place.
FAQ
What is a win-back campaign? A CRM journey that reactivates customers who once bought, subscribed or engaged but have stopped. It can run on WhatsApp, email, push, SMS or in-app messages, depending on where the customer can still be reached.
What makes a win-back campaign effective? Customer context plus a real reason to return. Use each person's past purchases, usage or progress to make the message relevant first, then introduce the incentive.
Should win-back campaigns always use discounts? No. The right incentive depends on why the customer lapsed. Credits, extra service, loyalty benefits or non-price reasons can work as well as a discount, and sometimes better.
How do you personalize a win-back campaign? Start with first-party data such as recency, frequency, purchase history, product usage, engagement depth and past progress. Use it to change what the message says, not just the name or product field.
Which lapsed customers should you target first? Those who showed strong intent before they left: repeat buyers, deep product users and people who rated the experience well. Users who barely engaged while active usually need activation, not a win-back offer.
Can AI personalize win-back messages at scale? Yes, without generating every message live. AI can help design rules that turn behavioural data into readable sentences, which then go into an approved template as a variable, so the structure stays controlled and only the substance changes.
If your lapsed-user campaign is still one segment, one template and one offer, the fix starts with the customer history, not a bigger discount. The full before and after is in the Healthify win-back case study, and if you want the same audit on your own lapsed base, book a retention consultation.