Jul 18, 2026 · 8 min read
The D2C Profitability Playbook: Revenue to Net Profit
First-hand guidance from the Daymark team on analytics workflows, growth reporting, and the operational metrics teams use to make decisions.
A D2C brand hit $200,000 in revenue last quarter and had less cash in the bank at the end of it than at the start. The founder wasn't confused about the top-line number. That one was on the Shopify dashboard, big and green. He was confused about where it went. The answer is that revenue was never the number that mattered. Net profit was, and nobody was tracking the path between the two.
This playbook walks that path, one cost at a time, from the price a customer pays at checkout down to what the business actually keeps. Each stage below links to a deeper guide or a calculator so you can go as far as you need. Read it top to bottom once to see the whole picture, then use it as a map back to whichever stage is leaking on your brand.
Revenue Is Not Profit, and the Gap Is Bigger Than You Think
Here is the worked example. A brand does $200,000 in gross revenue in a quarter. On the Shopify home screen, that's the headline. Here is what the same quarter looks like once every real cost is layered in.
| Line | Amount | Running total |
|---|---|---|
| Gross revenue | $200,000 | $200,000 |
| Less discounts (12%) | -$24,000 | $176,000 |
| Less returns (9%) | -$15,840 | $160,160 |
| Net revenue | $160,160 | |
| Less COGS (38% of net) | -$60,861 | $99,299 |
| Gross profit | $99,299 | |
| Less shipping and fulfillment | -$22,400 | $76,899 |
| Less payment processing fees | -$5,124 | $71,775 |
| Less ad spend | -$68,000 | $3,775 |
| Contribution margin | $3,775 | |
| Less fixed overhead (salaries, software, rent) | -$18,000 | -$14,225 |
| Net profit | -$14,225 |
The brand that "did $200K" lost $14,225. Nothing here is exotic. Every line is a normal D2C cost. But none of them appear on the revenue number everyone was watching, and the biggest one, ad spend, gets reported by Google and Meta against attributed revenue rather than against realized profit. That single framing gap is how a growing brand quietly goes underwater.
The rest of this playbook is the fix. Track each line below, keep it current, and the surprise at the end of the quarter goes away.
Stage 1: Net Revenue, After Discounts and Returns
Start by removing the money that was never really yours. Gross revenue counts the full order value at checkout. Two things pull it down before you've spent a cent on product.
Discounts lower net sales on every order that uses a code. Returns claw back revenue weeks after the sale, so a strong month can look worse once the return window closes. Both belong as their own explicit lines, not blended into a single "sales" figure. The monthly ecommerce P&L template breaks out exactly which line each one goes on and why hiding them nets out to a wrong number.
Stage 2: COGS and Gross Margin
Subtract the landed cost of the goods you sold. That's product cost plus inbound freight, duties, and packaging, per unit, for the units that actually shipped.
The trap is using a blended average when your SKUs have very different margins. A brand can show a healthy blended gross margin while half its catalog sells below cost. Gross margin is the first real health check on a product, so track it per SKU where you can. For the definition, formula, and typical ranges, see the gross margin glossary entry. To model the layer just below it, the contribution margin calculator adds variable costs on top of COGS.
Stage 3: Shipping and Fulfillment
Shipping is a cost you often subsidize on purpose. Free shipping above a threshold, blanket free shipping, and pick-pack-and-ship fees all come out of margin, and none of them move with ad spend or attributed revenue. They move with order count and basket composition.
Watch shipping as a percentage of net sales, especially during any promotion that changes basket size. A "buy two, ship free" offer can lift conversion while pushing average shipping cost per order up faster than average order value.
Stage 4: Payment Processing Fees
Processing fees scale with revenue, not profit. Most Shopify Payments setups run around 2.9% plus a fixed fee per transaction, more for certain card types, currencies, or buy-now-pay-later. On a $60 order the fixed portion eats a bigger share than on a $200 order, so channels skewed toward small baskets lose more here than they look like they should.
Stage 5: Ad Spend and True CAC
This is usually the largest variable cost and the most misreported one. Google Ads and Meta Ads report spend against their own attributed conversion value, inside an attribution window, sometimes with modeled conversions. That number does not reflect discounts, returns, fees, or COGS on the orders it claims.
The result is a channel that looks profitable on ROAS while losing money on contribution margin. For where that gap opens up specifically between ad platforms and Shopify, see margin leakage between ad spend and Shopify profit. And when your ad platforms and Shopify report different revenue entirely, here's why the numbers never match.
Stage 6: Contribution Margin, the Number That Decides Growth
Contribution margin is what's left after every variable cost: net revenue minus COGS, shipping, fees, and ad spend. It's the money each incremental order contributes toward fixed costs and profit.
Contribution Margin = Net Revenue - COGS - Shipping - Fees - Ad Spend
If contribution margin per order is positive, more volume helps. If it's negative, more volume makes the hole deeper, which is exactly how the $200K brand above lost money by growing. Model it for your own numbers with the contribution margin calculator.
Stage 7: Fixed Overhead and Net Profit
Finally, subtract the costs that don't move with order volume: salaries, software, rent, agency retainers. Contribution margin minus fixed overhead is net profit. This is the number the founder at the top was actually looking for.
For the definition and healthy ranges, see net profit margin. To do this at the order level instead of the whole business, walk through how to calculate true net profit per order on Shopify, or drop your numbers into the net profit per order calculator.
Where Your Brand Stacks Up
Once you have net profit, the next question is whether it's good. That depends on category and stage. Typical D2C net margins run thin, often in the single digits, which is exactly why the leaks above matter so much. See the D2C ecommerce benchmarks for gross margin, contribution margin, CAC, and net margin ranges to compare against.
Frequently Asked Questions
Why can a brand grow revenue and still lose money?
Because revenue ignores every cost below it. Discounts, returns, COGS, shipping, fees, and ad spend all come out before profit, and ad platforms report spend against attributed revenue rather than realized margin. If contribution margin per order is negative, adding volume deepens the loss. A brand can double revenue and lose more money doing it, which is why net profit, not revenue, is the number to track.
What is the difference between gross margin, contribution margin, and net profit?
Gross margin is net revenue minus COGS. Contribution margin subtracts variable costs too: shipping, payment fees, and ad spend. Net profit then subtracts fixed overhead like salaries, software, and rent. Each layer removes a different type of cost. Gross margin judges the product, contribution margin judges each order, and net profit judges the whole business.
How often should a D2C brand rebuild its profit picture?
Monthly is a reasonable baseline, weekly once ad spend is high enough that a channel or SKU mix shift would be expensive if it ran unnoticed. Quarterly is too slow. Costs like COGS and return rates drift constantly, so a profit calculation built on last quarter's inputs can be wrong by a wide margin without anyone noticing until the cash doesn't match.
Which cost line usually surprises D2C founders the most?
Ad spend measured against real margin instead of ROAS. A campaign can show a strong ROAS while losing money per order once discounts, returns, fees, and COGS on those orders are subtracted. Returns are the second common surprise, since they land weeks after the sale and quietly reverse revenue that already looked booked.
Do I need an accountant to build a D2C P&L?
No. The structure is straightforward: revenue, then discounts and returns, then COGS, then variable costs, then fixed costs, then net profit. The hard part is keeping the inputs current and breaking results out by SKU and channel every period. That is a data and discipline problem more than an accounting one. A copyable template and connected data sources solve most of it.