Back to Blog
loyaltyexperimentationanalyticsecommerce

Loyalty Program A/B Testing: Does It Actually Lift Revenue? (Simply Explained)

A plain-language guide to loyalty program A/B testing. No jargon, no tech speak, just what it means for your business.

By Mike Hodgen

Want the full technical deep dive? Read the detailed version

I Ran a Loyalty Program for Months Without Knowing If It Made Me a Dollar

Members were earning points. Rewards were going out. The dashboard showed loyalty members spending way more than everyone else, and I almost let that settle it.

But one question kept nagging me. Am I actually making money here? Or am I just handing discounts to people who would have bought from me anyway?

That question is the whole ballgame. And most brands never ask it.

Here's the trap. Your loyalty software shows you "members spend 2x more" with a straight face. That number feels like proof. It isn't. It just tells you who your best customers already are. It doesn't tell you whether the program changed anything.

Why "Members Spend More" Fools Almost Everyone

Think about who signs up for a loyalty program. Your favorite customers. The people who already love you and already plan to come back.

So of course members spend more. They were big spenders before they ever clicked "join." The program didn't create that. It just slapped a label on it.

This one mistake poisons nearly every loyalty stat I've ever seen. The only number that actually matters is what I call new revenue. The dollars that exist because the program exists, and not a penny more.

Let me show you the math.

Say members generate $100,000 in a quarter. The dashboard throws a party. But suppose 85% of that money would have come in anyway, because those folks were already loyal. The program only caused $15,000 of genuinely new spending.

Now subtract what you gave away. If you handed out $18,000 in points and discounts to earn that $15,000, your program is losing you $3,000. The dashboard says hero. The real math says liability.

I've watched brands point proudly at a glowing loyalty dashboard while quietly bleeding margin. They had no idea, because nobody ran the real number.

So I Built a Way to Actually Measure It

The only honest way to know if a program works is to run an experiment. Think of it like a taste test.

I split incoming shoppers into two groups, randomly. One group sees the full loyalty experience: the points, the rewards, the messaging. The other group sees none of it. Same store, same products, same prices. The only difference is whether loyalty exists for them.

Now I have a clean comparison. If the loyalty group spends more than the no-loyalty group, that gap is real. That's money the program actually created. No fooling myself, because the groups were picked at random instead of self-selected by my best customers.

The tricky part isn't splitting people up. It's making the label stick.

When someone first lands on the site, I tag them with which group they're in. But people don't buy right away. They close the tab. They come back three days later on their phone. If that tag disappears before they check out, the whole experiment is worthless.

So I built it so the tag travels with the shopper all the way through. It rides along until it gets stamped directly onto the final order. When that order is paid, I can read the tag and know for certain which group the money came from. No guessing.

Measuring It Without Breaking the Store

Here's a cruel little irony. The act of measuring a store can slow the store down, which hurts the exact sales you're trying to measure.

A clumsy tracking setup makes the page wait while it phones home. Add a fraction of a second of delay here and there, and you've quietly hurt checkout. Your measurement tool ends up poisoning its own results.

I refused to let that happen. My tracking hands off the data and gets out of the way instantly. The page never waits. Checkout never stalls. My hard rule was zero slowdown for shoppers, and I hit it.

I also don't trust the shopper's browser to tell me about money. Ad blockers eat tracking signals. Privacy tools wipe them out. Tabs get abandoned halfway through checkout. If I counted revenue based on browser signals, my numbers would be wrong in ways I'd never catch.

So I let the payment system itself confirm every sale, after the charge actually goes through. There's no ad blocker on that. The sale either happened or it didn't. That's where I count the money. The browser handles the soft stuff like "did this person see the loyalty offer." The payment system handles the dollars.

I learned this the hard way across other systems I've built. Tracking fails silently all the time. A dashboard shows zeros while everything looks fine. I treat missing data as a red flag, not a rounding error.

The One Number That Ends the Argument

Once the data is clean, my dashboard answers the question with a handful of numbers, and one of them settles everything.

I track how many people in each group actually bought, how much they spent when they did, and the total each group brought in. These can surprise you. A loyalty program can push people to buy more (to hit a reward) while also adding friction that scares some away. You can't read any single number alone and know the truth.

The number that ends the debate is the lift. It's simply the loyalty group's revenue minus the no-loyalty group's revenue. Positive lift means the program is making you real money. Flat or negative means you've been giving away margin and calling it a win.

That's your loyalty payoff in one honest figure, finally based on cause and effect instead of wishful thinking.

A couple of honest warnings. You need real traffic, or the groups stay too small to mean anything. And you need patience. A three-day spike is usually just noise. I'd rather wait two weeks for a number I can trust than act on a flashy five-day blip.

This also won't catch everything. The customer who comes back four months later because of points they banked today is hard to fully measure. This proves the short-to-medium-term payoff cleanly. The long tail still takes judgment.

What I'd Tell You Before You Trust Your Own Numbers

A loyalty program you can't measure is a faith-based expense. You're paying for it on the hope that it works, with a dashboard built to make you feel good rather than tell you the truth.

The fix isn't a fancier rewards tier. It's honest measurement. Split your traffic, tag it, confirm the money through the payment system, and read the lift over a window long enough to trust.

This is the instinct I bring to everything I build, not just loyalty. My pricing system, my product line, my content operation. Prove it works before you trust it.

If you're paying for a program, any program, without knowing if it actually works, you're flying blind on a real expense. That's fixable. The hard part was never the rewards. It's the measurement layer that tells you the truth.

Want to explore what AI could do for your business?

Book a free 30-minute strategy call. No pitch deck, no sales team, just a real conversation about your operations and where AI fits.

Book a Discovery Call

Get AI insights for business leaders

Practical AI strategy from someone who built the systems — not just studied them. No spam, no fluff.

Ready to automate your growth?

Book a free 30-minute strategy call with Hodgen.AI.

Book a Strategy Call