Fundusze Europejskie Województwo Łódzkie Unia Europejska
Retention

Loyalty campaigns: how to tell if yours did anything

In short

A loyalty campaign is a promotion with a defined audience and time window, such as bonus points or a win-back offer. To measure its effect, set the metric and comparison before launch. Where feasible, use a randomised control group sized for the effect you need to detect, and include reward costs.

A programme defines the ongoing earning and redemption rules. A campaign changes an offer for one segment and window, such as a 21-day win-back for customers with no order in 90 days. This guide covers that campaign's cost, its comparison group and the decision after the test.

Loyalty campaigns are not loyalty programmes

A programme is standing infrastructure. A campaign is a time-boxed activation inside it, aimed at a segment, with a start date and an end date.

ProgrammeCampaign
DurationOngoing or fixed-termDefined campaign window
AudienceEveryone who joinsOne segment you choose
Where the cost landsOngoing accrualConcentrated in the window
What you measureRepeat rate, marginIncremental orders in the window
Characteristic failureMembers accrue and never redeemYou pay for purchases that were coming anyway

A campaign can pay for purchases that would have happened anyway. The comparison needs to estimate that baseline before crediting the offer with the revenue.

Loyalty campaign ideas, and what each one costs

Eight that are actually runnable, with the cost mechanism rather than a promise:

CampaignAudience filterWindowCost mechanism
Double points weekendAll active members2–3 daysPoints liability at 2× base earn
Points-expiry reactivationBalance > threshold, dormant 90 days14 daysRedemption of otherwise-broken points
Tier sprintWithin 20% of next tier30 daysBenefit costs during the new tier period
Second-order nudgeExactly one order, 21–60 days ago14 daysFixed voucher cost per conversion
90-day win-backNo order in 90 days21 daysDiscount depth × responders
Birthday rewardRolling7 daysVoucher cost × redemption rate
Referral pushMembers with ≥2 orders30 daysTwo-sided reward per completed referral
Early access to a dropTop tier48 hoursCapacity, service and opportunity cost

Early access does not require a price discount, but it can carry fulfilment, support or opportunity costs. Check inventory, eligibility and whether another promotion can be combined with it. Do not assume the reward is costless.

Why member spending alone does not measure impact

Comparing member and non-member spending describes the groups. It does not by itself measure a campaign effect, because the customers who enrol may already buy more frequently.

Here is a store where the campaign effect is exactly zero, by construction.

Hypothetical example, not client data: 1,000 customers in ten equal groups. Group n places n orders a year. AOV is 200 for everyone. Assume customers with at least three prior orders enrol, and the campaign changes no purchasing. These assumptions deliberately isolate selection into membership.

Now run a campaign that changes nobody's behaviour. Nothing. Then measure it the normal way:

Orders per customer per year, in a store where the campaign did nothing

Orders per customer per year, in a store where the campaign did nothingBar chart comparing average annual orders for loyalty members and non-members in a constructed example where the campaign has no effect. Members average 6.5 orders, non-members 1.5.024686.50orders a yearMembers1.50orders a yearNon-members
A constructed illustration, not observed data. Enrolment is the only rule in play: customers with three or more prior orders join. The campaign changes nobody, and members still buy 4.3 times more often.

Members average 6.5 orders a year against 1.5 for non-members — 4.3 times more often. Member revenue is 1,040,000 of 1,100,000 total, so 94.5% of revenue comes from members.

The spending gap is real within this model, but the campaign effect is zero by construction. The example shows why a membership comparison cannot establish incrementality on its own.

If your evidence would look identical when the campaign did nothing, it is not

evidence. It is a description of who signed up.

Selection also matters in advertising. Gordon and colleagues compared observational methods with randomised Facebook experiments and found that the estimates often differed. The study supports caution about observational comparisons; it does not establish that every non-randomised method fails in every loyalty programme.

How to run a loyalty campaign you can measure

  1. Define eligibility, the offer, the primary outcome and the observation window before assignment.
  2. Randomly assign eligible customers, with a sample size and allocation chosen for the planned analysis. Store the assignment; a stable, tested hash with a campaign-specific seed is one possible implementation.
  3. Start both groups' observation at assignment. Keep all assigned customers in the analysis, whether or not they open the message, enrol or buy.
  4. Observe long enough to include returns and possible purchase acceleration. A fixed number of purchase cycles does not prove that orders are incremental.
  5. Compare contribution per assigned customer and report uncertainty, delivery failures and any concurrent changes.

If calculating from revenue, use consistent definitions:

incremental contribution = incremental net product revenue × pre-reward contribution margin rate − incremental reward and campaign costs

Multiply revenue by the applicable margin before subtracting costs. If discounts or rewards already reduce the net revenue or margin input, do not subtract them again. Directly comparing contribution between groups is preferable when product mix or costs differ.

