How do I calculate Shopify profit margin?
Calculate Shopify profit margin as (Revenue − product cost − payment fees − shipping you absorb − discounts − ads − other variable costs) ÷ Revenue. Shopify’s dashboard shows sales; it does not automatically know your landed cost or ad accounts. Use a unit calculator for SKU decisions and a monthly P&L for the shop. CrossKit’s Profit Calculator and Currency Converter help with the unit math, including cross-border currencies.
A 70% “compare-at” markup is not profit margin. Margin is what remains after real costs.
Steps
-
Pick a revenue definition and stick to it
Usually net sales after discounts and returns, before tax if you remit tax.
-
Subtract landed COGS
Not just supplier invoices—freight, duties, packaging.
-
Subtract Shopify-adjacent fees
Card processing, Shopify subscription allocated if you want fully loaded margin, app fees that scale with orders.
-
Subtract shipping you did not charge enough for
Free shipping is a cost, not a gift from the carrier.
-
Divide remaining profit by revenue
That is margin. Track contribution margin (before overhead) and net margin (after overhead) as two figures.
Unit contribution vs shop net margin
SKU decisions use contribution margin: price after discounts and returns, minus landed COGS, payment fees, absorbed shipping, ads and other variable costs, divided by revenue. Shop net margin also subtracts rent, salaries, Shopify subscription and apps. Do not mix them. Shopify dashboards show sales; they do not know your factory freight or ad accounts. CrossKit Profit Calculator estimates the unit math. Currency Converter helps multi-currency stores. A 70% compare-at markup is not margin.
Discounts, free shipping and apps
Automatic discounts belong in the unit model or the SKU looks healthier than checkout. Free shipping is a cost. Card processing is not profit. App subscriptions belong in shop net margin; do not spread a $99 app across one unit unless you want a fully loaded view. Recalculate when you change price, ads or freight. If payout looks “fine” but cash is tight, you used processing payout as profit.
Example
A hoodie sells at $68 after a 10% site discount (list $75). Landed cost $18. Stripe-style fee ~2.9%+$0.30 ≈ $2.27. Shipping you absorb $4.50. Ads $8.00. Profit ≈ 68 − 18 − 2.27 − 4.50 − 8 = $35.23. Margin ≈ 52% contribution before rent and salaries. If ads were $25, margin collapses toward 27%—still fine for some brands, not for others. Put contribution margin and net margin as two columns on the SKU. Restock from the first; decide whether the shop is viable from the second.
Common mistakes
-
Using Shopify Payments payout as “profit”
Payout is revenue minus processing, not minus COGS and ads.
-
Ignoring shop-wide discounts in unit margin
Automatic discounts belong in the unit model or your SKU looks healthier than checkout.
-
Using list price while the theme shows a sale price
Margin on $75 when customers pay $68 will overstate the business for the whole campaign.
Recommended tool
Profit Calculator
Enter Shopify price, COGS, fees, shipping and ads in CrossKit’s Profit Calculator to estimate margin. Use Currency Converter for multi-currency stores.
Frequently Asked Questions
Does CrossKit sync Shopify Analytics?
No. It is a planning calculator you feed with your numbers.
Should I include app subscriptions in margin?
Include them in shop net margin. For SKU ranking, use contribution margin without spreading $99 apps across one unit unless you want a fully loaded view.
Is Shopify “net payment” my margin?
No. It is sales minus processing and some fees, not minus COGS, ads or shipping you absorbed.
How do I handle wholesale vs DTC on one SKU?
Run two prices and two cost stacks. Wholesale margin is not a DTC ad-driven margin.