Gross margin subtracts only the cost of the goods you sell; contribution margin subtracts every variable cost of a sale — the product, shipping, payment fees, fulfillment labor, and the ad spend it took to win the order. Gross margin tells you whether a product is worth making. Contribution margin tells you whether it's worth selling through this channel at this ad cost. They can look great and terrible on the very same order.

The core difference in one line

Both numbers start with revenue and subtract costs. What changes is which costs.

Gross margin subtracts your cost of goods sold (COGS) and stops there. Contribution margin keeps going — it subtracts every cost that scales with each additional order. Because it removes more, contribution margin is always the smaller of the two.

That single gap is why a store can post a healthy gross margin and still lose money on each sale once shipping and ads are counted. If you only look at gross margin vs contribution margin as accounting trivia, you miss the point: one of them is a production check, the other decides whether you can afford to grow.

What gross margin measures

Gross margin is revenue minus COGS, expressed as a percentage of revenue.

Formula: Gross margin % = (Revenue − COGS) ÷ Revenue × 100

COGS is the direct cost of the product itself. For a physical product that's materials and direct labor. For a print-on-demand store, it's the blank garment, the printing, and the supplier's base fulfillment charge baked into the item.

Say you sell a shirt for $40 and your print-on-demand supplier charges you $16 for the blank, the print, and their handling. Your gross profit is $40 − $16 = $24, and your gross margin is $24 ÷ $40 = 60%. That's a strong production number — it says the product is priced well above what it costs to make.

Gross margin is the right tool for comparing supplier quotes, checking whether your pricing clears your product cost, and benchmarking one SKU against another. It is a clean signal precisely because it ignores everything downstream of making the product. For the full metric set that surrounds it, see the ecommerce metrics guide.

What contribution margin measures

Contribution margin is revenue minus all variable costs — the costs that only happen because you made that sale.

Formula: Contribution margin = Revenue − all variable costs

For an ecommerce order, the variable costs beyond COGS usually include:

  • Shipping and the carrier label
  • Payment processing fees (a percentage of the order)
  • Pick-and-pack or handling labor
  • The ad spend allocated to winning that order

Everything left over "contributes" to covering your fixed costs — rent, salaries, software — and then to profit. That's where the name comes from. For a deeper walkthrough of the definition and its tiers, see what contribution margin actually means.

One important note on scope: contribution margin has tiers. CM2 subtracts every variable cost except ad spend. CM3 also subtracts ad spend. People say "contribution margin" loosely, so always ask which one — the two can differ by more than half.

Gross margin vs contribution margin: a worked example

Numbers make the gap obvious. Take that same $40 print-on-demand order and walk it all the way down.

Line Amount Running result
Revenue (one order) $40.00
− COGS (blank + print + base fulfillment) −$16.00 Gross profit $24.00
− Shipping −$5.00 $19.00
− Payment processing (four percent of $40) −$1.60 $17.40
− Pick / pack labor −$1.40 CM2 $16.00
− Allocated ad spend −$10.00 CM3 $6.00

Read the same order three ways:

  • Gross margin: $24 ÷ $40 = 60%. Looks excellent.
  • Contribution margin before ads (CM2): $16 ÷ $40 = 40%. Still healthy — shipping, fees, and labor ate a third of the gross profit.
  • Contribution margin after ads (CM3): $6 ÷ $40 = 15%. Thin. Most of what was left went to acquiring the customer.

Same order. A 60% gross margin quietly becomes a 15% contribution margin once the real cost of selling is counted. That drop from 60% to 15% is the entire reason this comparison matters — and it's the part most "gross margin vs contribution margin" explainers skip.

Why the number keeps shrinking

Each subtraction answers a different question. COGS answers "what did the product cost to make?" Shipping, fees, and labor answer "what did it cost to get to the customer?" Ad spend answers "what did it cost to find the customer?"

Gross margin only answers the first. Contribution margin answers all three. A business that scales on gross margin alone is optimizing the one cost that usually shrinks with volume while ignoring the two — fulfillment and acquisition — that often grow.

Why the gap decides what you can afford to spend

Here's where contribution margin earns its keep: it sets a hard ceiling on how much you can pay to acquire a customer.

Look again at the example. CM2 — profit before ads — is $16 per order. That $16 is the most you could spend on advertising before an order stops making money. Spend the full $16 on ads and you break even; spend $10 (as above) and you keep $6.

