DOCUMENT TSC-2026/B69 · BLOG POST 69 · CONSUMER COMMERCE · REV. 01
FILED UNDER Contribution margin·Unit economics·P&L·DTC finance

Contribution margin
for DTC, three layers deep

CM1, CM2, CM3. What each one strips out, why Shopify's native reports stop short of the number that matters, and a per-order P&L you can copy.

Author
Taylor Sicard
Published
June 2026
Read
11 min · ~2,600 words
Ring
I · Consumer Commerce
About the author
Taylor Sicard

Early Shopify employee who helped build and scale the Partner Program. Co-founded WIN Brands Group, scaling individual brands to eight figures and the portfolio to nine-figure revenue. Founded and sold getuptime.co to Tiny. Now advises DTC brands, Shopify app founders, and Fortune 500 commerce teams.

Full background →
Key takeaways

Contribution margin, specifically CM3 (revenue minus COGS, fees, fulfilment, shipping, and returns), is the one number to run a DTC brand on. It is what is actually left to cover marketing and overhead.

  • Gross margin overstates what you keep; CM3 is two layers deeper and almost always lower.
  • Your max allowable CAC is built on contribution per order, not revenue.
  • Shopify's reports stop before fulfilment, shipping, and returns, so build CM yourself.
Source: Taylor Sicard, Taylor Sicard Consulting · Updated June 2026

If I could get every DTC founder to internalise one financial concept, it would be contribution margin. Not gross margin, not revenue, not even profit on the P&L. Contribution margin, specifically CM3 (revenue minus COGS, fees, fulfilment, and marketing), is the number that tells you whether a sale actually made you money once everything variable about that sale is accounted for. Most brands are flying on a number two layers above that, and the gap is costing them. Margin is one line in the wider 2026 DTC and Shopify app benchmarks.

The problem is that most operators run on a margin figure that stops one or two layers too early, usually because that is the number their reporting tool hands them. Shopify's native reports are a big part of this. They show you something close to gross margin and call it a day, which leaves the most important layer, the one where your decisions actually live, uncomputed.

Let me walk through all three layers, show you exactly where Shopify stops short, and then run a sample per-order P&L so the concept is concrete. This is the foundation under payback and max allowable CAC, so it is worth getting right. Once your CM number is solid, the free max allowable CAC calculator turns it into a spend ceiling in about a minute. From there, the full set of DTC calculators picks up DTC profitability, inventory cash, and returns.

Contribution margin is
what a sale leaves
after its own costs.

Gross margin tells you what is left after the cost of the product. That is useful but incomplete, because selling a product online costs far more than just the product. There are payment fees on every order, the cost to pick, pack, and ship it, and the returns that some fraction of orders generate. And there is the marketing you spent to get that order in the first place.

Contribution margin asks a sharper question: after I subtract every cost that exists because this sale happened, what is left to contribute toward my fixed costs and profit? Fixed costs, your team, your rent, your software, sit outside this. Contribution margin is purely the variable economics of one order, and that is exactly why it is the right number for deciding how much to spend acquiring the next one.

Peel it back in
three steps. Each
strips out more.

The discipline is to compute contribution margin in three layers, peeling away costs in order. Each layer answers a different question. One prerequisite: the COGS you feed into CM1 has to be the landed cost of the unit, product plus freight, duty, and fees, not the supplier invoice alone.

FIG. A, CM LAYER COMPARISONWHAT EACH LAYER DOES / DOES NOT INCLUDE
LayerWhat it includesWhat it excludesDecision it answers
CM1
Revenue minus COGS and payment / transaction fees
Fulfilment, shipping, returns, marketing
Is the product healthy at this price?
CM2
CM1 minus fulfilment, shipping, and blended returns
Marketing / customer acquisition
Is the order profitable to ship?
CM3
CM2 minus variable marketing and CAC
Fixed overhead (team, tech, rent)
Should I scale ad spend on this order?

"A healthy CM1 with a negative CM3 is the most dangerous number in DTC. It feels like a good business right up until the cash runs out."

CM3 is where decisions live. It is the number that tells you whether to scale spend, hold, or pull back. Everything above it is a checkpoint on the way down to the truth.

Free tool
Margin is one of three numbers that decide your next stage. The DTC Growth Scorecard reads all three and shows the one constraint holding you back, in 90 seconds. No signup.
Take the scorecard →

Shopify shows you
CM1 and stops.
CM3 is on you.

Here is the structural problem. Shopify's native reporting knows your revenue and your cost of goods, so it can show you something close to gross margin or CM1. What it does not know, and therefore cannot compute, is the rest. It does not natively pull in your fulfilment and shipping costs per order. It does not net out returns in a way that hits margin. And it has no idea what you spent on Meta, Google, or TikTok to acquire that customer, because that data lives in your ad accounts, not your store.

So the margin number Shopify hands you is, at best, CM1. Useful as a checkpoint, dangerous as a decision tool. Operators who manage to that number are flying blind on the two layers, fulfilment and marketing, where most DTC businesses actually live or die.

