Skip to content
WooCommerce loyalty mechanics & opsLoyalty strategy, Pricing, Margin

How to Set a Points-Per-Euro Rate That Doesn't Wreck Your Margin

An earn rate is chosen once, in a settings screen, in about thirty seconds, and then it runs on every order for as long as the program exists. That thirty-second decision is really a discount decision wearing a marketing costume: every point you hand out is a small, deferred reduction in what that order actually earned you. Setting it without doing the arithmetic first is how a loyalty program quietly becomes a margin problem.

What a points rate actually is

Points are not free. If a reward converts to a coupon worth its face value, then the earn rate times the redemption rate is, functionally, a discount rate on every order that eventually gets converted. A rate of 1 point per euro, where points redeem at roughly 100 points to €5, is a program that gives back about 5% of order value to customers who redeem, once they redeem it.

The number that matters is not the earn rate in isolation, it is what the earn rate costs once you multiply it through to an actual reward value. Skipping this step and picking a round number like “1 point per euro” because it is easy to explain is the single most common way this goes wrong.

Work the math before you set the rate

Pick your reward tiers first, then reverse-engineer the earn rate from what you are willing to give up, not the other way around.

Say you want a €5 reward to represent roughly 3% of a typical order for your store, and your average order value is €55. Three percent of €55 is €1.65 worth of goodwill per order at redemption, if every order redeemed. A €5 reward should then require roughly 300 points if you have set 1 point per euro (so €300 of cumulative spend), or you could set 3 points per euro and get there in €100 of spend, which changes how soon customers hit that first reward without changing what the reward itself costs you per euro spent.

The rate and the reward tier are two dials on the same underlying cost. Changing one without checking the other is how a store ends up giving away a €5 reward for €30 of spend by accident, an effective 16% discount, when the intent was closer to 3%.

Order total minus shipping is a deliberate protection, not a technicality

Calculating points on the order total minus shipping, rather than the full charge, matters more than it looks like it does. Shipping cost is not margin, it is a pass-through, so awarding points on it is awarding points on money that was never yours to discount in the first place. A store on flat-rate or free shipping barely notices the difference; a store with meaningful shipping costs on heavier or long-distance orders can see this matter a lot, since those orders would otherwise earn disproportionately more points relative to their actual margin contribution.

If you are comparing loyalty tools and one of them calculates on the full order total including shipping, that is not a neutral technical difference, it is a design choice that inflates the effective discount rate specifically on your highest-shipping-cost orders.

The signup bonus is the same decision, timed differently

A signup bonus behaves like the earn rate’s cousin: a fixed cost you are choosing to pay, just paid on joining rather than on spend. Run the same math. If your signup bonus is 100 points and 300 points equals a €5 reward, you are effectively subsidizing a third of the first reward before any purchase happens at all. That can be a deliberate acquisition cost worth paying, or it can be an accident nobody actually decided on. The only difference between those two outcomes is whether someone did the arithmetic.

Where campaigns compound the risk

Point multiplier campaigns (2x, 3x periods) multiply whatever margin cost the base rate already represents, on top of orders that were often already discounted to justify running a campaign in the first place. A 2x points campaign stacked on a 20%-off sale event is not “extra loyalty,” it is a temporary doubling of your effective discount rate layered onto an already-discounted order. Worth doing deliberately, for a specific reason, for a specific window. Not worth leaving switched on by habit.

The honest limit

There is no universally correct earn rate, and any article that hands you one specific number without knowing your margin, average order value, and redemption behavior is guessing. What is knowable in advance is the arithmetic: pick the reward tier you are comfortable giving away, work out what percentage of order value that represents, and set the rate to hit that percentage on purpose. Redemption rate (how many customers who earn points actually redeem them) and breakage (points earned but never redeemed) both affect the true cost of a program over time, but neither is something you can know before you run it. Set the rate deliberately, then watch what actually happens over a few months and adjust; do not treat the number you pick on day one as permanent.

For the mechanics this math assumes, order total minus shipping, rounding, and how a refund reverses an award automatically, see points and rewards on the feature page. For the broader picture of how a hosted loyalty program fits a WooCommerce store, start at the pillar page.

Ten minutes from here to points on live orders

Create an account, install the plugin, connect your store. Free up to 200 orders a month, every feature included, no credit card.

Start free
Featured onLaunched on kind-loyaltyFeatured on EasyLaunchkind loyalty - Featured on Startup Famekind loyalty on Nick LaunchesFeatured on EasyDoFollowFeatured on Findly.toolsListed on MarketingDB