This is the number that decides whether a paid-media strategy is sustainable. It also drives your break-even ROAS — the return on ad spend at which ad revenue exactly covers cost:

Break-even ROAS = 1 ÷ contribution-margin ratio

On the 40% CM2 ratio, break-even ROAS is 1 ÷ 0.40 = 2.5. On the flattering 60% gross margin, it looks like 1 ÷ 0.60 = 1.67. If you plan your ad targets off gross margin, you'll tell yourself a 1.7 return is fine — and lose money on every order below 2.5. The lower your true margin, the higher the return you must clear just to avoid losing money.

Contribution margin per order also feeds your break-even point for the whole business — the order volume where total contribution finally covers fixed costs. If fixed costs are $4,000 a month and CM3 is $6 an order, you need $4,000 ÷ $6 ≈ 667 orders to break even. Walk through that math in how to find your break-even point. And because a customer who buys twice spreads their acquisition cost across two orders, retention quietly widens the gap in your favor — see how churn rate works.

When to use each metric

Neither number is "better." They answer different questions.

Use gross margin when you are:

  • Comparing supplier or manufacturer quotes
  • Setting a price floor for a product
  • Checking whether a SKU is efficient to produce
  • Benchmarking one product line against another

Use contribution margin when you are:

  • Deciding how much you can pay to acquire a customer
  • Setting or judging a ROAS target
  • Choosing whether to keep, drop, or scale a product or channel
  • Calculating a break-even point
  • Judging whether your ad spend is actually sustainable

A clean way to hold both in your head: gross margin is a product decision, contribution margin is a channel decision. The same shirt can be worth making (60% gross margin) and not worth selling through an expensive Meta campaign (15% contribution margin after ads). You need both readings to run the business.

For a fuller picture of how these margins compound with retention over a customer's lifetime, this case study on doubling LTV against CAC traces the whole chain from per-order margin to lifetime value.

Where the numbers usually break

The math is easy. Getting the inputs right is not.

Most stores can pull gross margin straight from a product cost and a price. Contribution margin is harder because the variable costs live in different places — COGS in your catalog, shipping and fees on the order, ad spend in Meta and Google, payouts in Stripe. Stitching those together per order, by hand, is where the number gets fudged or abandoned.

That reconciliation is exactly the gap PodVector is built to close. It connects Shopify, Meta Ads, Google Ads, Printify, and Printful, and computes the true per-order profit — COGS, shipping, fees, and allocated ad spend netted out — so your contribution margin is a measured figure, not a guess. Victor, its AI operator, analyzes that live data and proposes moves you approve, executing the writes on the Shopify side; he reads your ad data but does not touch your ad account. PodVector is not a dashboard you have to interpret — it does the reconciliation so contribution margin is something you can actually act on.

FAQs

Is contribution margin always lower than gross margin?

Yes, for a normal ecommerce order. Contribution margin subtracts everything gross margin does plus additional variable costs like shipping, payment fees, and ad spend. Since it removes more, it lands lower. The only edge case is a product with no variable costs beyond COGS — rare in physical or print-on-demand ecommerce, where shipping and fees always apply.

Does contribution margin include fixed costs?

No. Contribution margin subtracts only variable costs — the ones that occur because of a specific sale. Fixed costs like rent, salaries, and software are deliberately left out, because contribution margin's whole job is to show how much each order contributes toward those fixed costs. Subtract fixed costs too and you're calculating net margin, a different metric.

Which one should I use to set my ad budget?

Contribution margin — specifically CM2, the version before ad spend. It tells you the maximum you can pay per order before the sale stops making money. Setting an ad budget off gross margin overstates what you can afford, because gross margin ignores the shipping, fees, and labor that also come out of every order.

Is gross margin the same as gross profit?

They're related but not identical. Gross profit is a dollar figure — revenue minus COGS. Gross margin is that same gap as a percentage of revenue. In the example above, gross profit is $24 and gross margin is 60%. One is the amount; the other is the rate.

What's the difference between contribution margin and net margin?

Contribution margin subtracts only variable costs and is measured per order or per channel — it answers "should I scale this?" Net margin subtracts everything, including fixed costs, and is measured for the whole company — it answers "did the business make money?" Contribution margin is diagnostic; net margin is the final scoreboard.