Shopify profit margin
Shopify profit margin: gross vs net and what a sale keeps
Learn the difference between gross and net margin on a Shopify sale, how to calculate both with shipping, fees and ad cost, and when a price match loses money.
Key takeaways
- Gross margin stops at product cost. Net margin continues through shipping, fees and ad cost.
- Scale on net margin. Use gross margin to compare products.
- Run a competitor's lower price through your own costs before you match it.
- A bundle is its own sale. Do not average it with the single item.
Two margins, two jobs
Gross margin is what is left of the price after the product cost, as a share of the price. It is the first cut, and it is useful for comparing products. Net margin goes further. It takes off shipping, payment fees and the ad cost of the sale. That is the figure that tells you whether the business works.
A product can show 78% gross margin and still lose money. The gap between the two is where most Shopify stores are surprised.
How to work it out
- Open the Shopify profit margin calculator.
- Enter the selling price a customer pays.
- Enter the product cost from an invoice.
- Enter the shipping and fees you absorb per order. If the customer pays for shipping, only count what you pay above that.
- Enter the ad cost for one sale. Use cost per purchase from your ad account (ad spend divided by orders over the same dates). With no data yet, estimate it with the cost per purchase guide.
- Read profit on the sale, margin before shipping and ads, and margin after everything.
Worked example
These are example figures, not a real store. A serum sells for $42 and costs $9. You pay $4.50 to ship it and $1.52 in payment fees. Ads cost $25 per sale, which is $500 across 20 orders.
- Gross margin: ($42 − $9) ÷ $42 = 78.6%
- After shipping and fees: $42 − $9 − $6.02 = $26.98, which is 64.2% of the price
- After ads: $26.98 − $25 = $1.98 per sale, a net margin of 4.7%
A strong-looking product keeps less than two dollars per order. Now a price match. A competitor lists the same kind of product at $38. At that price the fee drops to $1.40, shipping stays at $4.50, and the sale leaves $23.10 before ads. With the same $25 ad cost you lose $1.90 on every sale. A four dollar price cut moved the product from a small profit to a loss.
That is why a price match should be run through the numbers first. If the margin does not survive it, compete on something else: a bundle, a guarantee, or a free-shipping threshold. The average order value lesson covers the last two.
The formulas, written out
- Gross margin = (price − product cost) ÷ price
- Contribution before ads = price − product cost − shipping you pay − payment fees
- Profit on the sale = contribution before ads − ad cost for that sale
- Net margin = profit on the sale ÷ price
- Most you can spend on ads for the sale = contribution before ads
The last line is the link to ROAS: price divided by contribution gives the break-even return that the break-even ROAS guide uses.
What a few dollars on the price does
With costs fixed, the price moves the margin much faster than most merchants expect. The same serum, with $9 product cost, $4.50 shipping, the same 2.9% plus $0.30 fee, and the same $25 of ads per sale:
- Priced at $38: profit −$1.90 per sale, net margin −5.0%
- Priced at $42: profit $1.98, net margin 4.7%
- Priced at $46: profit $5.87, net margin 12.8%
Eight dollars of price is the difference between losing money and keeping an eighth of the sale. The catch is that a higher price usually lowers conversion, which raises the ad cost per sale. The calculator can't tell you where that trade-off falls. Test two prices with the same ad and compare the cost per purchase you actually get.
A bundle is its own sale
Take a two-pack at $76. Product cost is $18, one parcel costs $6, and the fee is $2.50, so the order leaves $49.50 before ads. Suppose the ad cost per sale is a little higher at $28, because the offer is bigger. The sale keeps $21.50, a net margin of 28.3%, against $1.98 for the single serum. Even with a higher ad cost per sale, the bundle can earn more per order because the shipping and the ad cost are spread over two units.
Always run a bundle on its own line. Averaging it with the single item hides the very difference you are testing.
What margin is enough
There is no single right number. Net margin has to cover everything outside the sale: apps, the Shopify plan, returns, software, and your own pay. Many stores aim for a gross margin around 60 to 70% so that net stays positive once a realistic ad cost is taken off. Your own threshold depends on repeat purchases, return rate and fixed costs.
Two checks help. First, compare net margin with the monthly costs you pay whatever you sell: if each order keeps $10 after ads and your fixed costs are $2,000 a month, you need 200 orders a month before you earn anything. Second, check whether the plan you are on is the cheapest for your revenue.
Ways to raise net margin
- Raise the price, and test it. A few dollars on a $42 product moves profit more than a small drop in ad cost.
- Lower product cost by ordering larger batches or comparing suppliers.
- Cut shipping cost with a better rate, lighter packaging, or a free-shipping threshold set above a typical order.
- Bundle. A bundle changes two costs and one price. Run the pair as its own sale, not an average of the parts.
- Lower the ad cost per sale through better creative and a stronger page.
Common mistakes
- Watching gross margin alone. Use it to compare products, not to decide whether to scale.
- Ignoring refunds. A product with a 15% return rate has a smaller margin than the calculator shows. Use a cautious ad cost, or take the refunds out of the price you enter.
- Copying a price without copying the costs. A competitor may buy at a better price, ship from a closer warehouse or accept a lower margin. Your numbers decide.
- Using the ad cost of your best day. Use a longer period.
What to check next
The return your ads need to hit follows from this margin. Read the break-even ROAS guide next. To see how a whole campaign did after every cost, use ROI versus ROAS. If customers buy again, the lifetime value guide shows how much more a customer is worth than the first order.
Shopify questions
How do I calculate profit margin on a Shopify order?
Subtract product cost, shipping you pay, payment fees and the ad cost of the sale from the price. Divide what is left by the price. In the example, $1.98 left on a $42 sale is a 4.7% net margin.
Which margin should I watch?
Net margin, after shipping and ads. It is what an order actually keeps. Use gross margin for comparing products.
How do I find the ad cost for one sale?
Divide ad spend by the orders it produced over the same dates. Meta and TikTok call it cost per purchase. Before you have data, estimate it from CPM, CTR and conversion rate.
Should I include shipping if the customer pays it?
Only the part you pay and do not charge. If the customer pays $5 and the label costs $4.50, there is nothing to subtract.
Should refunds be in the margin?
Yes, once you have data. Refunds shrink revenue and often do not return the shipping or fees, so the real margin is smaller than a clean order shows.