Playbook · Store credit5 parts · 18 chapters

Store credit masterclass

The strategy that replaces discount codes, and the maths behind why it makes you more money.

If your brand relies on discount codes to get customers to buy again, you are giving away margin you never needed to. A code buys one order. It does not build loyalty, and for a brand doing $1M+ a year it gets expensive fast.

This playbook sets out the store credit model that brands are moving to: capture the first order at full price, pay the reward only when the customer comes back, remind them what they have waiting, and expire it on day 60. Then it works through profit per order, the true cost of 5% and 10% back, the break-even and the P&L, so you can set a reward rate that pays for itself.

About the author
Kris

Kris

Co-Founder

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!

Part 1

Why discounts don't build loyalty

Chapter 1

Why discount codes don't create loyalty

The issue most brands have is that first-time buyers never come back. We all know most of the money is made from repeat purchases, and that acquiring a customer costs a lot more than retaining one you already have. So brands reach for the obvious tool: a winback code, or a second-purchase code, at 10% or 20% off.

A discount code doesn't create loyalty. It gives a customer a reason to purchase in the moment. That is a different thing, and it comes with two problems.

You discount customers who were going to buy anyway

A winback code goes to everyone in the segment in the hope of a second order. The people who were already going to reorder get it too, so you eat margin on revenue you were going to receive regardless.

You train customers to wait

If a winback discount lands a set number of days after every order, customers learn the rhythm. They start to see you as a discount brand and wait for the campaign before they buy. Stop sending it and purchasing can simply stop with it, because the rate they are used to has gone.

Past $1M a year, customer acquisition cost starts to climb and retention becomes at least as important as acquisition. Growing brands often ask why they should change anything if they are doing fine. It is a fair question. The answer is that almost nobody has worked out what their existing process is actually costing them, which is what part 4 does.

Chapter 2

The discount stack most brands are running

When we start working with a brand at Mage, this is usually what they are running: a welcome offer, a cart recovery code at a slightly higher rate, a winback that reminds the customer of that same code, and partner codes for influencer campaigns.

The default discount stack
  1. Welcome offer10% offPops up on the first visit, before the first order.Paid up front
  2. Cart recovery15% offAdded to basket, reached checkout, didn't buy.Paid up front
  3. Winback campaign15% offX days after the cart recovery email was ignored. Reminds them of the same 15%.Paid up front
  4. Influencer codePartner rateHanded out by creators so their followers get money off.Paid up front
Any of these can be used on an order the customer would have placed at full price.

The problem all four share is that they are paid up front. The code gets used on an order that might have happened anyway, so the brand gives the discount before it knows whether the order needed one. That is the whole cost structure the store credit model is designed to flip.

Chapter 3

Store credit: you only pay when they come back

Store credit is only paid out when the customer actually comes back. You capture the purchase at full price, and the value is given on the repeat order rather than front-loaded on the first.

That is the key point: there is a way to reward customers where you only pay when the customer comes back. A discount captures one order and the journey ends. Store credit captures the first order at full price and gives the customer a reason for the next one. We come back to exactly how that loop works in chapter 6.

Part 2

Why points are losing ground

Chapter 4

1,000 points vs $10 in store credit

The other thing brands do, instead of the welcome and winback stack, is throw up a points program: points on sign-up, points back on every purchase. It has worked for ten or fifteen years, on Shopify and well beyond it, with credit cards, gyms and coffee shops. It is the loyalty currency most brands default to. And it has a problem.

The same email, two ways
“You have 1,000 points.”
Worth$1,000? $10? Nothing?The customer has to go and find out. Most never do.
“You have $10 in store credit.”
Worth$10. Today.They know what they have, what it buys and what they lose if it expires.
A reward a person cannot put a value on does not change their behaviour.

Ask yourself which of those two messages is clearer. 1,000 points means nothing at face value. You don't know what it is worth and neither do we. Customers hold balances with several programs, each with a different value per point. With one brand 1,000 points could be $1,000; with another, $10. An email that says “you have 1,000 points” gives them no reason to come back and makes them do the work of finding out what they have.

