All use cases

Use case - discounts

How discounts affect your Shopify profit (and how to measure it)

By Founder of UpsellShark and a working Shopify merchantUpdated

Short answer

A discount comes out of your profit, not your revenue, which is why small codes do outsized damage: on an order with a 30% net margin, a 10% discount removes roughly a third of the profit. Whether a code pays off depends on how much extra volume it wins versus how much margin it gives away, and most stores never measure that second half. A discount report that shows the give-away as a share of revenue, per code, is how you find out.

How do you see what a discount actually costs?

01

Do the margin math first

Take your net margin, not your gross. A store keeping 20 cents per dollar that offers 10% off is handing over half its profit on every discounted order. Written as a rule: discount percent divided by net margin percent is the share of profit you give away.

If it does not work

You divide by your gross margin because that is the number Shopify shows you, and the answer comes out roughly twice as comfortable as the truth. A 10% code against a 60% gross margin looks like a sixth of the profit; against the 25% you actually keep it is closer to half.

02

Measure what you are actually giving away

Total discounts given, the share of gross revenue that represents, and the split across discount codes, automatic discounts and manual discounts. If that share is climbing month over month, promotions are quietly becoming your biggest cost.

If it does not work

The per-code totals add up to more than you actually gave away. When an order used more than one code, the full discount is counted against each of them, so a single code's total reads close rather than exact. The period total and the share of revenue are the figures to trust.

03

Rank your codes by what they cost

A handful of codes usually carry most of the give-away. Rank them by total discount given, then ask of each: did this code win orders that would not have happened anyway, or did it just cut the price for people who were buying regardless?

If it does not work

You retire the most expensive code and the orders go with it, because that one was genuinely winning sales rather than discounting people who had already decided. Expensive and wasteful are different findings, and the ranking on its own cannot tell them apart.

How to undo it

Deactivating a discount code in your Shopify admin is reversible - set it back to active and it works again. Orders that already used it keep the discount they were given.

04

Find the orders a discount pushed underwater

The worst case is a discount stacking with free shipping and a payment fee until the order loses money. A negative-profit orders report lists exactly those, so you can see which codes create them.

If it does not work

The report comes back empty and you conclude nothing is losing money. Check your shipping and return costs are actually set first: a cost you never entered counts as zero, so the orders where free shipping did the damage look perfectly healthy.

What you get

  • Discount erosion report: total given, share of gross revenue, split by type
  • Your top codes ranked by what they cost, up to twenty of them
  • Profit on discounted versus full-price orders, on every plan
  • Negative-profit orders report to catch the discounts that sink an order
  • Suspicious orders: large staff discounts and below-cost sales, per staff member (Pro)
  • VAT taken out of revenue by default, so the margin you divide by is real
  • A free plan for up to 100 orders a month

Why discounts hit profit harder than revenue

Revenue math and profit math tell two different stories about the same code. A 10% discount on a $100 order costs $10 of revenue, which sounds survivable. But if that order carried $70 of costs, the profit was $30, and the same $10 is a third of it. The thinner your margin, the more violent this gets.

This is also why "did the sale work?" cannot be answered from the revenue graph. A promotion that lifts sales 20% while giving away 15% of gross revenue in discounts has probably lost money on the month, and the revenue graph will still look great.

A $100 order drawn as a long bar with a $10 discount taking a thin slice off the end, and beneath it at the same scale the $30 of profit that order carried, where the identical $10 slice takes a third of the shorter bar
The same code on a thinner margin costs more: a store keeping 20 cents per dollar hands over half its profit on every discounted order.

How big a discount can you actually afford?

Decide how much of your profit you are willing to hand over, then take that share of your net margin. If a quarter of the profit is your ceiling and you keep 30 cents on the dollar, your biggest safe code is 7.5% off. On a 20% margin the same ceiling puts you at 5%.

The other half of the sum is the volume the code has to bring in before it pays for itself. On a 30% margin, a 10% code cuts the profit on each order from $30 to $20, so the promotion needs 50% more orders just to finish level. On a 20% margin, a 10% code halves the profit, and you need to double your orders. Most promotions that felt successful did not move volume anywhere near that far.

