ROAS Calculator
Turn ad spend and revenue into a clear return. Add your margin to see where break-even begins.
Your return
Results appear when JavaScript is enabled.
Enter your figures to calculate revenue per unit of spend.
ROAS = revenue ÷ ad spend
- Revenue minus ad spend
- —
This is not profit: product costs and other expenses have not been deducted.
Break-even check
Add gross margin to see your break-even point.
- Break-even ROAS
- —
- Profit after product costs and ad spend
- —
A product-cost model, not net profit. Shipping, fees, returns, taxes, and overhead are excluded unless reflected in your margin. Attribution quality matters.
What if your ROAS changes?
| ROAS | Assumed revenue | Profit after costs |
|---|---|---|
| No scenarios yet. Enter gross margin to begin. | ||
How to calculate ROAS
Return on ad spend (ROAS) is the revenue attributed to advertising divided by the cost of that advertising.
ROAS = attributed revenue ÷ ad spend
ROAS percentage = ROAS × 100
For example, 5,000 in attributed revenue divided by 1,000 in ad spend equals 5×, or 500%. Each 1 spent generated 5 in revenue. These are example figures, not a performance benchmark.
Match the date range, currency, and attribution approach. If you start with orders, multiply attributed orders by their average order value to estimate revenue. Keep discounts and returns consistent with your reporting.
ROAS vs ROI vs POAS
ROAS measures revenue per unit of ad spend. It does not deduct product costs.
ROI measures net return relative to the investment being evaluated. Under this calculator's limited model, ROI on ad spend = (revenue × gross margin − ad spend) ÷ ad spend. Full-business ROI needs the relevant additional costs and investment.
POAS means profit on ad spend. Its numerator depends on how profit is defined; some reporting uses contribution before advertising divided by ad spend. Specify which costs are deducted before comparing it with ROAS or ROI. This tool labels its modeled profit explicitly rather than implying a universal POAS definition.
What is a good ROAS?
A useful starting point is your own break-even point, not an industry average. Break-even ROAS = 1 ÷ gross margin as a decimal. At 25% margin, that is 4×; at 40%, it is 2.5×.
Above that point, attributed revenue covers product costs and advertising under this model. It does not necessarily cover shipping, fees, or overhead. A target ROAS needs room for those costs and your desired profit. Higher revenue ROAS is not automatically better if margins differ.
Break-even ROAS
Break-even occurs when revenue × gross margin equals ad spend. The ratio threshold depends on margin, not on the size of your advertising budget, if margin stays constant.
Use the break-even ROAS calculator to include shipping, processing fees, and other variable costs per order, and set a target for your desired margin.
Frequently asked questions
What is the ROAS formula?
ROAS equals attributed revenue divided by ad spend. Divide 5,000 by 1,000 to get 5×, or 500%. Use the same currency and reporting period for both inputs.
Is a 4× ROAS good?
A 4× ROAS is above product-cost-and-ad-spend break-even only when gross margin is greater than 25%. At 25% margin it is exactly break-even under this model; other operating costs can still make it unprofitable.
How do I calculate break-even ROAS?
Divide 1 by your gross margin expressed as a decimal. A 40% gross margin gives 1 ÷ 0.40 = 2.5×. This covers product costs and ad spend only, not every business expense.
Is revenue minus ad spend profit?
No, revenue minus ad spend is not profit because it excludes product costs and other expenses. Enter gross margin to estimate profit after product costs and ad spend; that estimate still excludes costs not captured in your margin.
Can I calculate ROAS with zero ad spend?
No, ROAS is undefined when ad spend is zero. Enter positive ad spend to calculate a ratio. Zero revenue with positive ad spend is valid and gives 0× ROAS.
Are my inputs uploaded or converted into another currency?
No, calculations stay in your browser and the currency selector changes display only. Inputs are saved in the URL hash, not sent to a calculation backend. Anyone with your copied link can read those inputs, and the URL can remain in browser history.