Retail is struggling, and I'd argue loyalty programs are a bigger part of that problem than most brands want to admit.
The idea is sound: reward your best customers, keep them coming back, build something that actually feels like a relationship (bring back the sub shop punch card). But somewhere between the idea and the execution, "loyalty program" became code for "please give us your email address so we can absolutely destroy your inbox."
I spent a few hundred dollars at PetSmart last year. Food, toys, the whole thing. Racked up a small chunk of rewards points and then promptly forgot about them because, you know, life with a new puppy. Then I got an email telling me they'd expired. After 90 days. That's not a loyalty program. That's a countdown timer dressed up as one, designed to make you feel bad for not spending money fast enough. This isnt the golden parachute you think it is, PetSmart.
I actually like McDonald's, and for a long time their app was a genuinely good example of how to do this right: fair points, attainable rewards, no weird tier gymnastics. But even they've started adding expiring points lately, which is frustrating. They're still better than most, but it's a bad sign when even the brands doing it well start heading in the wrong direction. (And yes, they're absolutely harvesting your data in exchange for that free McFlurry. That's the deal. At least they're giving you something real for it.)
Most brands don't even clear that bar. They want your data, your email, your phone number, and your push notification opt-in. In return you get a digital punch card that never quite fills up and a birthday coupon with seventeen exclusions.
Customer loyalty is earned, not manufactured. A reward that doesn't evaporate, a discount that actually works, a program that makes you feel like a valued customer rather than a data point. That's what keeps people coming back. Not another email about points you're about to lose.
Do better.