Contribution Margin
The revenue remaining after subtracting all variable costs per order — COGS, shipping, payment fees, and returns — that D2C brands use to set CAC ceilings and profitability floors for paid media.
Your ROAS can look strong while your business loses money on every order. Contribution margin is what’s left after variable costs — COGS, shipping, payment fees, returns — are removed from revenue. If the margin per order before ad spend is $22, paying more than $22 in CAC is a per-order loss before any fixed cost begins.
How it shows up in the wild
Triple Whale (analytics platform, 2025 ecommerce benchmarks): Median D2C contribution margin fell from 35% in 2021 to 22% in 2025, per Triple Whale’s published benchmarks tracking thousands of Shopify brands. A brand at 35% CM on a $100 AOV had $35 to spend on acquisition before hitting zero pre-overhead margin. At 22%, a 4x ROAS target implies $25 in ad spend per $100 of revenue — already exceeding that floor.
HexClad (cookware D2C brand): HexClad uses Saras Pulse for daily contribution margin reporting by channel, category, and SKU across Shopify, Amazon, and wholesale. The brand runs $15M+ in annual revenue across three distribution channels where blended metrics hide per-product margin differences.
Space Ads Agency (agency case study, Google Shopping): After switching an ecommerce client from revenue-optimized to profit-based conversion values, conversion volume dropped 22% while profit rose 31% at the same ad spend. The starting problem: 40% of that account’s conversions came from products with under 15% margin. Google’s algorithm had been efficiently routing budget to the lowest-margin SKUs.
Google Ads (platform, 2025): Accounts using Google’s Gross Profit Optimization (GPO) have seen an average 15% uplift in campaign profit compared to revenue-only bidding, per Wolfgang Digital’s analysis of Google’s internal data. GPO launched in 2025 as a campaign-level Smart Bidding setting where advertisers upload COGS data. The algorithm routes budget toward high-margin SKUs even at the cost of lower conversion volume.
Why it matters
D2C brands split contribution margin into tiers. CM1 is revenue minus cost of goods sold. CM2 further subtracts fulfillment costs, payment fees, and returns — the number most practitioners use for setting CAC ceilings.
If CM2 before acquisition spend is $30 and the margin target is $5, the maximum affordable CAC is $25. Any ROAS target implying a higher CAC costs money regardless of what the ads dashboard shows.
My hunch is that the gap between ROAS-based and margin-based budgeting is widest in multi-SKU accounts. I think brands anchoring ROAS floors to blended account averages without tracking CM2 by product are likely over-spending on low-margin SKUs.
Related terms
Frequently asked questions
What’s the difference between CM1 and CM2? CM1 is revenue minus COGS — the basic product margin. CM2 further subtracts shipping, payment gateway fees, and returns. CM2 is the more operationally relevant number for paid media decisions because it captures the variable costs that scale with order volume.
Why do brands still report ROAS if contribution margin is more accurate? ROAS is native to every ad platform and requires no external data. CM2 requires connecting order-level COGS and fulfillment cost data to campaign spend, which no ad platform does natively. Most brands report ROAS inside the platform and track contribution margin in a separate analytics layer.
Should contribution margin include ad spend? CM3 does: it subtracts ad spend from CM2, producing per-order margin after all variable and acquisition costs. CM2 sets the ceiling on what you can afford to spend. CM3 tells you whether you stayed within it.