The alternative brands are moving to is store credit at an underlying value. The points had a worth all along, so show that worth in currency. “You have $10 in store credit” tells the customer immediately how much they have, what they can redeem and what they will get off.

A reward a person cannot assign a value to does not influence their behaviour. To change how a customer buys, they need to be able to tie a value to the reward so they know exactly what they have got.

Chapter 5

High breakage is not a saving

What we see with points programs at Mage is that a lot of customers sit on points completely unredeemed, because they have no idea what they are worth. They never think to check. To them, 1,000 points might be worth nothing, not even their time.

In our industry, points that are never redeemed are called breakage. Some brands look at high breakage and think: great, customers aren't converting points into discounts, so the program is costing me less. But high breakage is not a saving. It is proof that the retention program isn't working. If nobody redeems, nobody came back because of it.

Part 3

The store credit journey

Chapter 6

Why store credit drives the next order, every time

So the solution is not discounts and not points. It is store credit: a value customers understand at face value, which reads well in email and SMS. “Hey John, you've got $5 waiting in your account” gets a far better response than “Hey John, you've got 50 points.” The easiest way to see why it works is to put the two journeys side by side.

Discount code journey
Send a code
Customer orders
Journey ends
Store credit journey
Order at full price
Credit approved X days later
“You have $5 waiting”
Next order
…earns credit again. Repeat for order 3, 4, 100.
Tie the credit rate to VIP tiers and the loop accelerates: 5% back to start, 10% once a customer passes $1,000 in a year, higher still if margin on AOV allows.

With a discount, you send the code, the customer orders, and the journey is complete. The code captured the purchase and that is the end of it.

With store credit, the customer places the first order, and some days after it is placed the credit is approved. They get an email: you have $5 in store credit waiting. Now they have a reason to come back and place another order. And when they do, the same cycle repeats. Every order earns a balance, the balance sits in their account, and it incentivises the next purchase.

They are not trained to wait for a code to fire. They are building a loyalty balance and earning credit directly with your brand. Then you can go further and tie the credit rate into VIP tiers, so orders start circling into VIP status and the rate climbs with it: say 5% back to start, 10% once a customer passes $1,000 in a year, and higher if your margin on AOV permits. The result is a journey built to win the customer back from the first order through the second, the third and the hundredth. A discount secures one order. Store credit gives a reason for the next one, every time, and it never associates you with being a discount brand.

Chapter 7

The 60-day store credit journey after the first order

Store credit on its own doesn't bring customers back. The remarketing does. The credit needs to be tied into the journey and into the brand messaging so the customer always knows what they have and where they stand. Here is what should happen on a Shopify store after the first order.

After the first order, if they haven't bought again
  1. Day 0First order, full price.
  2. Days later“You've earned $5 in store credit on this purchase.”
  3. Day 25“You've got $5 waiting” plus your top picks.
  4. Day 53“Your credit expires on Friday.”
  5. Day 58“48 hours left.”
  6. Day 59“24 hours left.” Optional, if you want to push hard.
  7. Day 60Credit expires. Enforce it.
Every message is about their money with your brand, not about your sale. Retargeting ads carry the same message between the emails.
  1. Day 0. The customer places their first order. Within a few days they are told they have earned $5 in store credit on it.
  2. Day 25. If they still haven't bought, reinforce the balance: you have $5 waiting, plus our top picks. Brands surface top picks one of two ways. Either farm the order data for the most popular products in the last three months, or go back to the first order and show the products most often bought second alongside it. Store-wide or tailored to the customer, whichever fits your catalogue.
  3. Day 53. Expiry notice. This credit expires on Friday; come back and spend it or lose it. When someone feels they have a balance, they want to spend it rather than lose it. Tell a customer 1,000 points are expiring and they shrug, because they don't know what they are losing. Tell them $10 is expiring and the winback chance is far higher.
  4. Day 58. Final notice, 48 hours left.
  5. Day 59. A 24-hour notice, if you want to push hard.
  6. Day 60. The credit expires.

