Contribution margin vs gross margin for Shopify stores
Most Shopify dashboards show you gross margin and stop there. It looks healthy — 60%, 70% — so you assume the store is profitable. Then the bank balance disagrees. The gap is almost always contribution margin: the costs gross margin quietly ignores.
Gross margin: revenue minus the cost of the product
Gross margin is simple:
Gross margin = Net sales − Cost of goods sold (COGS)
If you sell a jacket for €120 and it cost you €45 to buy, your gross margin is €75, or about 63%. That's a useful number — it tells you the product is priced above its supply cost. But it's also an optimistic one, because selling that jacket cost you more than €45.
Contribution margin: what's left after the cost to sell it
Contribution margin takes gross margin and subtracts the variable costs of actually fulfilling and collecting that order:
Contribution margin = Gross margin − Payment fees − Shipping − Returns/refunds
For the same €120 jacket:
- Gross margin: €75
- Payment processing (≈2.9% + €0.30): −€3.78
- Shipping you absorbed: −€6.50
- A 5% refund rate spread across orders: −€6.00
Contribution margin: €58.72 — about 49%, not 63%. That's the money each sale actually contributes toward your fixed costs (rent, salaries, software) and, eventually, profit.
Why the difference decides your ad budget
Here's where it bites. Say you run ads and your blended cost to acquire a customer is €25 per order.
- On gross margin (€75), €25 of ad spend looks fine — you "keep" €50.
- On contribution margin (€58.72), the same €25 leaves you €33.72 before any fixed costs.
Scale that across thousands of orders and the two numbers point to completely different decisions. Plenty of stores grow revenue while shrinking real profit because they're optimizing against gross margin and spending against a number that was never theirs to spend.
How to track it on Shopify
Shopify doesn't compute contribution margin for you. To get it you need to bring together, per order:
- COGS — the cost per item (Shopify's "Cost per item" field, or your own override).
- Payment fees — the real processor fee on each transaction.
- Shipping cost — what you paid, not what the customer paid.
- Refunds — netted on the date they're issued.
That's exactly what Margeny does: it pulls your orders, costs, fees, shipping and refunds, and shows contribution margin per order, per product and per day — so you can see which products actually fund the business.
Gross margin gets you a healthy-looking dashboard. Contribution margin gets you a healthy business. Track the second one.
Know your real profit this week
Connect your store in minutes. 14-day free trial, no card required.