A win-back campaign that works ends up writing to a few dozen people, not to the thousand-odd contacts sitting in the business phonebook. The cut isn't made by the budget: it's made by two filters applied before writing a single word.
The first is each customer's purchase cycle and not a fixed deadline: in come the ones who bought from you at least twice and whose silence has already passed one and a half times their own median between one purchase and the next. A hairdressing supplies distributor with a 45-day median works the window running from 68 to 135 days of silence; below 68 you are interrupting someone who was going to buy anyway, and above 135 the response drops sharply and opt-outs go up.
On the short list left after that cut and three more filters, only then does the message matter: the personal name of whoever is writing, the specific detail of the last thing they took, a question that is answered in two words, a believable reason for why you are writing today and the explicit way out. No offer, no catalogue, no link, no we miss you. There is a single test for whether you crossed the line: if that same text could have been sent to another 500 people, it's spam, however good the offer is.
The rule is 1.5 times each customer's purchase cycle, not six months
Inactive for six months is an arbitrary cut that puts a rotisserie customer who orders every ten days in the same bag as a real estate customer who rents every twenty-four months. One is eighteen cycles gone, the other hasn't even reached the halfway point of their own.
The calculation, three steps with a spreadsheet:
- Take the customers with two or more purchases and work out the days that pass between one purchase and the next. Get the median, not the average: two odd orders shift the average and you never notice.
- Multiply that median by 1.5. That's the floor of the window.
- Multiply by 3. That's the ceiling.
A hairdressing supplies distributor with a 45-day median has its win-back window between 68 and 135 days of silence. Outside those edges, different things happen:
- Below 68 days the customer isn't inactive, they're on their own rhythm. Writing interrupts someone who was going to buy anyway and burns the single bullet of it's been a long time on someone who never stopped talking to you.
- Between 68 and 135 days is the zone that's worth it: they remember you, they recognize the business name, and they haven't yet built a stable routine with another supplier.
- Above 135 days the response drops sharply and opt-outs go up. It's not that you never write to them: it's that they go last, in a small batch, and only after testing the message on the good part of the list.
In practice this cut leaves out more than half of what an owner calls my dormant base: the ones still inside their own rhythm and the ones already past the ceiling of 3 cycles.
Three filters that remove half of those left
- Bought only once, over a year ago. That isn't a win-back, it's cold prospecting on a number you got hold of. It needs a different message, a different expectation and a different campaign.
- The last contact ended badly. An unresolved complaint, a late delivery, an argument over an invoice. Asking whether what they took worked out for them, to someone who has been waiting four months for an answer from you, is worse than silence.
- You can't write the message with their record open in front of you. This is the hard rule and the one that eliminates the most people: if you don't know what they bought and when, that person doesn't enter the campaign. There is no way to personalize what was never recorded, and a generic message to someone who doesn't remember you is exactly the traffic pattern that gets WhatsApp to limit your number.
If filter 3 wipes out your entire list, there's your real project: tidying up the data you already have before sending anything.
The message has five parts and none of them is an offer
Business and names made up, so that the level of detail needed is visible:
Hi Marcela, this is Julián from Distribuidora Nogoyá.
I'm writing because last time, at the end of March, you took the 7.3 dye and 30 volume developer. Did that brand work well for you or did you end up switching?
I'm asking because I'm putting together this week's order and wanted to know whether to set some aside for you.
If you'd rather I didn't write again, reply STOP and that's it.
Why each part works:
- A person's name, not a company's. This is Julián from. A message signed by the team at is, by definition, a message nobody wrote. In a win-back the sender weighs more than the text.
- The detail only you can have. What they took and when. It's the proof, in the first line, that this didn't come out of a list. It doesn't have to be impressive: the 7.3 dye is more than enough.
- A question that is answered in two words and isn't do you want to buy. Did it work for you is about their experience, not about your sale. And it works even when the answer is no. Especially when it's no.
- A reason for why today. I'm putting together this week's order. Without that line there is nothing to explain why you turned up on a Tuesday after three months, and every message without an explanation reads as a campaign. It has to be true: if you're making the reason up, pick another reason.
- The way out, in the same message. It's the part that gets argued about most because it looks like you're inviting people to leave. Two reasons, and neither has anything to do with the platform. First: offering the way out is what entitles you to ask the question. Without that line, did that brand work for you? is a sales excuse and reads like one; with that line, it's a question the person can leave unanswered at no cost, and that is exactly why they answer it. Second: a STOP is the only clean piece of information you'll ever get from someone who was never going to reply. It tells you that person is out of the business, not that they were busy, and it leaves you a smaller and more real list for the next window. The contacts who leave on their own are the ones you were going to keep counting as dormant base for two years.
Look too at what isn't there: discount, catalogue, price list PDF, link, image, voice note, we miss you, it's been a long time since we heard from you, and not a single exclamation mark.
The discount in the first message burns the only lever you have
The obvious temptation is to open with a 20% off to get you back. Three concrete problems:
- You teach the customer that disappearing gets rewarded. Whoever comes back for the 20% will leave again, waiting for the 25%.
- You turn a conversation into a transaction. If they answer that they're not interested, the thread is over. If instead you asked whether the product worked for them, even the no keeps you inside the conversation.
- You lose the very thing you went looking for. A win-back isn't only recovered revenue: it's the only moment when people explain to you, for free, why they stopped buying from you.
The discount goes in the second message, once you know whether the reason was price, service or plain forgetfulness.
When they reply there are three roads and two are good
- Yes, it worked well. Only then comes the offer, specific and about the product they already bought, never a catalogue. It's the easy case.
- I buy from someone else now. Here comes the golden question, exactly like this: on price or on something else? That answer is worth more than the lost sale, and you'll hear it five or six times in the same campaign. If the same reason repeats, you've stopped having a win-back problem and you have a different one.
- Silence. One more message only, no sooner than ten days later, and this time with something concrete. A third attempt does not exist: whoever ignored two personalized messages isn't distracted, they decided.
What the campaign is worth is calculated before sending it
It's the only campaign you can budget in advance, and almost nobody does it. In acquisition you don't know how much someone who hasn't bought from you yet is going to spend; here you do, because every person on the list has already bought twice and the amount is written down.
The maths, with pessimistic numbers and the list of 120 left after the three filters: around 18 reply, of those between 5 and 7 buy again within 60 days, and each one comes back for something similar to what they used to take. That leaves a rule you can apply before writing the first line: a well filtered win-back is worth between five and seven times the average ticket of the filtered list. Not the average ticket of the business: the one of that list, which is almost always higher, because the filter of two purchases or more has already taken out the browsers.
Put the other way round, which is how it's best read: if five average tickets don't move your month, this campaign isn't your priority. Close the spreadsheet and go look for the problem somewhere else.
The same spreadsheet tells you something more uncomfortable. Those 120 are not worth the same as each other. Sort them by historical revenue and in most businesses the top 15 weigh more than the bottom 105 put together. Those 15 don't go into any batch: they go one by one, written by hand on their full history, and if the business allows for it, by phone rather than WhatsApp. Sending a customer who has billed you twenty times the same three-line message as someone who bought twice a year ago is the most expensive mistake in the whole campaign, and the only one there's no fixing afterwards: that customer has already seen that to you they're one line in a list.
The batch size is decided by your capacity to reply, not by the platform
Start with the ones who have just crossed the 1.5, not with the oldest. Two reasons: they respond more, and they let you calibrate the message with the best part of the list before spending it on the worst.
How many you send at once comes out of a division that almost nobody does:
Conversations you can handle well in 48 hours ÷ expected response rate = batch size.
If you can sustain five simultaneous conversations without dropping any of them, and a list filtered this way responds at around 15%, your batch is 30 messages. If you're on your own and the WhatsApp already comes in full with the day's orders, your real number of simultaneous conversations is two or three and your batch is 15, not 30. The 30 isn't dogma; the division is.
The constraint is on the replying side and not on the sending side for one specific reason in this type of campaign: the reply lands in a thread that was dead for three months, with no context, and the person is testing you. A "sure, send me a price" answered 30 hours later isn't a delayed sale: it's the confirmation that the message was a campaign disguised as personal interest, which is exactly what the message swore not to be. Sending costs minutes. Sustaining is what breaks.
After each batch you wait 24 to 48 hours and read two numbers:
- Replies over messages sent. It tells you whether the message hooks. Below 8% on a properly filtered list the problem is the text, and almost always for the same reason: the detail of the last purchase came out vague —the usual, your previous order— instead of specific.
- Recognition: how many of the people who reply ask who you are. Nobody looks at this one and it's the one that tells you the most. A "who's this?" or "where did you get my number?" every five replies means the problem isn't the text but the list: you went above the ceiling of 3 cycles, or people who bought only once slipped in. Rewriting the message doesn't fix it. Trimming the window does.
Keeping them separate matters because the correction is different. A weak message with a good list is fixed in ten minutes by changing two lines. A bad list with a good message is only fixed by going back to the spreadsheet, and if you keep sending in the meantime, you spend the best part of the base to confirm a segmentation error.
Sending all 800 in the base together while we're at it breaks the division above on the side you can't see. You don't run out of messages: you run out of records. With 120 open threads nobody opens the spreadsheet before replying, and the second message of every conversation comes out generic —hi, tell me what you need— right after a first one that was surgical. The personalization that cost you three days is erased on the next turn of the conversation. That a send like that is also the fastest way to get WhatsApp to cut back your number is true and has its own discussion; the point here is that, even with the number intact, the campaign has already failed.
Ninety seconds per record: sending is never what falls over
Looking up the record, writing the personalized line, sending and noting down the reply takes between 90 seconds and 2 minutes per person. Two batches a week are about 50 messages and they fit into an hour and a half, split across two sittings. If your real dormant base, after the three filters, is 120 people, the whole campaign runs out in a bit over two weeks: this is done by hand, you don't need to hire anyone and you can start this afternoon.
What falls over afterwards is never the sending. It's two things that happen once you've already sent, and both are invisible on the day you put the campaign together.
The follow-up. Those two batches leave you between 6 and 12 live conversations at the same time, each with its own context, mixed into the same WhatsApp where the day's orders come in. The campaign doesn't fail on Tuesday when you send: it fails on Thursday, when three people who replied send me a price have been waiting 48 hours and are never coming back. And they don't come back in a particularly expensive way: the last signal you gave them is that the personal question was a lie.
Each customer's clock. A manual win-back is an event, not a process. You do it in January because sales dropped and by May you have another 200 dormant, because nobody is watching the exact moment when each one crosses their own 1.5. That's the work that doesn't hold up by hand: not because it's difficult, but because it's 800 different clocks running at once and none of them rings.
Automating it means, concretely, a system that every day works out who crossed their window, builds the batch with the last purchase detail already inside the text, leaves it ready for a person to approve, and then sustains each thread with its context. The message is still the one above: what changes is that it goes out every week and nobody forgets.
The question that decides this isn't how many dormant customers you have
It's another one, and it's answered in two minutes by opening wherever you write down your sales: can you know what each customer bought last time?
If the answer is yes, count how many customers you have with two or more purchases. Under 150 and this is done by hand, no argument: the list that survives the three filters fits into an hour and a half a week, you start this afternoon and automating it would be buying a machine to knead two pizzas. Above 400, the problem stops being the sending and becomes that the clocks run on their own and nobody is watching them.
If the answer is no —you have the phone numbers and the dates, but not the detail of what they took—, then the project in front of you isn't the campaign. It's the record keeping, and it's a cheaper, more boring and considerably more profitable project: without the last purchase detail, the personalized message above turns into a "it's been a long time since you came by", which is exactly the text people ignore and the one that gets you blocked. Reactivating without that detail isn't a campaign with lower returns: it's burning the base once and having no second chance.
That order —first the record, then the window, then the volume— is the one worth having written down before listening to any proposal. If you want to test it against your own case, info@striqtech.com: it's enough to tell us where the purchases are written down today.
Frequently asked questions
How often can I run a win-back campaign to the same customer?
Once per window, not once per quarter. If someone crossed their 1.5 cycles, got the message and didn't reply, they get a second attempt ten days later and after that they leave the list for six months at least. You only put them back in if they buy again, or if so much time has passed that this is no longer a win-back but a fresh contact with a different message. Pushing the same person every two months is what generates the reports.
Should I send a discount in the first win-back message?
No. An upfront discount teaches the customer that disappearing gets rewarded, turns a conversation into a transaction that closes with a no, and buries the very thing you were looking for: why they stopped buying from you. Save it for the second message, once you know whether the reason was price, service or plain forgetfulness. A discount aimed at someone who told you it felt expensive pays off far more than the same discount sent blind.
What response rate is normal for a WhatsApp win-back?
Campaigns of this kind usually see between 8% and 20% response when the list is filtered by purchase cycle and the message carries the specific detail of the last purchase, against 1% to 3% for a mass send to the whole base. These are typical ranges for the channel, not audited results from any one company. The number that helps you most is a different one and almost nobody measures it: how many of the people who reply ask who you are. If it is more than one in every five replies, the problem is not the message but the window, and you are writing to people who no longer remember you.
Does it work to run the win-back by email instead of WhatsApp?
If your filtered list is over 500 contacts, yes, as a first pass. Email costs practically nothing, doesn't put the business number at risk and tolerates segmentation mistakes that are expensive on WhatsApp. The practical rule: sweep by email, and take to WhatsApp only whoever opened, replied or clicked. Below 200 contacts email adds nothing and it is better to go straight to the channel where those people already talk to you.
Can I write on WhatsApp to a customer who hasn't bought from me in a year?
A prior commercial relationship usually allows the contact, but the legal framework differs between Argentina, Spain and Italy and that is confirmed by your advisor, not by an article. The operating rule you do control is stricter than the law: if the person cannot recognize you by the business name within the first five seconds, the message will be read as spam even if it is perfectly legal. That is why the explicit way out goes in the same message.
Implement this in your business in 72 hours
Let's talk for 15 minutes. No cost, no commitment. I'll audit one process and show you the projected ROI.
Let's talk on WhatsApp