The expiry matters. What you don't want is to be the brand that says “actually, we've extended your store credit,” because then you are training customers that balances never really expire, which is the discount-brand problem in a new coat. When a balance expires, enforce it. It is good for the program in the long run.

Chapter 8

Retarget store credit balances on Meta and Google

This is the key play, and where the money is made. Big brands are using their loyalty data to drive their Meta and Google ads. Segment the customers who hold a given amount of store credit and retarget them with copy like “Got store credit? Use it. Don't lose it.”

Pull the segment, target it on Meta, on Google, wherever you advertise. Those customers are already getting the balance emails and SMS; now they are seeing ads reinforcing the same message. This is how you get the purchase at day 25, day 30 or day 53 instead of letting the customer drift to day 60. The whole point is reinforcement at every possible stage.

Run all of it, the retargeting with the right messaging, the popular products, the expiry notices, the ads, and you are ahead of 99% of brands, because most brands are not using their data to their advantage.

Notice that every message in the cycle is about the customer's money with your brand, not about your sale. “$10 off everything” never sounds as good as “you have $10, just for you, to spend on anything.” It feels exclusive and individual, and it performs better.

Part 4

The maths

Chapter 9

What a loyalty reward actually costs

Most stores look at a $5 reward and think it costs $5 of margin. That can be true, but it is the wrong way to think about it.

If the customer was going to place their second order anyway, then yes, that $5 is close to a real $5 cost. But if the $5 is what brought them back, it is a different calculation entirely, because the customer is now placing an order they otherwise wouldn't have. You have spent $5 to generate an additional order. Set that against $20, $40 or $50 of ad clicks to acquire one new customer, and it is clear which is the better use of the money.

That is the goal of the whole strategy: make the credit the reason the customer came back, rather than blindly giving away discounts on orders that were already going to happen. Optimise that and profitability climbs.

Earn on order one, spend on order two

It is why we make store credit earnable on the first order. Capture the first order at full price, then give the value on the second. Rather than discounting every order, welcome, cart, winback and all, you give away margin only on the order that wouldn't have happened without it.

Chapter 10

Profit per order: contribution margin, not gross margin

Giving customers 10% back is roughly a fifth of the profit on every order. That is either one of the most profitable things you can do or a slow leak you never notice. Working out which starts with a simple calculation: profit per order.

Where an $80 order goesAOV $80
  • 25%Product
  • 30%Shipping, packaging, handling, fees
  • $36 · 45%Profit per order
Gross margin would put this order at around $60, because it only takes off the cost of goods. Contribution margin, $36, is what you actually keep. The split between product and other costs is illustrative.

Take an $80 order (run the same sum on your own AOV). Assume a contribution margin of 45%, which accounts for product cost, shipping, handling, packaging and fees. That leaves a profit per order of $36. $80 in, $36 kept.

Most brands think in gross margin. On this order, gross margin would say about $60, because it only takes off the cost of goods and ignores everything else around the order. Contribution margin lands at $36, which is the more honest number because it is what actually ends up in your pocket.

Average order value$80
Add up every cost on the orderProduct, shipping, packaging, handling, payment fees: $44
Profit per order$80 − $44 = $36
Contribution margin$36 ÷ $80 = 45%

Once you have the contribution margin and the profit per order, the same logic applies to credit and to discounts alike: take the rate you are giving and work out what it actually costs you.

Chapter 11

The true cost of 5% and 10% back

A brand giving 5% back on an $80 order is giving $4. Measured against the AOV, that is 5%. Measured against the $36 you actually keep, it is around 11%. The credit, or the discount, costs you 11% of profit.

5% backCosts $4
11%
10% backCosts $8
22%
The reward is a percentage of the order. The cost is a percentage of the profit. Copying a competitor's 10% without this step is how the slow leak starts.

Scale it to 10% back and the credit is $8, which is 22% of profit. This is why choosing a discount or credit rate blindly matters so much. The common mistake is to look at the competitor down the road giving 10% and copy it, without realising that 10% back is not 10% off. It is 22% of the profit on every order.

