Talk to a CFO
Eightx Talk to a CFO
← All Insights

Financial Strategy

The Contribution Margin Bible for DTC Brands

·By Matt Putra, Managing Partner ·15 min read

Contribution margin measures the cents left from each revenue dollar after variable costs. The four-level ladder runs CM1 (after landed COGS), CM2 (after shipping, fees, and returns), CM3 (after paid ads), and CM4 (after channel fees). Median DTC brands report 60-70% gross margin but finish near 15-20% CM3.

The Contribution Margin Bible for DTC Brands

Key Takeaways

  • Median DTC brands report 60-70% gross margin but finish at just 15-20% true contribution margin after shipping, fees, returns, and paid ads (Triple Whale 2025, 33,000+ Shopify brands). Top-quartile brands reach 28%+.
  • Gross margin is a product accounting number, not a business health number. The four-level ladder (CM1 gross profit, CM2 after variable ops, CM3 after paid marketing, CM4 after channel fees) shows which cost layer is eating you.
  • Six common misclassifications overstate reported gross margin by 5-8 points on average, and 10-15 points at the extreme. Landed cost alone can move a reported 65% GM to a true 50%.
  • CM3 is the number most operators think they mean when they say contribution margin, and most can't calculate it because they never separate paid marketing from the rest of the variable stack.
  • Healthy CM3 is roughly 20-25% for product DTC. Below 15% is a structural problem, not a spend-tuning problem. The fix lives in the ladder, not in the ad account.

Most DTC founders can quote their gross margin from memory. Ask the same person for their CM3 to the nearest five points and you usually get a pause. That gap is expensive, because gross margin is a product accounting number, not a business health number. It tells you whether the product is priced above what it costs to make and land. It says nothing about whether the business keeps a cent after shipping the box, paying the processor, eating the return, and buying the customer.

The fix is a four-level view of margin, the contribution margin ladder: CM1, CM2, CM3, and CM4. Each rung strips out one more layer of variable cost, so you can see exactly where each dollar of revenue goes and which cost layer is the real problem. The median DTC brand reports a 60-70% gross margin and finishes at a 15-20% true contribution margin (Triple Whale 2025, 33,000+ Shopify brands). That 40-50 point gap is not a rounding error. It is the whole game.

The four levels of contribution margin every DTC brand needs

Contribution margin is one idea asked at four depths: how many cents are left from a dollar of revenue after you remove the costs that a sale actually triggers. You climb down the ladder one cost layer at a time.

CM1 is gross profit after fully landed COGS. Not the factory price, the landed cost: factory plus inbound freight plus duties plus brokerage. This is the product-level number.

CM2 subtracts variable operations: outbound shipping, pick and pack fulfillment, payment processing (typically around 2.9%), and a returns reserve. This is the "cost to fulfill the order" number.

CM3 subtracts paid marketing, the variable ad spend that acquired the sale. This is the number most operators think they mean when they say "contribution margin," and most of them can't actually calculate it, because they never separated paid marketing from the rest of the variable stack.

CM4 subtracts channel and marketplace fees (Amazon referral fees, retail chargebacks, marketplace commissions). If you sell only on your own Shopify store, CM3 and CM4 are close. The moment you add Amazon or wholesale, CM4 is where the channel tax shows up.

When I talk to founders running a brand this size, the pattern is almost always the same: they can recite gross margin instantly and they genuinely believe it describes the business. The waterfall below is the picture that changes the conversation, because it shows the median brand's 65% gross margin collapsing to roughly 18% after the variable stack comes out.

The exact numbers move by vertical and by brand. But the shape holds: shipping and fulfillment take 8-12 points, payment processing about 3, returns 6-10 in apparel, and paid ads 20-30 for a scaling brand. Add those up and you have found your missing 40-50 points.

What healthy looks like by vertical, and where most brands actually land

There are two different questions hiding inside "what's a good contribution margin," and mixing them up is how operators end up chasing the wrong benchmark. One question is: what does a healthy, optimized brand in my vertical target? The other is: where does the median brand actually land? Those are not the same number, and the gap between them is usually 10-15 points.

The healthy target ranges look like this:

