
Your loyalty reward rate is the percentage of each order you give back to the customer, as store credit, cashback or points. Most Shopify brands pick it by looking at what a competitor offers. That is how a 10% reward quietly turns into 22% of the profit on every order.
Short answer: calculate profit per order on your contribution margin, not your gross margin. Divide the reward by that profit to get its true cost. Then work out how many extra repeat customers cover the reward given to customers who were coming back anyway. Set the rate so the uplift you can realistically expect clears that break-even.
This post walks the full calculation with the worked example from our Store Credit Masterclass. Swap in your own AOV and margin and it works for any reward model, and for discount codes too.
Why "10% back" is not 10% off
A reward is quoted as a percentage of the order. The cost lands on the profit from that order, which is a much smaller number.
Say your average order is $80 and you give 10% back. The customer sees $8. You see $8 taken off whatever was left after product, shipping, packaging, handling and payment fees. If that was $36, the reward just took 22% of it.
That is the whole problem with copying a competitor's rate. You can see their percentage. You cannot see their margin. A 10% reward might be comfortable for a brand on a 60% contribution margin and a slow leak for a brand on 35%.
There is a second mistake that compounds the first. Brands look at a $5 reward and think it costs $5. It only costs $5 if the customer was going to come back anyway. If the $5 is what brought them back, you spent $5 to generate an order that would not otherwise have happened, which is a very different calculation from a $40 ad click to acquire a new customer. The discounts vs points margin comparison covers why this matters for discount codes specifically.
Step 1: calculate profit per order on contribution margin
Start with your average order value. Then add up every cost that sits on an order:
- Product cost
- Shipping and handling
- Packaging
- Payment processing and app fees
Subtract the total from AOV. What is left is your profit per order, and that divided by AOV is your contribution margin.
| Step | Worked example |
|---|---|
| Average order value | $80 |
| All costs on the order | $44 |
| Profit per order | $80 − $44 = $36 |
| Contribution margin | $36 ÷ $80 = 45% |
Most brands think in gross margin, which only takes cost of goods off the order. On the same $80 order gross margin would say about $60. That number is not wrong, but it is not what you keep, and a reward costed against it will look cheaper than it is. If you want benchmarks for where your margin should sit, the average ecommerce profit margins by niche post has gross, contribution and net figures for 2026, and the profit margin calculator will do the arithmetic.
Step 2: cost the reward against profit, not AOV
Now take the reward rate you are considering, turn it into dollars on your AOV, and divide by profit per order.
| Reward rate | On an $80 order | Share of the $36 profit |
|---|---|---|
| 5% back | $4 | 11% |
| 10% back | $8 | 22% |
| 15% back | $12 | 33% |
This is the number to put in front of whoever signs off the program. A 5% store credit rate costs 11% of profit on the orders where it is redeemed. A 10% rate costs 22%. Neither is automatically wrong, but you should know which one you are choosing.
The same formula applies to any discount code. A 15% welcome offer on the same order is $12, or a third of the profit, and it is paid up front on every order that uses it, whether or not the customer needed it to buy.
Step 3: find the break-even in repeat customers
Knowing the cost tells you what you can afford. It does not tell you whether the reward makes money. For that you need to know how many extra customers it has to bring back.
Take 100 new customers. Without any reward, say 25 of them come back on their own. At $36 of profit per returning order, that is $900.
Now give everyone 5% back as store credit, $4 on the $36 profit.
| No reward | 5% store credit | |
|---|---|---|
| New customers | 100 | 100 |
| Return anyway | 25 | 25 |
| Reward paid to those 25 | $0 | $4 × 25 = $100 |
| Profit from each extra returning customer | n/a | $36 − $4 = $32 |
| Extra customers needed to cover the $100 | n/a | $100 ÷ $32 ≈ 3 |
| Returning customers to break even | 25 | 28 |
Three extra repeat customers out of 100 pay for the entire program. At 30 returning customers you have made $960 against $900 with no reward, which is $60 more profit, or roughly 6 to 7% more effective than running nothing.
The question to ask is not "can I afford 5%?" It is "can I get three more customers in a hundred to come back because of it?" For most brands running a store credit journey with reminders and expiry, that is a low bar. Your repeat purchase rate before and after is how you check.
To test a 10% rate, double the reward column. The break-even moves to roughly six extra customers, and you decide whether the higher rate is likely to produce that uplift. The loyalty ROI calculator runs this with your own numbers.
Step 4: check the P&L view
Finance teams want it as a share of revenue, so finish there. Take a brand doing $1M a year.
| Model | Rate | Usage | Share of revenue | Cost | When it is paid |
|---|---|---|---|---|---|
| Discount code | 15% off | 30% of orders | 4.5% | $45,000 | Up front, on every order it touches |
| Store credit | 5% back | 60% redeemed | 3% | $30,000 | Only when the customer comes back |
The discount is cheaper per order and more expensive overall, because it is paid on orders that would have happened at full price. The store credit costs less and every dollar of it is attached to a repeat purchase. Many brands discover at this step that their retention program is an expensive discount, not a retention strategy.
How to choose the rate once you have the numbers
- Start from the uplift, not the percentage. Estimate how many extra customers in a hundred the reward will bring back, then set the highest rate that stays profitable at that uplift.
- Earn on order one, spend on order two. Store credit earned on the first order and redeemable on the second means the full-price purchase is captured before any margin is given away. This is the core of the store credit vs discount code model.
- Pay for it by cutting codes. If you move to 10% back as credit, drop the 20% welcome offer to 10%, or remove flat discounts altogether. A customer should not get both.
- Add a minimum spend on redemption. $50 of credit can require a $100 order.
- Scale the rate by tier, not across the board. 5% for everyone and 10% for customers past $1,000 a year costs far less than 10% for everyone and rewards the people who earned it. See how to design VIP tiers that drive repeat purchases.
- Expire the credit. Unredeemed balances are not a saving, they are proof the reward did not work. Set expiry around your repeat purchase peak, usually about day 45, with a 60-day window.
The Shopify loyalty program growing brands trust
See how Mage helps Shopify brands lift repeat purchase rate with loyalty, referrals and store credit.
Book a demoPoints programs: the same maths, with one extra problem
Everything above applies to points. Convert the points to their cash value and run the steps. The extra problem is that customers cannot do that conversion in their head, so 1,000 points does not change behaviour the way $10 does. If you are moving from points to credit, the points to store credit migration guide covers how to convert existing balances at a rate you set, and Mage handles the migration for brands on the Shopify loyalty program plan at no charge.
“I looked into so many different integrations for loyalty and referrals for our Shopify Store, but no one impressed me more than Mage on human connection, customer service, and value.”