None of this says a higher rate is wrong. The point is to understand how the rate ties back to profit per order, so you can set an effective credit rate or discount rate rather than an arbitrary one. At Mage we crunch these numbers with every brand we onboard and build the reward and redemption strategy from them.

Chapter 12

How many customers need to come back for credit to pay for itself

Once you know what a reward costs, the question is no longer “can I afford 5% or 10%?” It is “how many customers need to come back for this to pay for itself?”

How many customers need to come back
No credit
New customers
100
Return anyway
25
Profit per returning order
$36
Profit from repeats
$900
5% credit back
Credit to the 25 who were coming back
$4 × 25 = $100
Profit from each extra customer
$36 − $4 = $32
Extra customers to cover the $100
$100 ÷ $32 ≈ 3
Returning customers to break even
28
At 30 returning customers: 30 × $32 = $960, which is $60 more profit than running nothing.+6 to 7%

Start with no credit. 100 new customers, 25 of whom return anyway, each returning order worth $36 of profit. That is $900 from repeats.

Now give everyone 5% back as store credit, about $4 on a $36 profit. The 25 who were coming back regardless get it too, which costs $100. But every extra customer you win on top makes $32: the $36 order minus the $4 credit. $100 divided by $32 is about three. Three extra customers pay for the credit in its entirety, so you need 28 returning customers instead of the usual 25.

And once you know the extra needed, you can work out how much more profit the model makes than running nothing. At 30 returning customers you have made $960 against $900 without a winback model: $60 more, roughly 6 to 7% more effective. That is where credit on every order starts to make you money instead of costing it.

It all depends on how many extra customers the model generates versus how many repeats you got anyway, which is a repeat purchase rate uplift you can measure. The numbers plug into anything: take it to a 10% reward and double them. The effective strategy is not picking 5% or 10% blindly. It is estimating the uplift you can get, then setting the rate so the model is profitable at that uplift.

Chapter 13

The P&L impact of store credit vs discount codes

Now the part accountants and finance teams like: the P&L view. Take a brand doing $1M a year.

A brand doing $1M a year
15% discount codeUsed on 30% of orders
4.5% · $45,000
Paid up front, on every order it touches
5% store credit60% of it redeemed
3% · $30,000
Paid only when a customer comes back
Discount and redemption rates are the video's worked example. Run it with your own.

Run a 15% discount code and say 30% of orders use it. That is around 4.5% of revenue, $45,000, and you pay it up front across all of those orders.

Run a store credit model instead, 5% back on every purchase, with a 60% redemption rate on the credit. That works out at around 3% of revenue, $30,000, and it is only paid when a customer actually comes back. One is paid up front. The other only ever covers a repeat purchase.

This is why many brands don't realise their retention program is just an expensive discount costing them revenue, rather than a strategy that builds repeat purchase and loyalty. A credit-back model also doesn't stop at the second order. It incentivises every purchase, so a customer on their thousandth order is still being correctly incentivised. Flat discounts to everyone only ever buy the purchase in front of you.

Part 5

Protect the margin and tune the program

Chapter 14

How to protect your margins

Structure the program properly and the margin holds. Credit is earned on the first order and only spendable on the second. There are a few more levers on top of that.

  • Minimum spend on redemption. A customer with $50 of credit can be required to spend at least $100 to use it.
  • Cut the discount codes to pay for it. If you have been giving 20% off the first order and you move to 10% back in store credit, cut the welcome offer to 10%. Align the discounts to what you are giving back as credit.
  • Or drop flat percentage discounts entirely and move purely to a store credit model.
Chapter 15

When store credit should expire

Once the margin is aligned, make sure the credit expires. The aim is urgency. If credit never expires there is no reason to use it now; the customer can wait until next year, their birthday or gifting season. But set the deadline too short and it starts to feel like a trick. You don't have to guess. Your order data tells you where to put it.

When second orders happen, and when the credit runs outPeak: day 45Expires: day 60Day 0Day 30Day 60Day 90Reminders 53 · 58 · 59
Industry-standard timing. A gifting brand will sit later; skincare and other replenishables sit close to this. Your own order data tells you where your peak is.

