Gross Margin vs Contribution Margin

Metricuno
May 22, 2026
5 min read
Quick answer

Gross margin stops at COGS; contribution margin nets out shipping, processing, and paid acquisition. Here's which one actually defines your ROAS floor — and the mistake most operators make picking between them.

Definition
Unit economics

Gross Margin vs Contribution Margin

Gross margin is revenue minus COGS; contribution margin goes further and subtracts every variable cost tied to fulfilling a sale.

Gross margin and contribution margin both measure what's left of a sale after costs, but they draw the line in different places. Gross margin stops at cost of goods sold — the unit cost of the product itself, inbound freight, and direct manufacturing. Contribution margin keeps subtracting: payment processing, pick-and-pack, outbound shipping, returns, and in most DTC P&Ls, the variable slice of paid acquisition.

The practical consequence is that gross margin tells you whether the product is viable, while contribution margin tells you whether the order is. Finance teams use the first for pricing and merchandising; growth teams use the second to set the ROAS floor for paid media.

Also known as
product margin vs unit economics
GM vs CM

Most Shopify operators inherit a gross margin number from their accounting stack and quietly use it as the ceiling for ad spend. That works until shipping rates climb, processor fees creep up, or return rates spike — and suddenly the campaigns hitting target ROAS are losing money on every order.

The fix isn't to pick the right margin once. It's to know which one you're looking at in each decision: catalog pricing, promo depth, channel mix, and break-even ROAS all anchor to different lines on the same P&L.

Benchmark

What's included in each margin line (typical DTC P&L)

Cost lineGross marginContribution margin
Product COGS (unit cost)SubtractedSubtracted
Inbound freight & dutiesSubtractedSubtracted
Payment processing (2.4-3.5%)Not subtractedSubtracted
Pick, pack & outbound shippingNot subtractedSubtracted
Returns & refunds (variable portion)Not subtractedSubtracted
Paid acquisition (Meta, Google)Not subtractedSubtracted
Fixed overhead, salaries, rentNot subtractedNot subtracted

Notice that paid acquisition sits inside contribution margin in DTC but not in classical finance textbooks. The reason is that for an online store running performance marketing, ad spend behaves like a variable cost per order — not a fixed budget — so it has to come out before you call the order profitable.

Which margin should anchor your ROAS floor?

Contribution margin — but with a caveat. Your break-even ROAS is 1 divided by your contribution margin before ad spend. An apparel store with a 65% gross margin might land at 45% contribution margin once shipping, processing, and returns come out, giving a break-even ROAS around 2.2.

If the same brand had anchored to gross margin instead, the break-even calculation would have suggested a ROAS of 1.5 was profitable — and every campaign hitting that bar would have quietly burned cash. This is the single most common error in DTC media planning, and it compounds at scale.

The shipping-subsidy trap

Free shipping thresholds are evaluated against contribution margin, not gross margin. A €60 AOV with €8 shipping and €5 processing has a different break-even than a €120 AOV with the same costs — even at identical gross margin percentages. If you set thresholds off gross margin, your free-shipping promo can wipe out the bottom 30% of orders.

When to use each in operational decisions

Use gross margin for catalog-level decisions: which SKUs to discontinue, how to price a new launch, whether a wholesale channel makes sense. It's the right lens because COGS is the cost you control through sourcing and product design, independent of how you sell.

Use contribution margin for order-level decisions: ROAS targets, free-shipping thresholds, bundle pricing, promo depth, and channel-level CAC limits. It's also the right input for LTV-to-CAC ratios — using gross margin here systematically overstates payback and lets unprofitable cohorts hide inside healthy-looking averages.

Chart

Gross margin vs contribution margin by DTC vertical

0%20%40%60%80%Beauty & skincareApparelSupplementsHome & decorConsumer electronicsMargin %Vertical

Gross margin

Contribution margin

Frequently asked

Frequently asked questions

Gross margin answers 'is the product profitable?' Contribution margin answers 'is the order profitable?' Gross stops at COGS; contribution keeps going until every variable cost of fulfilling that specific sale is subtracted.

For a DTC operator running performance marketing, yes — ad spend scales with orders and behaves like a variable cost. For a brand that's mostly organic or wholesale, ad spend is closer to a fixed marketing budget and sits below the contribution line.

Contribution margin before ad spend. The formula is 1 divided by that margin. If your contribution margin before media is 45%, break-even ROAS is roughly 2.2 — anything below that is losing money on incremental orders.

Shopify analytics knows your product cost (if you entered it) but doesn't see processor fees, 3PL pick-pack rates, or your Meta ad account by default. That's why most operators either build contribution margin in a spreadsheet or pipe the data into a dedicated analytics tool.

No — contribution margin is gross margin minus additional variable costs, so it's always lower (or equal, if you somehow have zero shipping, processing, and acquisition costs). If your spreadsheet shows otherwise, a cost is missing.

Returns hit contribution margin in two ways: the refunded order's variable costs aren't recovered, and the return itself has handling and reverse-logistics cost. Apparel brands with 25%+ return rates often see contribution margin 8-12 points below what a naive calculation suggests.

No. Salaries, rent, software subscriptions, and other fixed costs sit below the contribution line. Subtracting them gives you operating margin, which is what determines whether the business — not just the order — is profitable.

LTV should be calculated on contribution margin, not revenue or gross margin. Using revenue inflates LTV by 2-3x and makes payback periods look fine when they're not. Most healthy DTC brands target LTV:CAC of 3:1 on a contribution-margin basis.

It varies by vertical, but 30-45% after all variable costs (including paid acquisition) is a common healthy band. Below 20% and you have very little room for fixed costs; above 50% usually means either premium pricing or low ad dependence.

Monthly at minimum, and any time a major input changes — shipping carrier rate hike, processor renegotiation, a new 3PL, or a shift in product mix. Contribution margin drifts silently, and stale numbers are how profitable-looking quarters end in cash crunches.

Get an AI expert review of your site

Paste your URL — Metricuno's AI runs the same heuristic checks a senior CRO consultant would, scoring your page and prioritising the fixes that'll move conversion fastest.