All posts

What does a 10% discount really cost your webshop? (with real numbers)

A 10% discount can take 25% of your profit, and 20% off can mean you need twice the sales. Real numbers, a table for your margin, and 6 cheaper ways to get the same effect.

, 5 min read
A red 10% off price tag next to a card showing price $50 to $45, cost $30 and profit $20 to $15, with a bar chart where the profit drops by 25%

"10% off" sounds like a small thing. It's one of the most common offers in e-commerce, and it rarely gets a second thought. But a discount isn't taken out of your price. It's taken out of your profit, and that makes it far more expensive than it looks. In this post, we work through what a discount really costs a webshop, with real numbers, and look at how to get the same effect for less.

A 10% discount, step by step

Say you sell a lamp for $50 (all prices in this post are before sales tax or VAT). It costs you $30 to buy in. Your profit on each lamp is $20, which is a 40% margin.

Now you give 10% off:

Without discountWith 10% off
Price$50$45
Your cost$30$30
Your profit$20$15

The customer saves 10%. You lose 25% of your profit. Your costs didn't get 10% cheaper, so the whole discount comes out of the $20 you would have earned.

To earn the same total profit as before, you now need a third more orders: 20 ÷ 15 = 1.33. If you sold 100 lamps a month at full price, you need to sell 134 with the discount just to stand still.

Bigger discounts get expensive fast

The cost doesn't grow in a straight line. Every extra percent takes a bigger share of what's left. Here is how many more orders you need to earn the same profit as without a discount:

Discount30% margin40% margin50% margin60% margin
5%+20%+14%+11%+9%
10%+50%+33%+25%+20%
15%+100%+60%+43%+33%
20%+200%+100%+67%+50%
25%+500%+167%+100%+71%
30%No profit left+300%+150%+100%

Read the 20% row again. With a 40% margin, a 20% discount means you must double your sales to earn the same as before. With a 30% margin, you need three times as many orders. A Black Friday "30% off everything" in a shop with a 30% margin gives away the entire profit on every order.

The formula behind the table is simple: margin ÷ (margin − discount) − 1. You can try it with your own numbers in our free discount cost calculator. Not sure what your margin is? Find it with the margin calculator.

The hidden cost: customers who would have bought anyway

The table assumes every order with the code is an extra order. In real life, that's never true. A discount code also goes to customers who were going to buy at full price. For them, the discount buys nothing. It just moves money from you to them.

Back to the lamp. Without a campaign, you sell 100 lamps a month and earn $2,000. You run 10% off, and 160 lamps are sold with the code. Sounds like a success: 60% more orders.

  • With the campaign: 160 × $15 = $2,400 profit.
  • Without it: 100 × $20 = $2,000 profit.

The campaign earned you $400 extra. But 100 of those 160 customers would have bought anyway, and they received $500 in discounts they didn't need. If the campaign had only brought 30 extra orders instead of 60, you would have made less money than doing nothing: 130 × $15 = $1,950.

For a code that's shown to every visitor in a pop-up, the share of "would have bought anyway" customers is often high. That's the cost most shops never measure.

The long-term cost: customers learn to wait

There's one more cost that doesn't show up in any calculator. When there's always a code somewhere, customers stop paying full price. They wait for the next campaign, search for a code before they buy, or leave and come back when the pop-up appears. Over time, "10% off" quietly becomes your real price, and you're paying for it on every order. We wrote more about this in Earned discount codes: discounts that don't teach customers to wait.

6 ways to get the effect of a discount for less

1. Give a smaller discount

Look at the table: going from 20% to 10% off cuts the required extra sales from +100% to +33% at a 40% margin. For many customers, the difference between 10% and 20% matters much less than the fact that there is an offer.

2. Use free shipping over a limit

Free shipping over a threshold makes customers add one more item instead of paying less for the same basket. Set the limit right, and the margin on the extra item pays for the shipping. Our free shipping calculator finds a limit that pays for itself.

3. Add a minimum order value

"10% off orders over $60", when your average order is $45, means the discount only goes to customers who spend more than usual. The bigger basket pays for part of the discount.

4. Use single-use codes and end dates

A shared code ends up on coupon websites within days. Single-use codes for newsletters, influencers and apology emails can't spread, and an end date stops a code from becoming permanent. Make a batch for free with our discount code generator.

5. Discount selected products, not everything

Choose the products with the highest margins, or the stock you need to move. "20% off the winter collection" costs much less than "20% off everything", and it still gives customers a reason to visit.

6. Let customers earn the discount

The most effective way to cut the hidden cost is to stop giving the code to everyone. When visitors earn a discount, for example by solving a short daily puzzle like MojiTiles on your website, the code goes to the people who are most interested in your shop, and it feels like a prize rather than a price cut. Fewer codes go to people who would have bought anyway, and nobody learns to wait for a pop-up. If you're using a spin-to-win wheel today, see our spin wheel alternatives for Shopify.

Before your next campaign, check the numbers

Discounts aren't bad. Discounts you haven't calculated are. Before Black Friday, Christmas or your next newsletter, take two minutes to answer three questions:

  1. What is my margin on the products in the campaign?
  2. How many extra orders does this discount need to pay for itself?
  3. How many of the customers who use the code would have bought anyway?

If the answers make you nervous, try a smaller discount, a free shipping limit or an earned reward instead. Planning your season? Read our guides to Black Friday without giving away your margin and Christmas shipping deadlines.

Calculate what your discount really costs, or create a free account and let your customers earn their code. 😎

More from the blog