A product can have a healthy-looking markup and leave almost nothing after selling costs. The problem is often the denominator—or the costs that the headline leaves out.
Margin and markup answer different questions. Neither automatically measures the money left after advertising, shipping, refunds and overhead. Use them with clear labels before deciding a product can support a bigger discount or ad budget.
Margin versus markup: one product, two percentages
Suppose an item costs $30 and sells for $50 after product discounts. Its product gross profit is $20.
| Measure | Calculation | Result |
|---|---|---|
| Product gross profit | $50 − $30 | $20 |
| Product gross margin | $20 ÷ $50 | 40% |
| Product markup on cost | $20 ÷ $30 | 66.67% |
Both percentages describe the same $20. Margin divides by selling revenue; markup divides by product cost. Switching the denominator changes the percentage without changing the money.
This is a worked example, not an observed industry average. There is no single good margin that applies to every product, country or selling channel.
How $20 becomes twenty cents
Now add selling costs to the same order. Assume a 3% percentage fee plus $0.30 fixed fee, $8 shipping and packing, and $10 advertising cost. These are example assumptions, not a provider’s current price list.
| Item | Amount |
|---|---|
| Product revenue | $50.00 |
| Product cost | −$30.00 |
| Percentage and fixed fee | −$1.80 |
| Shipping and packing | −$8.00 |
| Advertising cost | −$10.00 |
| Contribution after these costs | $0.20 |
The product still has a 40% product gross margin and a 66.67% markup. But contribution after the entered selling costs is only 0.4% of product revenue. Tax, returns, overhead and owner pay could lower the business result further.
That is why a markup headline can be true and still be a poor basis for an advertising decision. The missing costs matter more than the impressive percentage.
Check what your report includes
Shopify’s profit-report guidance explains the role of recorded product costs. Check that costs existed for the relevant products when the sales happened. A missing cost is not proof the product cost nothing.
Then check the report’s exact definition. Product gross profit and an order-level contribution calculation may include different costs. A number labelled profit is not automatically net profit after every business expense.
Keep product revenue separate from tax and customer shipping charges when using the worked formula here. If a marketplace report includes other amounts, reconcile them rather than copying a total into a merchandise-sales field.
Do not mix markup with a margin input
The free shipping threshold calculator asks for product gross margin on sales. Entering 66.67% markup where it expects 40% margin makes each extra dollar of basket value appear to contribute too much.
For positive product cost and selling price:
Margin rate = markup rate ÷ (1 + markup rate).
Markup rate = margin rate ÷ (1 − margin rate).
Use rates, not whole percentages, in those formulas: 66.67% is about 0.6667. When product cost is zero, markup on cost is undefined. When revenue is zero, margin on revenue is undefined. A blank denominator should not quietly become a reassuring zero-percent result.
The order contribution and ROAS calculator shows product gross margin and markup under “More results and denominators.” It also shows the contribution left after entered fulfillment, fees, refunds and advertising. Keep those measures distinct.
Discounts reduce more than the margin headline suggests
Cut the $50 price to $45 while keeping the $30 product cost. Product gross profit falls from $20 to $15: a 10% price reduction has removed 25% of product gross profit.
Selling fees may fall with the price, but shipping and fixed fees may not. Advertising cost per order may also stay the same. Recalculate contribution before assuming a small discount needs only a small increase in volume.
Our inventory markdown guide explains how to compare a discount with the extra units needed to preserve contribution. It does not predict that the extra sales will happen.
Refunds need the original order context
A product refund reduces revenue. A physical return can recover some product cost into usable stock. Those are different events, and stock recovery is not a second cash sale.
For a matched set of orders, calculate net product sales after matched refunds and net product cost after any supported stock-cost recovery. Do not subtract all refunds received this week from this week’s sales if they relate to a different set of orders and then call it a clean cohort margin.
Use the return-cost guide to compare a kept order with a fully returned one. Partial refunds, exchanges and damaged stock need their own treatment; a simple rate cannot describe every case.
What should you check before increasing ad spend?
Start with contribution before ads. That is the cost-aware room available to pay for advertising and a chosen contribution target. A revenue-based ROAS alone does not answer that question.
Google’s ROI guidance makes costs part of assessing return. The break-even ROAS guide shows how a 3× revenue ratio can still leave a loss under explicit cost assumptions.
For your next decision, write the percentage name and denominator beside the number: gross margin on sales, markup on cost, or contribution margin after the entered costs. Add the costs excluded from the calculation. Those small labels can prevent a large pricing mistake.
If you cannot reconcile the reports, request a free manual review. Share the question and public store URL rather than customer-level data. The aim is to make the decision understandable, not to substitute a generic target for your own economics.