The fix

Build CM3 outside Shopify. Pull revenue and COGS from Shopify, fulfilment and shipping from your 3PL or carrier, returns from your own records, and ad spend from your channels. Stitch them into one per-order P&L. It is a spreadsheet, not a project, and it is the single highest-leverage finance artifact a DTC brand can own.

Taylor Sicard · Consulting

If you've never seen your real CM3, that's the place to start. The form takes two minutes.

Start a conversation

One order, traced
from top line
down to CM3.

Let me make this concrete with a single illustrative order. These numbers are an example, not a benchmark, but they show the shape every operator should be able to draw for their own brand.

FIG. 01, SAMPLE PER-ORDER P&LILLUSTRATIVE · 2026
LineAmountRunning margin
Order revenue (AOV)
$80.00
Less COGS
($28.00)
Less payment fees
($2.60)
CM1 = $49.40
Less fulfilment + shipping
($11.00)
Less returns (allocated)
($4.40)
CM2 = $34.00
Less marketing / CAC
($26.00)
CM3 = $8.00

Trace it. An $80 order looks like a $52 gross margin product. After fees, CM1 is $49.40, still healthy. After the cost to ship it and a blended returns allocation, CM2 drops to $34. Then marketing takes $26, and CM3 lands at $8. That order made eight dollars of contribution, not the fifty-something the top of the funnel suggested.

This is the lesson. The brand managing to "65% gross margin" is actually running a 10% CM3 on this order. Both numbers are true. Only one tells you whether you can afford to scale.

Returns wreck CM2
if you account for
them wrong.

Most operators handle returns one of two ways: they either ignore them in the unit economics (dangerous) or they only record the cost when a return actually arrives (lumpy and misleading). Neither gives you a clean per-order model.

The right approach is a blended return allocation. Take your trailing 90-day return rate, say 11%, and multiply it by your average cost to process a return (reverse shipping plus restocking or write-off). Apply that blended cost to every order that ships, regardless of whether that specific order comes back. Your CM2 now reflects the true expected cost of a sale, not the realized cost of a select few.

Return allocation example

Return rate: 11%. Average return cost (reverse shipping + restocking): $14. Blended return allocation per order: $1.54. At an AOV of $80, that is about 1.9 points of margin. Modest individually, but if your return rate spikes to 25% on a new category launch, the allocation swings to $3.50 and your CM2 compresses faster than your reports will show if you are recognizing returns the old way.

Update your return rate quarterly. Categories with high return rates (apparel especially) need to run this number more often. Return rates are not static, and a channel shift toward TikTok Shop often comes with a return-rate surprise worth modeling in advance. See the post on TikTok Shop unit economics for the channel-specific version.

One refinement: separate your return cost from your return revenue impact. A returned item at full cost has a different P&L than one you can re-sell at a slight markdown. Track both. Brands doing high volume of gift or seasonal products often have high return rates but low net cost because inventory goes back to stock intact. The number you put in CM2 should be the net economic cost, not the gross return volume.

First-order CM3
and repeat-order CM3
are different businesses.

Here is the insight that changes how you think about financing growth. First-order CM3 carries the full acquisition cost, the CAC you paid to bring that customer in. Repeat-order CM3 carries almost none of it, just a small variable cost for the email or SMS that triggered the reorder, which might be $0.80 rather than $26.

That gap is the engine of a retention business. A brand where first-order CM3 is $4 and repeat-order CM3 is $31 is not a bad business, it is a subscription in disguise. The economics work if customers actually repeat, and at the right rate. LTV math and CM3 cohort analysis are two sides of the same coin. Build them together.

The practical version is to run your CM3 table by acquisition cohort, monthly. Group customers by the month they first ordered. For each cohort, compute the CM3 of their first order and the cumulative CM3 as they repeat. Watch when the cohort crosses from negative cumulative to positive. That crossing point is your real payback period, and it is almost always longer than what your instinct says.

Channel-level CM3 matters too

Your Meta-acquired customers and your organic customers have different first-order CM3 because their CAC is different. An organic customer might cost $4 to acquire via email or SEO traffic, which means their first-order CM3 looks almost as clean as a repeat customer. Meanwhile your prospecting campaigns on paid social might carry a $35 CAC, which compresses first-order CM3 to near zero on an $80 AOV product.

Running CM3 by channel tells you where to put incremental budget. It is not always the channel with the most volume. It is the channel where additional orders are still positive on CM3 at the margin. That is what channel mix strategy actually optimizes for.

Run CM3 by cohort,
by channel, and
by product. Monthly.

Once you can compute CM3 for one order, run it three ways. By channel, because your CM3 on Meta-acquired orders is almost certainly different from your CM3 on email or organic, and that difference should drive where you spend. By product, because your hero SKU and your loss-leader bundle have very different per-order economics, and you should know which one is subsidizing the other. And by cohort over time, because first-order CM3 and repeat-order CM3 tell different stories. Repeat orders carry no fresh acquisition cost, so their CM3 is usually much fatter.

