RROAS BREAK

Unit economics

Contribution Margin vs Gross Margin

Gross margin measures product economics. Contribution margin keeps subtracting the order costs that determine how much is actually available for acquisition.

60-second answer

Use contribution margin to set an acquisition ceiling.

Gross margin is revenue minus product cost. Contribution margin subtracts the other costs caused by an order, such as fulfillment, payment or marketplace fees, discounts, refunds, and expected return loss. Break-even ROAS should use contribution margin because that is the money available to pay for advertising.

Contribution margin % = (net revenue - all variable order costs) / net revenue

Break-even ROAS = 1 / contribution margin %

Decision boundary: This model stops before fixed overhead. Reserve overhead and profit explicitly in a target ROAS rather than hiding them inside product cost.

Cost coverage

Gross margin can overstate the ad budget.

Order componentGross marginContribution margin
Net product revenueStarting pointStarting point
Product cost / COGSIncludedIncluded
Pick, pack, shipping subsidyUsually excludedIncluded
Payment and marketplace feesUsually excludedIncluded
Discounts and mature refund lossDepends on reportIncluded explicitly
Reverse logistics and unrecovered stockExcludedIncluded when material

Margin is not markup

A $60 product sold for $100 has a $40 gross profit, a 40% gross margin, and a 66.7% markup on cost. ROAS formulas use margin as a share of revenue. Entering 66.7% markup as margin would create an acquisition budget that does not exist.

Worked example

Missing costs move the floor from 1.67x to 2.41x.

A $120 order with $48 product cost has $72 gross profit and 60% gross margin. On that partial view, break-even ROAS is 1.67x.

StepAmountRemaining
Net order revenue$120.00$120.00
Product cost-$48.00$72.00
Fulfillment-$9.00$63.00
Payment fees, 3%-$3.60$59.40
Returns and discounts, 8%-$9.60$49.80

The complete contribution margin is $49.80 / $120 = 41.5%, so break-even ROAS is $120 / $49.80 = 2.41x. Using 1.67x as the campaign floor would spend $22.20 per order more than the model makes available.

Recalculate this full-cost order

Where to get the inputs

Reconcile reports to an order-level cost sheet.

  • Use Shopify net sales or another clearly labeled net product revenue field, excluding tax.
  • Pull landed product cost from inventory or finance records, not a storefront price.
  • Use invoices or ledger data for fulfillment, shipping subsidy, processor, and marketplace fees.
  • Estimate return loss from cohorts old enough to pass the return window.
  • Segment products or regions when their cost structures are materially different.