Wellness and supplements sit highest because subscription autoship drives repeat revenue at near-zero incremental CAC and return rates are low. Beauty and skincare come next: gross margins of 65-72% give a lot of room, but return discipline and promotion discipline decide whether that room survives to CM3. Apparel and fashion sit lowest of the mainstream verticals, squeezed by return rates that run 15-30% and by the size and fit complexity that drives them. Food, beverage, and pet run thin on a per-order basis and win on volume and CAC instead.

Now the reality check. Those are target zones, not medians. Plenty of apparel brands run 10-15% CM3 in practice, well under the 20-30% "healthy" band. The Finaloop 2024 benchmark across 7-8 figure DTC brands puts the median contribution margin at roughly 25%, with a brutal spread: top quartile near 56%, bottom quartile near 3%.

It helps to anchor the top of the ladder in hard, public numbers. The gross margins below come straight from 10-K filings, so they are audited CM1 baselines, not estimates (we break these down company by company in our analysis of average DTC gross margins across public companies). They are also a warning: even a 79.5% gross margin (Hims & Hers, a telehealth outlier) is only the starting rung. True CM3 for every company here would be materially lower after variable ops and marketing.

The spread from Chewy at 29.2% to Hims & Hers at 79.5% is not about one company being run better than another. It is about business model. Pet commodities are a volume game with thin per-unit margin; telehealth prescriptions carry pharma-style margin. Your vertical sets the ceiling. What you do below CM1 decides how much of that ceiling you keep.

Returns are quietly eating your margin. See by how much.

Get our Real Cost of Returns calculator: plug in your numbers, see the true hit per return.

On its way.

Check your inbox. We'll send the Real Cost of Returns calculator shortly.

The six misclassifications that overstate your margin

Here is the uncomfortable part. Most brands do not have a low margin problem so much as a measurement problem stacked on top of a real one. The average DTC brand overstates its gross margin by 5-8 percentage points through routine accounting choices, and up to 10-15 points once landed cost and per-order fulfillment are properly stripped out. Six specific misclassifications cause most of it.

MisclassificationWhat most brands doCorrect treatmentTypical GM overstatement
Outbound shipping in OPEXBooks shipping below the gross profit lineTreat as a variable cost above CM2+8-12 pp
Returns netted from revenue onlySubtracts refunds but ignores return shipping, processing, and write-offsAdd the full return cost as a variable line+3-7 pp
3PL and fulfillment as fixed OPEXBooks the entire 3PL invoice as fixed overheadSplit it: per-order pick and pack is variable, storage is fixed+4-8 pp
COGS = factory cost onlyUses the supplier price with no freight or dutiesUse landed cost: factory + inbound freight + duties + customs+5-10 pp
Shopify gross sales as revenue baseUses dashboard gross sales as the denominatorUse net sales (gross minus discounts minus returns)+2-5 pp on the % calc
SaaS subscriptions as fixed G&ABooks Klaviyo, Gorgias, Postscript as fixed overheadAttribute usage-based tiers to variable cost per order where possible+1-3 pp
Source: US GAAP ASC 330 and ASC 606, IFRS IAS 2, and DTC accounting practitioner guidance (Ottit, Cahoot), synthesized 2026-07-02.

The landed-cost one is the quiet killer. In one widely cited practitioner example, 5,000 units bought at a $4.20 supplier price carried a true landed cost of $5.95 once inbound freight, duties, and 3PL receiving were added, a 41.7% increase. That single correction moved a reported 65% gross margin to a true 50.4%: 14.6 points of silent inflation before a single ad dollar or return was counted.

When we've struggled with this on the operator side, the tell is always the same conversation. A founder is convinced their margin is healthy and their spend is the problem, so they cut ads and watch revenue fall faster than cost. The margin was never where they thought it was. You cannot fix a CM3 problem in the ad account if the leak is in landed cost or return handling. Fix the measurement first, then the lever you pull actually moves the number you meant.

How to build the dashboard from your existing accounting data

You do not need to re-do your accounting to see the ladder. You reclassify in reporting. Your statutory P&L can keep shipping below the line for tax; your management view moves it up. Both are correct for their own purpose.