A matched before-and-after comparison can provide context when randomisation is infeasible. Report its selection and time-trend assumptions; it is not equivalent to a randomised experiment.

How big does the list have to be?

Large enough that the difference you care about is bigger than the noise. This is a formula, not a benchmark:

n per arm = (z(α/2) + z(β))² × [p₁(1−p₁) + p₂(1−p₂)] / (p₁ − p₂)²

The table uses a normal approximation for two independent proportions, equal groups, 80% power and two-sided α = 0.05. The multiplier is 7.849. Values are rounded up and refer to customers per group; effects are absolute percentage points, not relative percent changes.

Your 90-day repeat rateDetect +2ppDetect +5ppDetect +10pp
15%5,271903248
25%7,5471,248326
35%9,0381,468373

These are planning estimates, not guarantees of a conclusive test. A 90:10 split needs a calculation for unequal groups; it cannot be assessed by treating the smaller group as half of an equal-allocation test. Revenue or margin outcomes also need their own variance estimate rather than this repeat-rate table.

What a double-points weekend actually costs

A points multiplier changes the expected reward cost. Calculate the incremental cost relative to the reward customers would receive without the campaign.

A 2× multiplier on a 5% base earn issues 10% of basket value as points. What that costs depends on how many are redeemed:

Redemption rateEffective discount
40%4.0%
60%6.0%
80%8.0%

In this illustrative model, at 60% redemption on a basket of 200, the total expected cash-equivalent reward is 12. The baseline 5% earn would cost 6 at the same redemption rate, so the campaign adds 6. The table below subtracts the total 12 from product gross profit; it does not include payment, fulfilment or other variable costs.

Gross marginProduct gross profitAfter total rewardShare of gross profit
30%604820%
40%806815%
50%1008812%

At 30% gross margin, the total expected reward of 12 uses 20% of the product gross profit of 60. Other variable costs still have to be deducted. The incremental campaign cost is half of that total in this model because baseline points already existed.

For a simple points rule, reward threshold ÷ (AOV × earn rate) estimates the orders needed to reach a reward. A reward of 50 at a 5% earn rate on a basket of 200 takes five orders. At two orders a year, that is two and a half years, assuming no expiry, exclusions or other earning routes. Check whether that delay fits the buying cycle. Account for outstanding points according to the programme terms and applicable standards.

When to stop

Kill criteria, written before launch. Every signal here is a comparison you run, not a threshold anyone can hand you:

Signal to investigateComparison
No measurable incremental benefitContribution per assigned customer and its uncertainty across treatment and control
Possible purchase accelerationCumulative treatment–control difference through the campaign and complete follow-up
Reward threshold too distantTime to reward, point balances, redemption and expiry by cohort
Margin erosionContribution per assigned customer after rewards, alongside conversion and order value
Offer stackingCombined discount cost and contribution on overlapping promotions

Compare the expected contribution from another unit of retention spending with the alternatives, using the same horizon and an incremental cost measure. Cost per extra order and CAC per new customer describe different outcomes; comparing them directly does not establish where the budget belongs. See Loyalz retention measurement for the product workflow.

Choose the outcome using these customer retention metrics. For the wider picture of what these mechanics do to repeat purchasing, see retention measured rather than assumed. For the other side of the margin question, how to increase average order value works through what a threshold does to profit.

Common questions

What is a loyalty campaign?

A promotion with a defined start and end date, offered within a loyalty programme to eligible customers. Examples include a double-points weekend or a reactivation offer. The programme supplies the ongoing rules; the campaign temporarily changes an offer.

How do I measure a loyalty campaign?

Define eligibility and randomly assign offer and control groups before launch, with a sample sized for the planned effect. Compare contribution per assigned customer after reward costs. If starting from revenue, apply margin first and then subtract costs that were not already included.

Why can't I just compare members to non-members?

Customers who already buy more may be more likely to join. Their higher spending can therefore predate the programme. A membership comparison alone does not separate this selection effect from a change caused by the offer.

Does a double-points weekend cost anything?

Yes. In the example, a 5% base earn doubled to 10%, with 60% redemption, has a total expected cash-equivalent cost of 6% of eligible spend. The baseline cost is 3%, so the campaign adds 3 percentage points. Include delivery and administration costs separately.

My store is small. Can I still measure a campaign?

Possibly, but a small sample gives less precision. In the table above, a 15% 90-day repeat rate needs 248 customers per group to detect +10 percentage points and 5,271 to detect +2. Plan around your own baseline, target effect, allocation and power. If the sample cannot detect the effect that matters, report operational costs and redemption without claiming proven incremental growth.

KM

Karol Majewski

Founder, Loyalz

See it on your data

On a twenty-minute call we connect one ad account and one month of your orders, and work out the gap between what the platform claims and what your shop took. Profit and POAS stay blank until you enter your margin and costs per order.

Book a demo