On standard industry data, second orders peak around day 45. One strategy is a 60-day expiry: the customer earns the credit on the first order and has until day 60 to spend it. Around the average repeat window, they are two weeks from losing it, which is exactly when you want the push. If they haven't bought by day 45, the chance of a repeat starts to fall, so that is where the reminders go: day 53, then a final notice around day 58 with 48 hours left, or day 59 with 24, until it expires on day 60 and the customer has to make another full-price purchase to earn credit again.

Adjust it to how your customers buy. A gifting brand should expire later, because nobody buys gifts every 60 days and a short window will just burn balances. Cosmetics and skincare, which replenish, sit close to these numbers. The rule is to set the deadline around the window in which most customers are already deciding whether to come back, and that is usually around day 45.

Chapter 16

A/B test store credit against what you run today

Larger brands have enough data to split test, and it is the cleanest way to prove the model. Give one group of customers the store credit offer and another group either no offer or your standard welcome offer.

  1. Run both groups for 60 days and collect the order data.
  2. Compare repeat purchase rate: what percentage of each group came back and bought again.
  3. If the store credit group wins, roll it out. Then test credit amounts, messaging and segments the same way.

Beyond the headline test you can split different credit amounts across different customers, test the remarketing copy and test segmentation. There are plenty of ways to optimise the strategy for your brand once the basic model is in.

Chapter 17

Why store credit works so well on SMS

Customers are hypersensitive to SMS. Spam them with sale launches and generic blasts and they unsubscribe. Message them about their own account, their profile with your brand and the $10 they have earned, and they respond: click-through and purchase conversion are both strong.

Store credit opens up a better angle for SMS. Instead of generic marketing that annoys customers, raises unsubscribes and damages your open rates, you are sending something useful that the customer wants to engage with, because it is about their money.

Chapter 18

Repeat customers without discounting everyone

Discounts pay up front on orders you were going to capture anyway. Store credit pays only on the second or repeat purchase. That is the whole difference, and it is how you get customers coming back without flat-discounting everyone.

  • Capture the first order at full price. Earn credit on order one, spend it on order two.
  • Show the reward as money, not points, so customers know what they have.
  • Run the 60-day journey: balance notice, day 25 reminder with top picks, day 53 expiry notice, final notices, then enforce the expiry.
  • Retarget balance holders on Meta and Google with the same message.
  • Work out profit per order on contribution margin, cost the reward against that profit, then find the break-even and the P&L impact.
  • Protect margin with minimum spends and by cutting the discount codes the credit replaces.
  • Set expiry from your order data, around the day 45 peak, and A/B test the model against what you run today.

All that is left is to work out what you can afford, how much value to give back, and then to remind people how much they have waiting. Mage powers store credit for a number of eight and nine figure Shopify brands, and we help with the full strategy, the numbers and the deployment. If you are with a provider that doesn't support store credit, we migrate you over free of charge, with no downtime, and work out how to convert your current points rate into a credit rate.

Merchants Love Mage

Built for merchants.
Loved by customers.
Powered by loyalty.

Book a call with our team
Shawn Norris

Shawn Norris

Founder, West Coast Goalkeeping

“Cannot say enough good things about the team at Mage Loyalty, one of the absolute best organizations we have ever worked with, full stop! Completely rebuilt our loyalty program, new concepts, use of loyalty, increasing user engagement, showing us where we were not valuing our best customers, just WOW, amazing team!”
West Coast Goalkeeping
Sashee

Sashee

Founder, Teadrops

“We are really happy with working with the Mage team and getting the loyalty program up and running. They are very responsible and professional. The upsell features are already helping with adoption!”
Teadrops
Andrew Puddifoot

Andrew Puddifoot

SVP of Ecommerce, MiaDonna

“Mage Loyalty is hands-down the best loyalty platform on Shopify, and the team behind it is just as exceptional as the product. When we needed customizations specific to our business, the Mage team worked directly with us to make it happen. And the wishlist feature deserves its own callout: it's the best we've come across, period.”
MiaDonna