Here is the practical build from a Shopify plus QuickBooks or Xero setup:

  • CM1: Start with net sales (Shopify gross sales minus discounts minus returns, not gross sales). Subtract landed COGS. Do not trust Shopify's "cost per item" unless you have manually loaded inbound freight and duties into it, because by default it excludes them and inflates the number 5-15 points.
  • CM2: Subtract outbound shipping, per-order fulfillment (the variable slice of your 3PL invoice), payment processing (pull the actual Shopify Payments or Stripe fee, usually near 2.9% plus a fixed per-transaction cent amount), and a returns reserve sized to your real return rate and per-return cost.
  • CM3: Subtract paid marketing, the variable ad spend. Keep brand and fixed retainer costs out of this line; those are below the contribution line.
  • CM4: Subtract channel and marketplace fees if you sell anywhere beyond your own store.

Run it weekly at the blended level and monthly at the SKU and channel level. The weekly cadence catches shipping and CAC drift early; the monthly cut is where you make product and channel calls. The whole thing lives in one spreadsheet fed by a Shopify export and a general-ledger pull. Operators tell us the first time they see CM3 built this way is usually the first time they realize the problem was never the number they were staring at.

Using the ladder to make channel and SKU decisions

The ladder is not a reporting trophy. It is a decision tool, and it works at two altitudes.

At the channel level, CM3 by channel is what tells you where the next ad dollar should go. Meta, Google, organic, and Amazon do not have the same contribution economics, and blended CM3 hides that. The point is to see how channels interact: does one subsidize another, is one carrying the profit while another buys the growth, and are you deliberately using the profitable channel's margin to fund a growth channel or just doing it by accident? You cannot answer that from a blended number.

At the SKU level, CM2 by product is what drives the promote-or-kill call. A hero SKU with strong CM2 can absorb aggressive paid acquisition; a low-CM2 SKU cannot, no matter how well it converts, because there is nothing left to fund the CAC. This is also where the CAC-to-margin link gets concrete: if you target a 25% contribution margin, your allowable CAC falls out of that math directly. Ask for a healthy contribution margin and the CAC ceiling it implies is roughly the AOV times that margin, which for many brands lands the allowable CAC in the low-to-mid tens of dollars, not the number the ad platform's ROAS view flatters you into believing. If you want a second set of eyes on where your CM3 actually leaks, that is exactly what our fractional CFO team does.

Gross margin tells you the product is priced right. Contribution margin tells you the business is built right. The single most common reason a DTC brand feels busy and unprofitable at the same time is that it has been steering on CM1 while the money leaked out at CM2 and CM3, in cost layers the gross margin number was never designed to show.

Related reading. For the same contribution-margin lens on SKUs and promotional revenue, see our bestseller-SKU profitability breakdown and our BFCM contribution-margin guide.

Sources and methodology

Public gross margins are pulled from SEC 10-K filings, not estimated. The company-level gross margins (FIGS 67.6%, Warby Parker 55.3%, Solo Brands 57.3%, Chewy 29.2%, Levi Strauss 60.6%, Hims & Hers 79.5%, all FY2024) come from GAAP gross profit and revenue line items in each company's 10-K, retrieved from the SEC EDGAR XBRL API on 2026-07-02. These are audited CM1 proxies only; no public DTC company discloses CM3, so none of these figures should be read as contribution margin. Hims & Hers is a telehealth and prescription model and is included as a vertical-ceiling outlier, not a product-DTC comparison.

Median and quartile benchmarks come from third-party merchant panels. The 60-70% median gross margin and 15-20% median contribution margin come from the Triple Whale 2025 Ecommerce Benchmarks across 33,000+ Shopify brands. The ~25% median contribution margin with a 3% to 56% quartile spread comes from the Finaloop 2024 Ecommerce P&L Benchmarks. Healthy-range benchmarks by vertical draw on the Common Thread Collective contribution margin guide and Saras Analytics.

