Platform ROAS
4.00x
Break-even ROAS 1.54x
Free · Instant · No signup
Platform ROAS vs true net profit after COGS, payment fees, and shipping.
Platform ROAS
4.00x
Break-even ROAS 1.54x
Net profit
$8,000.00
Net profit margin
40.0%
COGS + fees
$7,000.00
Break-even ROAS
1.54x
Ad managers celebrate the ratio the pixel reports. That ratio ignores the factory. If 30% of revenue is product cost and 5% is Stripe plus shipping, 35 cents of every ad dollar of sales is gone before you subtract the ads themselves. A 4x ROAS on $5,000 spend is $20,000 of revenue and ($6,000 COGS, $1,000 fees, $5,000 media), $8,000 net. That is a real business. The same 4x on a 60% COGS / 15% fee product is a loss. The dashboard did not change. The P&L did.
Platform ROAS = revenue / ad spendCOGS $ = revenue × COGS%Fees $ = revenue × fees%Net profit = revenue − spend − COGS − feesNet margin = net profit / revenueBreak-even ROAS = 1 / (1 − COGS% − fees%)
Defaults: $5,000 spend, $20,000 revenue, 30% COGS, 5% fees. Platform ROAS = 4.00x. Break-even ROAS = 1 / 0.65 ≈ 1.54x. You are well above the line. Net margin = 40%. If net profit goes negative, the profit figure turns rose (text-rose-600) and a screen-reader alert states that scaling this ROAS increases losses.
Break-even ROAS is the platform number you must hit just to cover product and fulfillment, leaving $0 for ads’ own cost in the contribution. Algebra: contribution per dollar of sales is (1 − COGS − fees). Ads must not exceed that contribution, so revenue / spend ≥ 1 / contribution. That is the 1.54x hurdle at the defaults.
If COGS% + fees% ≥ 100%, contribution is gone. You lose money on every organic sale; ads cannot rescue the SKU. The KPI reads N/A (Cost Overrun) and copy still works so you can paste the diagnosis into Slack. Lower COGS, raise price, or stop the campaign. Pair unit economics with the Break-Even Calculator and, for card checkout, the Stripe Fee Calculator.
Ad spend at or below zero is clamped to $1 so the ratio never divides by zero while you type. That is a guard, not a business case. Enter the real media invoice. Revenue should be the same window as spend. Mixing last-click 7-day revenue with 30-day spend will make ROAS look better than cash.
This is not incrementality, MER, or blended CAC. It will not allocate branded search versus prospecting. It will tell you whether the ROAS on the screen survives COGS and fees. Copy exports spend, revenue, both percentages, platform ROAS, break-even ROAS, net profit, and net margin for an investor or client update. If the rose alert is showing, do not scale. Change the offer.
A practical workflow: take last month’s platform ROAS, enter true landed COGS (not MSRP minus hope), and add payment plus shipping as a combined fee percent. If platform ROAS is 2.2x and break-even is 1.54x, you have room. If platform ROAS is 1.8x and COGS is 50%, you are buying revenue at a loss. New product launches often look cheap in ads because the pixel credits branded demand; this calculator does not care. It only cares whether the dollars that arrived, minus the dollars that left, are positive. Recalculate weekly when you scale, not after the credit card bill.
Platform ROAS is gross ad revenue divided by ad spend, the number Meta or Google reports. Break-even ROAS is 1 ÷ (1 - COGS% - fees%). At 30% COGS and 5% fees, break-even is 1.54x. A 4.0x platform ROAS looks healthy; it only is healthy if it clears 1.54x after product and fulfillment cost.
Net profit = gross ad revenue − ad spend − (revenue × COGS%) − (revenue × fees%). Defaults: $20,000 revenue, $5,000 ads, 30% COGS ($6,000), 5% fees ($1,000) → $8,000 net and a 40% net margin on revenue.
COGS plus processing and shipping are 100% or more of revenue. The denominator of break-even ROAS is zero or negative, so no advertising return can produce a profit. The page shows N/A (Cost Overrun) and an alert. Fix the offer before you buy more traffic.
ROAS divides by spend. Zero spend is undefined. The engine uses $1 so the ratio stays a number while you edit other fields. Real campaigns should enter actual media cost.