“Should our points expire?” sounds like a housekeeping question. It is actually one of the most consequential settings in your loyalty program, because it decides whether the reward you promised a regular is still there the next time they walk in. Most café owners default to “yes, expire them” because it feels tidy and responsible. For an independent café, that default is usually wrong.
This post lays out the real trade-off — what expiration actually does for you, what it costs, and how to configure it (or not) on Square — without the vendor cheerleading.
Why owners reach for expiration in the first place
There are two honest reasons a café considers expiring points, and one bad one.
The first honest reason is accounting liability. Every unredeemed point is a small promise on your books — a future free drink you owe. For a large chain, the total “breakage-adjusted liability” is a real line item that finance teams manage. Expiration caps it.
The second honest reason is stale accounts. A customer who earned 30 points three years ago and never came back is not a relationship you are nurturing. Clearing those out keeps your reporting clean and your active-member count meaningful.
The bad reason is the belief that expiration “drives urgency” and makes people rush in to redeem. In practice, for a low-value, high-frequency business like a café, a looming expiry date mostly generates irritation and a sense of a rigged game, not a spike of visits. The urgency lever that actually works is progress toward a near reward — not the threat of losing one.
What expiration actually costs you
Here is the part owners underweight. The entire point of a loyalty program is to buy repeat visits. Expiration cancels the exact reward that was supposed to trigger the next visit — and it lands hardest on the customers you most want back.
Consider the segments:
- Lapsing regulars — someone who came four times a week, then life happened and they drifted for two months. They are precisely who you want to win back, and they are sitting on a nearly-earned free drink. Expire it, and you have deleted your best re-engagement hook the moment before you needed it.
- Active regulars — they redeem constantly, so expiration never touches them. It gives you nothing here.
- Truly dormant accounts — the three-years-gone customer. Expiration cleans these up, which is fine, but they were never coming back anyway.
So a hard expiration policy does almost nothing to the group it can’t hurt (active regulars), a little good on the group that doesn’t matter (dead accounts), and real damage to the one group with the most upside (lapsing regulars). That is a bad trade.
And you may not even need it for liability relief, because breakage is already doing that job for you. Research from Bond Brand Loyalty has found roughly 30% of loyalty points go unredeemed across programs — meaning nearly a third of your liability quietly evaporates without you touching a setting. Layering aggressive expiration on top of natural breakage is solving a problem that is mostly already solved, at the cost of the visits you were chasing.
Breakage, plainly
Breakage is the share of earned points customers never redeem. A little is healthy — it means you promised rewards that not everyone collected, so your effective reward cost is lower than the sticker rate. Too much breakage is a warning sign: it usually means your reward is too far away, not that your customers are forgetful.
The healthier way to lower your reward liability is not to cancel points people earned — it is to make the first reward reachable so points cycle quickly and customers feel the program working. A reward a regular can hit in two to four weeks of normal visits keeps balances low and redemption high, which is exactly the behaviour you want. We work through the numbers in how to set your loyalty reward earn rate and what a coffee shop loyalty program actually costs.
If you must expire, use inactivity — not a calendar
There is a defensible middle path: expire points based on customer inactivity, not a fixed date.
- Hard calendar expiry — “all points reset every December 31” or “points die 12 months after they’re earned” — punishes everyone equally, including your active regulars, and feels arbitrary.
- Rolling inactivity expiry — “points expire only after 12 months with no visit” — surgically clears dead accounts while leaving every active and semi-active customer untouched. A regular’s clock resets every time they come in, so they never lose a thing.
If you want expiration for clean books, the inactivity model gives you 90% of the benefit with almost none of the goodwill cost. Twelve months of total silence is a reasonable line; anything shorter starts catching customers you could have won back. Speaking of which — expiring a lapsing customer’s points and then trying to win them back is working against yourself.
What this looks like on Square (and in a branded app)
Square Loyalty exposes point expiration as a setting, including expiring points after a defined period of inactivity rather than on a fixed calendar date. So the capability is there — the decision is yours, and the framing above is how to make it.
A few practical notes for a café:
- Default toward not expiring, or long inactivity windows. Unless you have a specific accounting reason, the goodwill and retention math favours keeping points alive.
- Whatever you choose, make it visible. The fastest way to poison a loyalty program is a customer discovering at the till that points they thought they had are gone. If points can expire, the balance and any expiry should be obvious every time they check.
- This is where an app beats a plastic punch card. A digital points balance versus a paper punch card means the customer can always see exactly where they stand, and you can remind them with a push notification before anything lapses — turning a potential frustration into a reason to visit.
That visibility is the quiet advantage of running loyalty inside a branded app rather than a card in someone’s wallet. The balance travels with the customer, updates in real time, and gives you a no-cost channel to nudge a lapsing regular before their points would ever expire — which is a far better outcome than the expiry itself.
The bottom line
For most independent cafés, the honest answer is: don’t expire points, or expire them only after a long stretch of true inactivity. Expiration’s main benefit — capping liability — is already largely handled by natural ~30% breakage, and its main cost — cancelling the reward that was supposed to bring a lapsing regular back — hits exactly the customer you most want to keep. Keep points alive, make the first reward reachable, and let visibility and reminders do the work a deadline can’t.
If you want loyalty that customers can always see and that you can nudge without paying per message, a branded app is the cleanest way to run it. Tany builds self-running loyalty into a branded iOS and Android app on your existing Square POS — $99 CAD/month per location, live in about a day — so the points, the balance, and the reminders all live where your regulars actually are.