There is a name for the number you are protecting in all this: contribution margin, which is what one extra sale leaves behind after the costs that sale actually caused. It is the right figure to divide by precisely because it ignores rent and salaries. Those do not move because you ran a promotion, so folding them in makes every code look unaffordable and talks you out of discounts that were fine.

Which is the argument for offering something other than money. Free shipping over a threshold costs you the shipping, not a share of every item in the basket. A gift with purchase costs you the item at your cost price, not at your retail price. Both leave the price intact, and a price you have discounted three times is a price customers learn to wait out.

Does VAT change what a discount costs you?

It changes the margin you are dividing by, which is where the whole calculation lives. On a tax-inclusive store, the sales total Shopify shows still has the tax office's share inside it, while your costs are quoted without tax, so margin read straight off that total comes out far too kind - and every discount then looks cheaper than it is.

Worked through: a 100 euro order in a 25% VAT country leaves you 80 once the tax is out. Say the goods and the fees cost 56. Your real profit is 24 on a 30% margin. Measured against the 100 on the sales report, the same order looks like 44 of profit on a 44% margin.

Now apply a 10% code. The customer pays 90, your revenue drops to 72, the costs stay at 56, and profit falls from 24 to 16 - a third of it gone. The flattering 44% margin would have told you the code cost less than a quarter. That is the difference between a promotion you repeat and one you should have stopped.

Easy Profit Calculator takes the tax back out of revenue by default on tax-inclusive stores, so the margin the discount is measured against is the money you keep. The share of revenue going to discounts is unaffected either way, because the tax scales with the price on both sides of that sum.

Where do discounts quietly cost you money?

In three places, and the biggest is codes landing on orders that were happening anyway. A returning customer who would have paid full price finds a 15% code in a browser extension on the checkout page, and the margin walks out of the door with nothing bought in return.

Stacking is the second. A discount combined with free shipping you absorb, on a low-value order, with the payment fee on top, can push the whole order below zero. Those orders hide inside good-looking totals until something lists them one by one.

Manual discounts are the third: staff-applied price cuts at the register or on draft orders, which almost nobody reviews. Easy Profit Calculator's suspicious orders queue, on the Pro plan, flags large staff discounts and below-cost sales for exactly this reason, with a breakdown per staff member and a list you clear order by order.

The split matters because the three behave differently. A code you can retire. Stacking you fix with a rule about which offers can combine, or a higher free-shipping threshold. Manual discounts are a conversation with a person. The discount report totals codes, automatic discounts and manual discounts separately, which is what makes the manual pile visible at all.

Three cards naming where discount damage hides on a Shopify store: codes used on orders that were happening anyway, a discount stacking with free shipping you absorb and the payment fee until the order falls below zero, and staff-applied manual discounts at the point of sale or on draft orders that nobody reviews
Discount codes, automatic discounts and manual discounts total separately in a discount report, which is what makes the manual ones easy to miss.

FAQ

Common questions

How do discounts affect profit margin on Shopify?
A discount subtracts directly from profit, so the damage scales with your margin. On a 30% net margin, a 10% discount removes about a third of the order's profit; on a 20% margin, half.
How do I see how much I give away in discounts on Shopify?
Easy Profit Calculator's discount erosion report totals discounts given in a period, shows the share of gross revenue, splits it by discount type, and ranks your top codes by cost. It is on the free plan. One caveat worth knowing: when an order used more than one code, the full discount is counted against each of them, so read a single code's total as close rather than exact.
Are my discount codes worth it?
Compare what a code gave away against the orders it actually won. If the share of revenue going to discounts climbs while order volume does not, the codes are cutting price for people who would have bought anyway.
Can a discount make an order lose money?
Yes, especially stacked with free shipping and payment fees on a low-value order. The negative-profit orders report lists every order that ended up below zero, so you can see which discounts caused it.

See what your discounts really cost

Easy Profit Calculator shows discounts as a share of revenue, ranks your most expensive codes, and compares profit on discounted vs full-price orders. Free to start.

See Easy Profit Calculator