Silence comes in stages, and each stage gets a different message
At 14 days of silence you remind. At 30 you give a reason. At 60 you spend money. At 90 you send one honest note and then stop.
The desperation a customer hears is almost never the offer itself. It is the sound of the same plea arriving four times in a row, escalating each time. Fix the ladder and the copy gets easier.
Waya's dashboard already sorts your customers by days since their last scan. The defaults are Active up to 14 days, Slipping from 15 to 30, At risk from 31 to 60, and Lapsed at 61 days and beyond. Those thresholds live under Customer health rules, and you can move them. Every message below is written against one of those four bands.
Move the thresholds before you write anything. Two weeks of quiet is alarming for a cafe and completely normal for a barber whose regulars come every four weeks. If your natural repeat cycle is a month, a 14-day nudge is not a win-back. It is nagging someone who is not late yet.
Day 14: remind, don't discount
The safe automatic message at two weeks says nothing about price and nothing about feelings. "Two weeks since your last visit. Your points are still on your card. Nothing expired." That is 85 characters, and it fits on a lock screen without being cut off. At 14 days most people have not decided anything about your shop, they simply forgot, and a reminder is the whole job.
If you want the progress version, write it with variables: "{customer_name}, you're {stamps_left} stamps from {reward}. Card's still in your wallet." Waya resolves {customer_name}, {stamps_left}, {reward}, and {shop_name} at send time, and it deliberately leaves unknown variables sitting in the text so a typo shows up in your preview instead of on someone's phone. Rendered for a real customer, that comes out as "Nora, you're 3 stamps from a free flat white. Card's still in your wallet."
Here is the trap almost everyone hits. Waya's automatic 14-day win-back trigger keys off days since the last scan, not off how many visits someone has made. A person who enrolled three weeks ago and never came back gets it too, and "you're 10 stamps from a free flat white" is a strange thing to send a near-stranger.
So use the plain version for the automatic trigger and save the progress line for a manual send to the Slipping band, where you can see visit counts on screen before you write. The dashboard labels anyone with two visits or fewer as New for exactly this reason. New and Slipping are different problems and should not share copy.
Day 30: a reason to come in, still no discount
A 30-day message has to carry new information, otherwise it is just the 14-day message again in a louder voice. Two that work: "New this week: cardamom cold brew. Your card is {stamps_left} stamps from {reward}." at 83 characters, and "We're quiet between 2 and 4 today. Good window for your usual without the queue." at 80.
The second one converts better than most discounts, and it costs nothing. You are not offering money, you are removing the reason a busy person skipped you. Waiting is a price too.
Hold the discount back on purpose. If a 30-day coupon works twice, your regulars learn that going quiet for a month is worth money, and you have trained a behavior you cannot untrain cheaply. Every offer you send at 30 days is also an offer you did not need to send to the people who were coming back anyway.
Timing beats copy at this stage. Waya's passive branch-proximity reminders put the card on the lock screen when the phone is already near your branch, which is a better trigger than any hour you could guess from a dashboard. Set them up on the Branches screen: a card's own Address and Maps fields are not the geofence, which surprises people. This is not a message you write or schedule, it is the pass surfacing itself at the right moment.
Day 60: this is where the offer belongs
By 60 days a reminder has already failed twice, so now you spend. "Your {stamps_left} stamps are safe. Come in before Sunday and we'll add two on the house." is 89 characters. "{customer_name}, your next {reward} is on us. No minimum, valid through Saturday." is 81.
Notice that both lead with what the customer keeps, not with what they lose. At two months the worry is rarely price, it is the quiet suspicion that the card went stale and the stamps are gone. Protect first, then add, and the message reads generous instead of anxious.
Put the deadline about a week out and then tell your cashier to honor it late. A week is enough of a nudge; a 24-hour window reads as pressure from a shop that needs the sale. The cost of accepting a stale offer on Monday is one drink. The cost of an argument at your counter is the customer, plus whoever they tell.
One offer per person per silence stretch. If someone takes the day-60 offer and then goes quiet again in November, they start the ladder over from day 14, not from the coupon.
Day 90: one honest note, then stop
At three months, pick one message and send it once. Either "It's been three months. Your card still works and your stamps are still there. Nothing expires." at 95 characters, or the version that actually asks a question worth asking: "Last message from us. If we got something wrong, tell us at the counter and we'll fix it." at 89. Then take that person off the list.
Now the one you should never send, at any stage: "We miss you. Your 8 stamps expire in 24 hours. Come back today." It is short, it is urgent, and it fails three ways at once. It opens with guilt, it invents a deadline the customer never agreed to, and it threatens something they already earned by paying you eight times.
That message converts a handful of people and teaches everyone else who reads it that what sits on the card is not safe. Expiring earned stamps as a tactic is the fastest way to make your own loyalty card worthless. If your program genuinely needs balances to expire, put it in your terms from day one and never mention it in a win-back.
The other thing to never do is send all four stages to the same person. Four escalating messages in 90 days does not read as a shop that cares. It reads as a phone problem, and the fix a customer reaches for is deleting the pass.
Counting a win-back without double-counting
Define the number before you send anything. A win-back is one customer who was Slipping, At risk, or Lapsed on the day the message went out, and who then records a scan at your counter inside a fixed window. Fourteen days is a practical window for most shops. Count that customer once, no matter how many messages they received.
Three habits inflate the figure. Attributing returns to messages instead of to people, so a day-30 message and a day-60 message plus one actual visit becomes two wins. Counting people who were coming back anyway. And counting sends as results, which is the worst of the three, because a delivered notification is not a visit. Only a scan counts.
The fix for the middle one is a holdout. Say 220 customers are enrolled and 60 sit in At risk on 1 August. Message 48 of them and leave 12 unmessaged by unchecking those rows in the audience list. Over the next 14 days, 9 of the 48 come back and 1 of the 12 does: 18.8 percent against 8.3 percent, a lift of about 10 percentage points, or roughly 5 visits you would not otherwise have had, for 48 of the 100 messages the free plan gives you each month.
Those are made-up numbers with the assumptions written out, and a 12-person control is far too small to be statistically meaningful. Treat one month as directional only, pool three months before you believe it, and re-run the holdout each time. Your best win-back line stops working once the same people have read it twice, and a holdout is the only way you will notice.
What to set up before you paste any of this in
There are two places this copy lives. The automatic Win-back nudge trigger runs daily against cards with no scan in 14 or more days, and it will not touch the same card again for 30 days. That dedup window is exactly why a 14, 30, 60, and 90-day ladder cannot be four triggers: stages two through four come from the lifecycle rules on the Slipping, At risk, and Lapsed bands, or from manual sends to the quiet segment.
Lengths matter more than they should. The trigger message box takes 140 characters, and the lifecycle band rules and one-off sends take 240. A phone lock screen truncates somewhere around 100. All eight messages above are under 100 characters on purpose, with the point in the first clause.
Two things fail silently, so check both. A trigger switched on with an empty message box sends nothing at all, and it does not warn you. And a customer using the web-card fallback, with no pass installed in Apple Wallet or Google Wallet, gets no lock-screen message, so your reachable audience is always smaller than your customer count.
Every win-back send is metered like any other wallet message: 100 a month on the Free plan, 5,000 a month on Growth at 85 SAR a month or 867 SAR a year. Automated sends and broadcasts draw from the same allowance. There is no SMS anywhere in this, and no customer phone number gets handed to a third-party messaging app.
Frequently asked questions
How long should I wait before sending a win-back message?
Wait 14 days after the last visit if customers normally buy from you weekly, and 4 to 6 weeks if your repeat cycle is longer, like a barber or a salon. Waya's automatic win-back trigger uses 14 days by default and will not message the same card again for 30 days. Match the wait to your own repeat cycle rather than to a template, because a nudge that arrives before someone is actually late just reads as nagging.
Should a win-back message include a discount?
No, not at 14 or 30 days. Send a plain reminder first, then a reason to visit such as a new item or a quiet hour, and save the real offer for 60 days of silence, once a reminder has already failed twice. If a 30-day coupon works twice in a row, your regulars learn that going quiet for a month earns them money.
How many win-back messages can I send on the free plan?
The Free plan includes 100 wallet messages a month, forever, for up to 100 customers. Automatic win-back sends draw from that same 100 as your broadcasts do, so a single 48-person win-back run uses almost half your month. Growth is 85 SAR a month, or 867 SAR a year, and raises the limit to 5,000 messages a month.
Do customers need an app to receive a win-back message?
No. The message lands on the phone's lock screen through the Apple Wallet or Google Wallet pass the customer already added, so there is nothing to install and no SMS involved. Customers who are using the web card fallback instead of a real wallet pass will not get lock-screen messages, which is why your reachable audience is always smaller than your total customer count.
How do I know a win-back message actually worked?
Count a customer as won back only when they record a scan at your counter within a fixed window after the message, and count each person once no matter how many messages they got. Fourteen days is a practical window. To separate real lift from people who were returning anyway, leave part of the eligible list unmessaged as a control and compare the two return rates over a few months.