Read the Reelie case study →
Frequently asked questions
What is a good loyalty reward rate for a Shopify store?
It depends on contribution margin. At a 45% margin, 5% back costs about 11% of profit per redeemed order and breaks even at three extra repeat customers in a hundred. Brands with margins above 50% can usually support 10%. Brands under 35% should start at 3% to 5% and scale by tier.
Should I calculate the reward on gross margin or contribution margin?
Contribution margin. Gross margin only removes cost of goods and makes every reward look cheaper than it is. Contribution margin removes shipping, packaging, handling and fees as well, which is what you actually keep from the order.
How do I know the reward caused the repeat purchase?
A/B test it. Give one group of new customers the store credit offer and another group your current offer or nothing, run both for 60 days and compare repeat purchase rate. The difference is the uplift to plug into the break-even.
Does a higher reward rate always bring more customers back?
No. Past a point the reward is cutting into profit without changing behaviour, especially if customers cannot see its value. A clearly shown $5 in store credit with a reminder and an expiry date usually outperforms a larger reward shown as points.
Is store credit cheaper than a discount code?
Usually, because it is only paid when a customer returns. In the worked example a 15% code used on 30% of orders costs 4.5% of revenue up front, while 5% store credit with 60% redemption costs 3% of revenue and every dollar is tied to a repeat order.
Kris is the co-founder of Mage Loyalty. I spend most days talking to merchants, and making sure our customers get real results. If you run a Shopify store or Agency we should chat!
















