% Discounts
How much of what you sold was given straight back as a markdown.
What it means
% Discounts is the total discount given in the period divided by the sales figure on the same card, as a percentage. Codes, automatic promotions and manual reductions all land in the numerator together — the number doesn't distinguish a planned sale from a code someone left switched on since spring.
Where the app spells the denominator out, it's Total Sales: Gross Sales plus shipping and tax, minus discounts and refunds. Worth holding on to, because that means the discounts have already been taken out of what you're dividing by.
Show the math
Formula and a worked example
Discount amount is every reduction applied across the period — codes, automatic offers, manual markdowns.
Total Sales is Gross Sales + Shipping + Tax − Discounts − Refunds, which is the net figure after the markdowns came off.
Worked example. A month lists €100,000 of Gross Sales and gives €10,000 away in discounts, with no shipping, tax or refunds to complicate it. Total Sales is €90,000. % Discounts = 10,000 ÷ 90,000 = 11.1% — a touch above the 10% the promotion felt like, because the denominator already had the discount removed.
Hold the same €10,000 of markdown against a €200,000 gross month. Total Sales is €190,000 and it reads 5.3%. Identical discounting, half the share, and the only thing that changed was how much you sold around it.
It answers the question
How much of your revenue are you buying with price cuts? Every point here is a point of margin that never reached the profit page.
Why it matters
Discounting is the fastest lever in retail and the one that compounds quietly. A single weekend of 20% off is a decision. A code that has quietly stayed live for eight months is a permanent price change nobody signed off on, and this is the number where it shows up.
It also explains gaps elsewhere. Orders holding steady while margin thins is a hard puzzle from the profit page alone; it usually resolves the moment you look here. Because AOVAOVYour average order size, and a direct lever on revenue. is calculated after discounts come off, a rising share drags order value down with it in the same period.
Watch its direction more than its level. Retail is seasonal and a December spike means very little; a floor that has crept from 6% to 12% across four quarters means your customers have learned to wait for the code.
What good looks like
The bands describe a store's standing habit, not one campaign. A clearance month above the poor line is a decision; a year that never drops below it is a pricing problem wearing a promotion's clothes. Note that these thresholds are measured against the post-discount sales figure, so they run slightly above the equivalent share of list price — compare like with like when checking against another system.
How to improve it
| Lever | What you do | Expect | How long | Watch out for |
|---|---|---|---|---|
| Fast Turn off the codes nobody remembers creating | Audit every live discount and expire the ones with no end date and no campaign behind them | The share falls the week they expire | 1–2 weeks | Some of those codes are load-bearing for repeat buyers who've stopped ordering without one. Expect a dip in orders from the returning segment first. |
| Fast Put a threshold on the offer | Swap a flat code for one that needs a minimum basket | Discount share down, order value up | 2–4 weeks | Smaller baskets convert worse without the code, so order count usually falls even as the money per order improves. |
| Slow Sell bundles instead of cutting price | Replace percentage-off promotions with multi-item sets priced as a unit | Discounting falls without the offer disappearing | 1 quarter | Bundles need stock committed in matched sets, and a slow-moving component holds the whole bundle's inventory hostage. |
| Slow Fix what the discount was compensating for | Improve product pages, delivery promise and reviews on the lines that only move on offer | The same products sell at full price | 1–2 quarters | Slow, hard to attribute, and while it's happening you're still discounting. Nothing about this lever produces a clean before-and-after. |
Every lever costs something somewhere. The last column is the one to read twice.
Read it with
A discount share only means something next to what it bought. Read it against order volume, or you're reading half the trade.
Selling on value
More orders while giving away less. The best corner on the grid, and usually the result of a product page or delivery change rather than a pricing one.
Volume bought with margin
The offer worked. Whether it was worth it depends on what each of those extra orders left behind — a fair trade during a launch, expensive as a default.
Held the line, lost some volume
You stopped discounting and some demand went with it. Often the right trade, but only if margin per order rose by more than the volume fell.
Paying more for less
Deeper markdowns and fewer orders. Either the offer isn't working or something outside the shop changed. This is the corner that needs an answer this week.
AOV is Gross Sales minus discounts, divided by orders, so a rising discount share pushes order value down mechanically. When both move together, you've found the cause. When AOV falls and this stays flat, the basket got smaller — a different problem with a different fix.
Two views of markdown at different levels. This one covers everything applied across the period; % Product Discounts sits on the Products table and divides product-level reductions by pre-discount Gross Sales. When the shop-wide figure climbs and no single product's does, the discounting is coming from order-level codes rather than the catalogue.
Common misreads
A shop that never discounts has no lever left for clearing slow stock, launching a product or recovering a quiet month. The bands mark a healthy habit, not an ideal of zero.
This only ever covers markdowns. Product cost, delivery, payment fees and advertising are all outside it, and a shop with immaculate discipline here can still be losing money on every order.
Check the denominator before comparing. This divides by a sales figure that already has the discounts removed, so it reads slightly higher than the same markdowns measured against list price.
Also called
Discount rate · markdown rate · promotional depth
See yoursYour discount share for the period, and the same column split by country, customer type and day.
Open Shopify Overview →