TL;DR
- True ROAS is net revenue after COGS, shipping, processing fees, and returns — divided by ad spend. Platform ROAS uses gross revenue only.
- Platforms routinely overstate profitability by 40–70% on commerce accounts.
- Break-even true ROAS = 1 ÷ contribution margin. At 40% margin you need 2.5x to break even.
- Pull four inputs weekly: ad spend, order-level revenue, COGS per SKU, and variable cost per order.
- Fairview computes true ROAS automatically once Stripe or Shopify, the ad platforms, and your accounting tool are connected.
True ROAS is the ratio of revenue-minus-variable-costs to ad spend. It is the only ROAS that correlates with profit. Platform-reported ROAS uses gross revenue, which is why a 4.2x campaign can still lose money.
Every ecommerce founder has seen it. The Google Ads dashboard shows 4x ROAS. The monthly P&L shows EBITDA shrinking. Both are accurate. They are measuring different things.
True ROAS is the metric that reconciles the two. It is how you decide which campaigns to scale, which to cut, and what ad budget actually makes the business more profitable. If you have been using platform ROAS as your north star, this is the switch you have been looking for.
True ROAS is the operator-level metric behind the profit leak detection framework. It is also a prerequisite for calculating contribution margin by channel.
What is true ROAS?
Definition
True ROAS: net revenue (after COGS, shipping, payment fees, and returns) divided by ad spend for the same campaign window. Expressed as a multiplier: 1.1x means every $1 in ad spend produced $1.10 in net profit-contributing revenue.
Platform ROAS answers the question "did people click and buy?" True ROAS answers the question "did the campaign make us money?" Only the second matters for ad allocation.
Platform ROAS vs true ROAS
| Aspect | Platform ROAS | True ROAS |
|---|---|---|
| Revenue used | Gross, platform-attributed | Net of variable costs |
| Attribution source | Platform pixel / conversion API | Store of record (Stripe, Shopify) |
| Accounts for refunds? | No | Yes |
| Accounts for COGS? | No | Yes |
| Correlates with profit? | Weakly | Directly |
Key insight
Platform ROAS is a marketing metric. True ROAS is a business metric. Confusing the two is how growing ecommerce brands quietly erode margin.
The true ROAS formula
Formula:
Worked example from the diagram: $42,000 attributed revenue minus $14,200 COGS, $3,800 shipping, $1,250 payment fees, and $2,100 returns = $20,650 net revenue. Divided by $18,800 ad spend = 1.10x true ROAS. The platform reported 2.23x — a 50% overstatement.
Which costs to subtract (5 buckets)
1. Cost of goods sold (COGS)
Pull cost per SKU from your e-commerce back end or accounting tool and multiply by units ordered in the campaign window. This is the largest line item for most DTC brands and the one most commonly ignored in in-platform reporting.
2. Shipping and fulfillment
Outbound shipping, 3PL handling, packaging, oversize surcharges, and cross-border fees. Pull per-order shipping cost from the 3PL or Shopify shipping report. For brands with free-shipping thresholds, this is usually 6–14% of revenue.
3. Payment processing fees
Stripe charges 2.9% + $0.30 per transaction in the US, more for international cards and FX. Pull fees from the processor’s fee export. These compound fastest on low-AOV orders.
4. Returns and refunds
Apparel and footwear run 20–40% return rates; electronics and home goods 8–15%. Subtract the refunded revenue, but also the return shipping and restocking labor. A 6% refund rate on orders where you pay both outbound and return shipping lands closer to 12% of gross revenue hit.
5. Attribution adjustments (optional)
Platforms over-credit themselves. If last-click or data-driven attribution from your analytics tool shows 15% fewer conversions than the ad platform claims, apply that discount to revenue before subtracting costs. Most Triple Whale or Northbeam customers set this explicitly; Fairview handles it via your chosen attribution model.
Break-even ROAS: the number you can't go below
Break-even true ROAS tells you the minimum you can run without losing money on the campaign. The formula is simple: Break-even ROAS = 1 ÷ contribution margin.
At 40% contribution margin, break-even is 2.5x. At 25%, you need 4.0x just to break even. If platform ROAS is showing 3.5x and your contribution margin is 25%, the campaign is losing money despite looking profitable on the dashboard.
Quote-ready
If you don’t know your break-even ROAS, you don’t know whether your best campaign is your best campaign.
Benchmarks by vertical
| Vertical | Typical contribution margin | Healthy true ROAS |
|---|---|---|
| Beauty / supplements | 55–70% | 1.6–2.0x |
| Apparel / footwear | 35–50% | 2.2–3.0x |
| Home goods / furniture | 30–45% | 2.5–3.5x |
| Electronics / accessories | 18–30% | 4.0–6.0x |
| Food / beverage | 25–40% | 3.0–4.5x |
How Fairview calculates true ROAS automatically
Fairview connects to Google Ads, Meta Ads, Stripe, Shopify, QuickBooks, and Xero via native OAuth. Once connected, the operating view pulls ad spend, revenue, COGS, fees, and refunds into one model and computes true ROAS per campaign, per channel, and per SKU on a daily cadence.
When a campaign’s true ROAS drops below your break-even threshold, Fairview writes a named next-best action into the Monday report — not a dashboard to interpret, a sentence: "Meta campaign ‘Fall-Jackets-B’ true ROAS dropped from 2.6x to 1.3x this week. Break-even at your 40% margin is 2.5x. Recommend 50% spend cut pending review."
See pricing and tiers for the plan that fits your stack.
5
Cost buckets reconciled automatically
Daily
True ROAS refresh per campaign
40–70%
Typical platform ROAS overstatement
Key takeaways
- True ROAS subtracts COGS, shipping, fees, and returns. Platform ROAS subtracts none of them.
- Break-even true ROAS = 1 ÷ contribution margin. Know yours.
- Overstatement of 40–70% is normal on platform-reported numbers.
- Pull revenue from the store of record (Stripe / Shopify), not the ad pixel.
- Act on true ROAS weekly, not monthly — CPMs and return rates move fast.
See your true ROAS per campaign this week.
Connect Google Ads, Meta, Stripe, and Shopify in under 10 minutes. Fairview returns your first campaign-level true ROAS on day one. 14-day trial, no card.
Frequently asked questions
Start with the store of record (Stripe or Shopify) for revenue attributed to the campaign. Subtract cost of goods sold per SKU, shipping and fulfillment per order, payment processing fees, and refunded revenue. Divide the result by ad spend for the same campaign window. The number that comes out is true ROAS — a direct measure of whether the campaign added profit.
Platform ROAS uses gross revenue from the platform’s own pixel, which ignores cost of goods sold, shipping, processing fees, and refunds. Platforms also tend to over-credit themselves in attribution. True ROAS corrects both: it uses net revenue from the store of record and subtracts every variable cost the order triggered.
A healthy true ROAS is anything above your break-even, and break-even is the inverse of contribution margin. A beauty brand at 60% margin needs around 1.7x. An apparel brand at 40% margin needs 2.5x. An electronics accessory brand at 22% margin needs 4.5x. There is no universal number — only a number relative to your own margin structure.
Break-even ROAS is the minimum true ROAS at which a campaign neither makes nor loses money. The formula is 1 divided by your contribution margin expressed as a decimal. At 40% contribution margin, break-even is 1 ÷ 0.40 = 2.5x. Any true ROAS below break-even means the campaign is costing more in variable costs than it is generating in net revenue.
Yes. Any revenue that gets refunded is not revenue the business kept, so it has to come out of the numerator. For categories with high return rates (apparel, footwear) the adjustment is material: a reported 3.1x can fall to 2.3x once a 25% return rate is deducted. Many operators also subtract the outbound and return shipping on refunded orders, since both costs are real and neither gets recovered.
Weekly at minimum, daily during peak seasons (BFCM, holiday) when CPMs and return rates both spike. Paid-media auctions move fast enough that a 2-point ROAS slip on a major campaign can run for 20 days unseen if you only check monthly. Operators who review true ROAS every Monday catch drift within seven days, before it compounds into a bad quarter.