Unit Economics 8 min read

Contribution Margin for DTC Brands: The Metric Your P&L Doesn't Show

Gross margin is a start. Contribution margin — revenue minus every variable cost — is the number that tells you whether scaling a SKU will help or hurt you.

Contribution margin waterfall diagram showing how revenue becomes net contribution after each variable cost layer

When DTC founders talk about margin, they almost always mean gross margin: revenue minus COGS. That number gets reported on every Shopify analytics screen, every quarterly P&L, every pitch deck. It's not wrong to track gross margin — it's just incomplete. And for growing brands making decisions about which SKUs to scale, which channels to double down on, and which products to sunset, incomplete margin data leads to expensive mistakes.

Contribution margin is the number that gross margin doesn't show you. It's what's left after you subtract every variable cost associated with selling one more unit of a product on a specific channel. COGS is in there, but so are the platform fees, the fulfillment costs, the payment processing, and the return rate. That number — not gross margin — is what actually hits your bank account when you make a sale.

The Difference Between Gross Margin and Contribution Margin

The distinction matters most when you're scaling. Gross margin is a useful efficiency metric — it tells you how well you source and manufacture relative to what you charge. But it doesn't tell you whether you make money on each incremental sale, because it excludes the costs that scale with each unit sold.

Consider a $45 face oil SKU on Shopify. The COGS (product cost, packaging, and inbound freight, allocated per unit) is $9.80. Gross margin: $35.20, or 78.2%. That looks excellent. Now add the costs that happen every time you sell one:

  • Shopify transaction fee: $1.61 (2.9% + $0.30 on the $45 sale)
  • Pick-and-pack + outbound shipping: $5.40 (3PL standard small parcel order)
  • Return absorption: $1.80 (estimated at 4% return rate × average per-unit loss including restocking and reship)
  • Credit card chargebacks: $0.27 (0.6% of revenue, realistic for direct-to-consumer health and beauty)

Total variable costs beyond COGS: $9.08. Contribution margin: $35.20 − $9.08 = $26.12, or 58.0%.

You went from a headline 78% gross margin to a real 58% contribution margin. That's still a good number — but it's the real number. And if you were calculating your LTV-to-CAC ratio or your minimum viable spend on paid social using the 78% figure, you've been making optimization decisions with inflated data.

The Variable Costs That DTC Founders Most Often Miss

Fulfillment and Pick-and-Pack

This is the most commonly omitted cost from DTC margin calculations. Founders often think of 3PL fulfillment as a fixed cost because they pay a monthly fee — but the pick-and-pack charge (per order or per unit) is variable. It scales directly with units shipped. If you're paying $4.50 pick-and-pack per order and your average order has 1.4 units, that's $3.21 per unit in variable fulfillment cost — an amount that needs to be in your per-SKU contribution margin calculation, not sitting in a fixed overhead bucket.

Return Rates and Restocking Costs

DTC return rates vary widely by category: beauty tends to run 3-6%, apparel 15-30%, electronics 8-15%, supplements 2-4%. Each return has a cost: the outbound shipping on the original order is already spent, the return shipping may be covered by the brand, the product may need restocking or can't be resold, and customer service time gets absorbed.

The right way to build this into contribution margin is to calculate the average net loss per return (typically 40-80% of the unit revenue depending on resell eligibility) and multiply by your return rate. That gives you a per-unit return absorption cost. For an apparel brand with a 22% return rate and a $5.40 average net loss per return, that's $1.19 per unit sold that should come out of contribution margin.

Channel Fees as Variable Cost

Every channel has a fee structure that behaves as a variable cost. Shopify's 2.9% + $0.30 on Shopify Payments (or higher if using a third-party payment processor). Amazon's 15% referral fee plus FBA fulfillment of $3.22-$8.32 per unit depending on size/weight tier. Faire's commission of 0-15% depending on whether the retailer was self-referred or marketplace-discovered.

The reason these must be treated as variable costs (not fixed overhead or a margin line separate from contribution margin) is that they change per-unit and per-channel. A SKU that has 55% contribution margin on Shopify might have 38% contribution margin on Amazon after the higher fees and FBA cost — and that difference should be visible before you decide to scale that SKU on Amazon, not discovered after you've committed inventory to FBA.

Building the Contribution Margin Waterfall

The clearest way to think about contribution margin is as a waterfall: you start with revenue and subtract cost layers one at a time, each of which is variable:

  1. Net revenue (gross revenue minus refunds and chargebacks)
  2. Minus COGS (product cost + packaging + inbound freight + import duties, per unit) → gives Gross Margin
  3. Minus Channel fees (platform transaction fee or marketplace commission, per unit)
  4. Minus Fulfillment (pick-and-pack + outbound carrier cost, per unit)
  5. Minus Return absorption (return rate × average net loss per return, per unit)
  6. = Contribution Margin

Everything below that line — warehousing overhead, SaaS subscriptions, salary, marketing — is a fixed or semi-fixed cost that comes out of the contribution margin pool, not out of individual SKU contribution margin. Contribution margin is the per-unit "what do I actually make when I sell this" number. Fixed overhead is a separate conversation about how many units you need to sell to cover the business.

Why Contribution Margin by Channel Changes Everything

The most valuable application of contribution margin thinking for DTC brands is the channel dimension. The same SKU at the same COGS will have materially different contribution margin across Shopify, Amazon, and Faire — and those differences should drive your channel allocation and marketing investment decisions.

Take a $9M supplement brand with 22 active SKUs and three active channels. Their flagship protein powder has an 18.5oz unit at $52 MSRP. COGS runs $10.40 per unit. Here's the contribution margin side-by-side across channels:

Channel Net Revenue COGS Fees Fulfillment Returns Contribution Margin CM%
Shopify DTC $52.00 $10.40 $1.81 $4.80 $0.94 $34.05 65.5%
Amazon FBA $52.00 $10.40 $7.80 (15% ref) $7.40 (FBA) $1.87 $24.53 47.2%
Faire Wholesale $26.00 (50% key) $10.40 $1.82 (7% blended) $1.20 (case pack) $0.26 $12.32 47.4%

Shopify DTC is 18+ points better in contribution margin than either Amazon or wholesale. That doesn't mean Amazon and Faire are wrong channels — Amazon might be capturing customers who'd never find the DTC site, and Faire builds brand visibility in retail. But any paid media dollar spent driving traffic to Amazon instead of the DTC site is sacrificing 18 points of contribution margin per conversion. That cost needs to be in the conversation.

What Contribution Margin Doesn't Tell You

Contribution margin is not profit. It's the margin available to cover fixed costs and generate operating income. A brand with 55% average contribution margin on $4M in revenue has $2.2M in contribution to cover warehouse rent, team salaries, SaaS tools, marketing spend, and everything else. Whether that produces a profitable business depends entirely on the fixed cost structure.

We're not saying contribution margin is the only number that matters — fixed cost discipline, customer lifetime value, and payback period on CAC are all equally important for DTC financial health. We're saying that gross margin is an incomplete picture of per-unit economics, and making channel and SKU decisions based on gross margin alone is a reliable way to scale problems instead of profits.

Once you have contribution margin by SKU by channel as a live number — updated with current COGS and current fees — the decisions about where to invest marketing spend, which SKUs to reorder aggressively, and which channel relationships to prioritize become data decisions instead of gut decisions. That's the shift that changes the math for growing DTC brands.