Review the number monthly. Not because it changes dramatically month to month (it often does not) but because the inputs do. Shipping rates reset. Return rates drift. Ad costs spike during Q4. If you are only looking at CM3 quarterly, you are already two months behind the decision that cost you margin.

The cohort view is the bridge to everything else. A thin or negative first-order CM3 that turns strongly positive on repeat purchases is a retention business, and you finance it accordingly. A first-order CM3 that has to stand alone is a different animal entirely. Either way, CM3 is the input to your max allowable CAC and your payback period. Get the margin layers right and those two fall out cleanly.

Two more reads that connect: check DTC unit economics by category to see how your numbers compare by vertical, and if you are running a multi-channel operation, the financial stack by stage lays out when to add tooling versus staying in spreadsheets.

+ + + + + + + +

Build the per-order P&L once, keep it current, and make it the number every spending conversation starts from. The brands that scale cleanly are not the ones with the highest revenue. They are the ones who know their CM3 cold, by channel, by product, and by cohort, and who treat contribution margin per order as the real ceiling on ad spend. From here, set your spending ceiling with the max allowable CAC formula and sanity-check it against an honest LTV.

Questions operators
ask when they start
building CM3.

Q: What is contribution margin in ecommerce, in one sentence?

It is the revenue left after you subtract every cost that exists because this specific order happened, including the product, the platform fees, the fulfilment, the return risk, and the marketing you paid to get the customer. What is left contributes toward your fixed costs and profit.

Q: What is the difference between CM1, CM2, and CM3?

CM1 is revenue minus COGS and payment fees. It tells you whether the product is fundamentally healthy at this price. CM2 subtracts fulfilment, shipping, and a blended returns allocation. It tells you whether the order is profitable to ship. CM3 subtracts your variable marketing cost (CAC) from CM2. It tells you whether scaling ad spend is sustainable. Most brands manage to CM1. The decisions that matter live at CM3.

Q: Why doesn't Shopify show CM3?

Shopify knows your revenue and your COGS. It does not have your 3PL fulfilment rates, your per-order shipping cost, your returns data, or the ad spend from Meta and Google that brought the customer to your store. Those live in separate systems, and Shopify has no native connector that stitches them into a per-order margin view. Building CM3 means pulling those sources manually into a spreadsheet or a BI tool. Not complicated, but it will not happen on its own.

Q: What is a healthy CM3 for a DTC brand?

There is no universal number because CAC, AOV, and product margins vary too much by category. The more useful frame: is first-order CM3 positive? If not, how many repeat purchases does it take to get cumulative CM3 into the black, and is your actual retention rate high enough to get there? A CM3-negative acquisition model only works if you have the LTV data to prove customers repeat at scale. Most brands do not have that data cleaned up.

Q: How do I allocate return costs in my per-order P&L?

Use a blended return rate rather than recognizing returns only when they happen. Take your trailing 90-day return rate and multiply by your average net return cost (reverse shipping plus restocking or write-off, minus any recovery from resale). Apply that blended number to every order that ships. Update the rate quarterly. This smooths the metric and makes channel and cohort comparisons apples-to-apples.

  Work with Taylor  ·  Consumer Commerce

Revenue is vanity. CM3 is the truth.

Most DTC brands are flying on a margin number their reporting tool never actually computes. I help operators build a real per-order P&L so every spend decision starts from the truth.

Start a conversation More about Taylor →

Free tools: Want to run your own numbers? Try the DTC profitability calculator, and the returns cost calculator for the margin line returns quietly eat.

Questions I keep
getting asked.

What is contribution margin in ecommerce?
Contribution margin is the revenue left after subtracting every variable cost tied to a sale: product cost, payment fees, fulfilment, shipping, returns, and marketing. It measures whether an order actually made money once all the costs that exist because that sale happened are accounted for.
What is the difference between CM1, CM2, and CM3?
CM1 is revenue minus COGS and payment fees. CM2 subtracts fulfilment, shipping, and a blended returns allocation from CM1. CM3 subtracts variable marketing spend (your CAC) from CM2. CM3 is the number that tells you whether scaling ad spend is sustainable.
Why doesn't Shopify show CM3?
Shopify knows your revenue and COGS, so it can show something close to CM1. It does not have access to your 3PL fulfilment costs, per-order shipping rates, returns data, or ad spend from Meta and Google. CM3 has to be built outside Shopify by stitching those data sources together.
What is a healthy CM3 for a DTC brand?
There is no universal benchmark because CAC varies so much by category, channel, and AOV. The useful framing is whether CM3 is positive on first orders (and how quickly repeat orders improve it), and whether it gives you enough headroom above your blended fixed costs to stay solvent as you scale.
How should I allocate return costs in my per-order P&L?
Use a blended return rate applied to every order rather than recognising returns only when they happen. If your return rate is 12%, allocate 12% of your average return cost (reverse shipping plus restocking) to every order that ships. This smooths the metric and makes cohort comparisons clean.