1. Scope
Converts ad spend, impressions, clicks, and conversions into ROAS, break-even ROAS, profit after spend, and the conversion rate required to hit a target. It does not include platform fees, incrementality adjustments, or multi-touch attribution.
2. Inputs and outputs
Inputs
- ad_spend number (currency)
- revenue_generated number (currency)
Revenue from the ads. Alternatively supply conversions + average_order_value.
- conversions number
Optional — used with average_order_value when revenue is not given directly.
- average_order_value number (currency)
Optional companion to conversions.
- product_cost number (currency)
COGS per unit/order.
- target_profit_margin_percent percent
Outputs
- revenue / actualRoas
Revenue and revenue / ad_spend.
- cogs / grossProfit
conversions × product_cost, and revenue − cogs.
- profitAfterAdSpend / profitMarginPercent
grossProfit − ad_spend, and that over revenue.
- breakEvenRoas
1 / (1 − cogs/revenue).
- targetCpa / requiredConversionRate / roasHealth / guidance
Max CPA and conversions to hit the target margin, a health band, and guidance.
Engine source: src/lib/ad-spend-roas-calculator/engine.ts
3. Formula / scoring logic
revenue = revenue_generated (or conversions * average_order_value)
actual_roas = revenue / ad_spend
cogs = conversions * product_cost
profit_after_ad_spend = revenue - cogs - ad_spend
breakeven_roas = 1 / (1 - cogs / revenue) 4. Assumptions
- Revenue is entered directly (or via conversions × AOV); the tool does not derive it from clicks × conversion rate.
- COGS is per order (conversions × product_cost); it is netted before profit, so ROAS and profit differ.
- Platform fees, ad agency fees, and returns are assumed to be zero or already netted.
5. Data sources
6. Known limitations
- ROAS is not profit. A 4:1 ROAS at 25% margin breaks even; at 60% margin, it's highly profitable. Always check against breakeven ROAS.
- Incrementality requires a hold-out test (geo-split or audience hold-out). Without it, reported ROAS can overstate channel value meaningfully.
7. Reproducibility
Input
ad_spend = $5,000, conversions = 200, average_order_value = $75, product_cost = $20, target_profit_margin_percent = 30.
Expected output
revenue = $15,000, actualRoas = 3.0×, cogs = $4,000, grossProfit = $11,000, profitAfterAdSpend = $6,000, profitMarginPercent = 40, breakEvenRoas ≈ 1.36×.
8. Change log
- 2026-04-24 methodology page first published.
Worked example
Run live against the same engine this site ships
(/engines/ad-spend-roas-calculator.js).
The inputs and outputs below are recomputed on every build and
independently re-verified in CI — they are never hand-authored.
Input
- tool
- ad_spend_roas_calculator
- ad_spend
- 5000
- revenue_generated
- 20000
- product_cost
- 20
- target_profit_margin_percent
- 20
Output
- revenue
- 20000
- actualRoas
- 4
- breakEvenRoas
- 1
- profitAfterAdSpend
- 14980
- profitMarginPercent
- 74.9
- targetCpa
- 15980
- requiredConversionRate
- 31.29
- roasHealth
- Excellent
- guidance
- ROAS of 4× is well above break-even. Scale budget confidently while monitoring marginal ROAS at higher spend levels.
- cogs
- 20
- grossProfit
- 19980
Frequently asked questions
- What does the Ad Spend / ROAS Calculator calculate?
- Converts ad spend, impressions, clicks, and conversions into ROAS, break-even ROAS, profit after spend, and the conversion rate required to hit a target. It does not include platform fees, incrementality adjustments, or multi-touch attribution.
- What inputs does the Ad Spend / ROAS Calculator need?
- It takes 6 inputs: ad_spend, revenue_generated, conversions, average_order_value, product_cost, target_profit_margin_percent. Outputs returned: revenue / actualRoas, cogs / grossProfit, profitAfterAdSpend / profitMarginPercent, breakEvenRoas, targetCpa / requiredConversionRate / roasHealth / guidance.
- What formula does the Ad Spend / ROAS Calculator use?
- The exact computation is: revenue = revenue_generated (or conversions * average_order_value); actual_roas = revenue / ad_spend; cogs = conversions * product_cost; profit_after_ad_spend = revenue - cogs - ad_spend; breakeven_roas = 1 / (1 - cogs / revenue)
- Can I verify the Ad Spend / ROAS Calculator with a worked example?
- Yes. With ad_spend = $5,000, conversions = 200, average_order_value = $75, product_cost = $20, target_profit_margin_percent = 30. the tool returns revenue = $15,000, actualRoas = 3.0×, cogs = $4,000, grossProfit = $11,000, profitAfterAdSpend = $6,000, profitMarginPercent = 40, breakEvenRoas ≈ 1.36×.
- Where does the Ad Spend / ROAS Calculator get its benchmark data?
- Reference data is sourced from: US FTC ad-attribution guidance (Endorsement Guides) (as of 2023).
- What can the Ad Spend / ROAS Calculator not tell me?
- Known limitations: ROAS is not profit. A 4:1 ROAS at 25% margin breaks even; at 60% margin, it's highly profitable. Always check against breakeven ROAS. Incrementality requires a hold-out test (geo-split or audience hold-out). Without it, reported ROAS can overstate channel value meaningfully.