The misclassification figures rest on accounting standards and practitioner guidance. The rule that outbound freight is a selling expense sits in US GAAP ASC 330 and IFRS IAS 2; the returns treatment (refund liability plus right-of-return asset) sits in ASC 606. The landed-cost and per-order fulfillment corrections, including the $4.20-to-$5.95 case, come from DTC accounting practitioner analysis linked in the Shopify Help Center gross profit methodology and independent accounting write-ups. Convention note: sources differ on whether shipping belongs in CM1 or CM2; this piece places all variable operations, shipping included, at CM2, which is the operator-grade convention.

Limitations. The Triple Whale and Finaloop medians are US Shopify-heavy; international DTC with different VAT and shipping structures will land differently. The 8-12% shipping and 2.9% payment figures are averages; heavy or bulky product categories can see 15-25% shipping as a share of revenue. Waterfall figures in the lead chart are illustrative of the median brand, not any single company.

Frequently asked questions

what's the difference between gross margin and contribution margin for a dtc brand?

Gross margin is revenue minus the cost of goods sold, so it only accounts for what the product costs to make and land. Contribution margin keeps going: it also subtracts every other variable cost a sale triggers, like shipping, payment fees, returns, and paid ads. Gross margin tells you if the product is priced right. Contribution margin tells you if the business makes money.

what are cm1 cm2 cm3 cm4 in dtc?

They are the four rungs of the contribution ladder. CM1 is gross profit after landed COGS. CM2 subtracts variable operations: shipping, fulfillment, payment processing, and returns. CM3 subtracts paid marketing. CM4 subtracts channel and marketplace fees. Each rung isolates a different cost layer so you can see which one is the real problem.

what is a good contribution margin for a direct to consumer brand?

For product DTC, a healthy CM3 is roughly 20-25% of net revenue, and 30% is strong. Below 15% usually signals a structural issue in COGS, shipping, or CAC rather than something you can fix by nudging ad spend. Ranges vary by vertical: supplements and beauty run higher, apparel and heavy or bulky products run lower.

why does my shopify gross margin look different from my real contribution margin?

Shopify calculates gross profit as net sales minus cost per item times quantity. That cost per item usually excludes inbound freight, duties, 3PL fees, and payment processing unless you manually bake them in. So Shopify's number is often 5-15 points higher than your operator-grade gross margin, and it stops at CM1, before any marketing comes out.

should outbound shipping be in cogs or below the line?

For statutory accounting, outbound freight is a selling expense that sits below gross profit. For contribution margin analysis, you move it up as a variable cost, because it is triggered by every order. Both are correct in their own context. The mistake is using the statutory placement to judge unit economics, which hides 8-12 points of cost.

how do returns affect contribution margin?

Returns hit twice. Most brands net the refund from revenue and stop there. But the return also cost you outbound shipping, return shipping, processing, and often a write-off if the item cannot be resold. In apparel, where return rates run 15-30%, that second layer can quietly cost 3-7 points of margin that never shows up in a revenue-net-only view.

what's the difference between mer and cm3?

MER (marketing efficiency ratio) is total revenue divided by total ad spend, a top-line efficiency signal. CM3 is a profit measure: it is what's left per dollar of revenue after COGS, variable ops, and ads. A high MER can still pair with a thin CM3 if your COGS or shipping is heavy. Use MER to steer spend and CM3 to judge whether the spend is actually leaving profit behind.

how do i build a contribution margin dashboard from my existing accounting data?

You don't need to re-do your accounting. You reclassify in reporting. Pull net sales and landed COGS for CM1, add shipping, fulfillment, payment fees, and a returns reserve for CM2, subtract paid marketing for CM3, then channel fees for CM4. Most brands can build this from a Shopify export plus their QuickBooks or Xero general ledger in a spreadsheet.

About the Author

Matt Putra, Managing Partner

Matt is the Managing Partner of Eightx, a fractional and interim CFO firm managing $650M+ in revenue across 35+ ecommerce, DTC, and CPG portfolio brands across the US, Canada, Australia, and the UK. A former PE investor with $500M+ deployed, Matt specializes in benchmark-driven financial leadership for apparel, beauty, food and beverage, and household brands.

Can't calculate your CM3 to the nearest 5 points?

Get your real contribution margin ladder built in a week

A 30-minute call. We'll show you where your reported gross margin and your true CM3 diverge, and which cost layer is actually the problem.

Talk to a CFO