The Real Cost of a 10% Off Code (And What to Offer Instead)

The real cost of a 10% off code is not 10%. It is a share of your net margin, and on most Shopify catalogues that share lands somewhere near a third. Percentage discounts get quoted against revenue because revenue is the number everyone can see, but margin is the number that pays your salary.
Below is the arithmetic, with stated assumptions you can swap for your own, followed by four alternatives that buy the same perceived value for a fraction of the profit.
What a 10% Off Code Actually Costs You
Two assumptions, both easy to replace with your real figures: an order value of $120, and a 30% gross margin (product revenue minus cost of goods, before ads, shipping and overhead).
| Full price | With 10% off | |
|---|---|---|
| Revenue | $120.00 | $108.00 |
| Cost of goods | $84.00 | $84.00 |
| Gross profit | $36.00 | $24.00 |
The discount is $12. Your cost of goods did not move by a cent, so the entire $12 comes straight out of the $36. You gave away a third of the profit on that order for a 10% headline. (Payment processing fees drop by about 35 cents in your favour, which does not change the shape of the problem.)
Now scale it. A hundred orders that used to produce $3,600 in gross profit produce $2,400 once the code is live. Getting back to $3,600 at $24 per order takes 150 orders. The code has to lift volume by 50% just to break even.
The Rule of Thumb: Divide the Discount by the Margin
Discount percentage divided by gross margin percentage gives you the share of profit you are handing over. Ten divided by thirty is 33%. That single division works for any pair of numbers you plug into it. Here is the same 10% off code across different margin profiles, still on a $120 order:
| Gross margin | Profit at full price | Profit after 10% off | Share of profit given away | Volume lift needed to break even |
|---|---|---|---|---|
| 20% | $24.00 | $12.00 | 50% | +100% |
| 30% | $36.00 | $24.00 | 33% | +50% |
| 40% | $48.00 | $36.00 | 25% | +33% |
| 50% | $60.00 | $48.00 | 20% | +25% |
| 60% | $72.00 | $60.00 | 17% | +20% |
Two things fall out of this table. First, thin-margin catalogues cannot really afford percentage discounts at all: at 20% margin, a routine 10% off code halves your profit and needs to double your order count to stand still.
Second, sit with that last column. A 50% volume lift from a sitewide 10% code is not a realistic outcome, which means most codes lose money and get filed as a success because revenue went up.
The Costs That Do Not Show Up in Your Discount Report
The arithmetic above is the visible cost. Three more sit underneath it.
Shoppers who were going to buy anyway
Your discount report tells you how much revenue carried a code. It cannot tell you which of those orders would have happened at full price, and research suggests that number is large.
A Tuck School of Business field experiment with a US apparel retailer randomly assigned emailed promo codes to some customers and not others. Measured inside the promotion window, ROI came out between 134% and 315%. Once the researchers accounted for purchase acceleration - shoppers buying sooner than they otherwise would have, rather than buying at all - the range fell to between 43% and 214%.
Pulling revenue forward does help cash flow. But it is not new revenue, and if you budget as though it is, the gap shows up a quarter later.
Codes leak
A code is a string of text, and strings of text travel: to aggregator sites, into browser extensions, through group chats. The shopper who arrived through your own ad and filled a full-price cart gets a popup at checkout offering the code they were never meant to see. You pay a discount on an order that was already yours.
The empty code field does damage too. It is a visible cue that a better price exists somewhere, and some shoppers open a new tab to find it. An automatically applied discount with no code to type removes both problems at once.
The cost grows with the cart
A 10% code on a $120 order costs $12. On a $250 order it costs $25, so your best customers are the ones you subsidise most heavily.
Every sale also teaches repeat buyers what your prices really are. Run codes often enough and the full price becomes the fictional price, the one nobody pays because waiting two weeks is cheaper. The margin comparison between gifts and discount codes goes deeper on that trade-off.
What to Offer Instead
The goal is not to stop giving shoppers a reason to buy, but to give them one that costs less than a third of your profit. Roughly in order of margin efficiency:
1. A free gift at a threshold
Take a product that retails for $12 and costs you $3 to make. To the shopper, "free $12 gift" and "$12 off" read as roughly the same offer. To you they are not close:
| 10% off a $120 order | $12 gift at $3 cost | |
|---|---|---|
| Revenue | $108.00 | $120.00 |
| Cost of goods | $84.00 | $87.00 |
| Gross profit | $24.00 | $33.00 |
| Share of profit given away | 33% | 8% |
| Volume lift needed to break even | +50% | +9% |
Same perceived value, a quarter of the cost, and that $9 per order is the biggest lever most stores never pull. Setting one up is a free gift with purchase in the cart, with a progress bar showing how far the shopper is from earning it.
2. A free shipping threshold
Free shipping costs you what shipping actually costs, not a percentage of the cart, and it only fires when the shopper spends more than they planned to.
The trap is setting the threshold too low. If your margin is 30% and shipping costs you $6, the shopper has to add at least $20 for the extra gross profit to cover the shipping you absorb. A threshold sitting a few dollars above your average order value will not clear that bar. Set it high enough to require a real addition, and let a free shipping progress bar do the persuading.
3. A discounted add-on rather than a discounted cart
If you must discount, discount one product instead of the whole basket. Offer a $15 accessory at 20% off alongside the main item, and assume it carries a 60% margin: revenue $12, cost of goods $6, gross profit $6 - on an item that was not in the cart a moment ago. Your discount exposure is confined to one line and the base order stays at full price. That is the logic behind discounting a complementary product rather than the cart.
4. If it must be a percentage, gate it behind a threshold
A 10% code that applies to any cart costs you on every order, including the ones already on their way to checkout. A 10% discount that unlocks at a spend threshold only costs you on carts that grew to reach it. Set that threshold carefully, though, because the maths is less forgiving than it looks. With a $110 average order value and a 30% margin, your baseline profit is $33 per order. A 10% discount unlocking at $150 produces $135 of revenue against $105 of cost: $30 of profit, which is worse than doing nothing. The threshold has to reach $165 before that discount breaks even.
Compare that with a $3 gift on the same $150 cart: $45 of gross profit minus $3 is $42, against the $33 baseline. The gift threshold is profitable at $150; the discount threshold is not profitable until $165. If you are building a reward ladder with several tiers, run this calculation for every rung before you publish it.
When a 10% Off Code Is Still the Right Call
Percentage discounts are a tool, not a mistake. They are the correct tool when:
- You are clearing stock. The cost of goods is already sunk, any margin beats another quarter of storage, and a gift does not move a specific product.
- You need cash this month. Purchase acceleration is exactly what you want when the problem is timing, not demand.
- The offer is targeted and private. A single-use code to a lapsed customer does not leak and does not reset your public price.
- You genuinely compete on price. Where shoppers compare identical products across tabs, a gift will not close the gap.
In each case the discount does a job no other tool does. The failure mode is the standing sitewide code that runs because it has always run.
Where to Start This Week
- Pull your real gross margin by product category. Not blended, not remembered. The number you divide into has to be accurate or nothing downstream is.
- Divide your standard discount by that margin. That percentage is your true cost. Write it somewhere visible before the next campaign gets planned.
- Work out the break-even volume lift for your last promotion and compare it to what actually happened.
- Replace the next sitewide code with a gift threshold and measure gross profit per order, not conversion rate. Conversion rate always looks better with a discount attached; profit frequently does not.
Build the threshold and the reward in Cart Designer → Rewards, and the reward bar shows shoppers how close they are to earning it as they add items.
Run the division before you run the campaign. A 10% off code on a 30% margin is a 33% profit cut needing a 50% volume lift to pay for itself. A well-chosen gift at the same perceived value costs 8% and needs 9%. Same offer to the shopper, entirely different business.