To calculate ROAS, divide attributed revenue by ad spend:
ROAS = attributed revenue / ad spendIf a campaign records 12,000 in attributed revenue from 3,000 in ad spend, the calculation is:
$12,000 / $3,000 = 4.0That result can be written as 4.0x, 400%, 4:1, or 4 in attributed revenue for every 1 spent. Google Ads calls the equivalent metric conversion value per cost, while Amazon's ROAS guide uses the same revenue-divided-by-spend structure.
The arithmetic takes seconds. Deciding which revenue and costs belong in the calculation takes more care. A 4x ROAS is not a 400% profit, and 1x usually isn't business break-even.
How to Calculate ROAS: Formula and 30-Second Example
The standard formula divides the revenue credited to an ad, ad set, campaign, or channel by the media spend for that same scope.
| Result format | What a 4.0 ROAS means |
|---|---|
| Multiple | 4.0x |
| Percentage | 400% |
| Ratio | 4:1 |
| Plain English | 4 attributed revenue per 1 spent |
To convert ROAS into a percentage, multiply the ratio by 100:
ROAS percentage = (attributed revenue / ad spend) x 100So 0.5x equals 50%, 1x equals 100%, and 3x equals 300%. Standard ROAS does not subtract the original ad spend before producing the percentage. That is one reason people sometimes confuse it with a finance-style return calculation.
For Excel or Google Sheets, where A2 contains attributed revenue and B2 contains ad spend, use:
=IF(B2=0,NA(),A2/B2)The IF condition matters. When spend is zero, ROAS is undefined, so the result should be N/A, not infinity.
Current explainers and calculators agree on the formula. That includes Omni Calculator, WeWork's ROAS explainer, Consulterce's calculator, AppsFlyer's glossary, Coursera's overview, Shopify's guide, Triple Whale's calculation guide, Wall Street Prep, AgencyAnalytics, HubSpot's ad calculator, Adjust's definition, BigCommerce, Salesforce, and CDP.com's glossary. Some tools, such as the Top Growth Marketing calculator, also compete on instant, ungated arithmetic.
But agreement on the formula doesn't make every output comparable. The inputs still decide what the number means.
How to Calculate ROAS Step by Step
Use this process when the result will shape a budget, bid target, campaign comparison, or profitability decision.
1. Start With the Decision Your ROAS Must Support
Start with the question you're trying to answer. Reading a platform dashboard isn't the same job as comparing two creatives, assessing total paid-media efficiency, or deciding whether acquisition is profitable.
That decision sets the numerator, denominator, attribution source, and reporting period.
2. Define the Revenue in Your ROAS Numerator
Write down the exact revenue basis. You might use:
• Platform-attributed purchase value
• Store-recorded net sales
• New-customer revenue
• First-order revenue
• D30 or D90 cohort revenue
• CRM closed-won revenue
• Probability-weighted pipeline value
• Marketplace commission revenue
• In-app purchase, subscription, or ad revenue
“Revenue” on its own is too vague. A marketplace that processes 100 in gross merchandise value but keeps a 15% take rate shouldn't automatically use 100 as company revenue.
3. Define the Costs in Your ROAS Denominator
Standard platform ROAS normally uses media spend only. An internal calculation can go wider by including campaign-specific agency fees, creative production, affiliate fees, tools, or labor.
If you broaden the denominator, label it. “3.2x media ROAS” and “2.7x loaded ROAS” can both be correct, but they're answers to different questions.
4. Match the Spend Period to the Revenue Cohort
Spend and revenue need a coherent time relationship. Divide July spend by all July revenue and you can end up mixing customers acquired in prior months with customers acquired by the current campaign.
For quick-purchase ecommerce, a calendar-period calculation may be serviceable. For apps, subscriptions, and long B2B sales cycles, use an acquisition cohort and report a horizon such as D7, D30, D90, or realized six-month revenue.
5. Record Attribution Windows and Reporting Dates
Document the click window, view window, attribution model, conversion action, reporting date basis, and whether modeled conversions are included. Google Analytics' attribution documentation describes attribution as assigning credit across touchpoints. That's different from proving an ad caused every credited sale.
6. Normalize Currency, Refunds, Tax, and Shipping
Convert revenue and spend into one reporting currency, then use one documented foreign-exchange policy. Keep the treatment of discounts, refunds, chargebacks, tax, and shipping revenue consistent too.
For management reporting, pass-through sales taxes are commonly excluded from revenue and recoverable VAT is commonly excluded from cost, but your accounting policy should govern the final treatment.
7. Calculate ROAS, Label It, and Let the Data Mature
Divide the chosen revenue by the chosen spend, then add an as-of date. Recent results can be incomplete because purchases, offline conversions, returns, and conversion adjustments arrive later.
Google's conversion-lag guidance and its localized conversion-delay documentation both explain why recent conversion-based results can look weaker before delayed outcomes are recorded.
Once those seven steps are explicit, the ratio stops floating around as a dashboard number. Someone else can reproduce it.
Why ROAS Measures Revenue, Not Profit
This distinction matters more than any other in the article.
Suppose a campaign records 12,000 in attributed revenue from 3,000 in spend. Its ROAS is 4x. Revenue minus media spend is 9,000, but that 9,000 is not necessarily profit. The business may still need to pay for inventory, fulfillment, shipping subsidies, payment processing, returns, campaign production, payroll, software, and tax.
Four cost buckets keep the calculation from getting muddled:
| Bucket | Examples | Where it normally belongs |
|---|---|---|
| Revenue adjustments | Discounts, refunds, chargebacks | Deduct from gross attributed revenue |
| Acquisition costs | Media, agency allocation, campaign creative | ROAS denominator when calculating loaded ROAS |
| Variable business costs | COGS, packaging, fulfillment, payment fees | Contribution-margin calculation |
| Fixed overhead | Rent, general software, management salaries | Company profitability, usually outside campaign contribution break-even |
Net attributed revenue can be expressed as:
Net attributed revenue = gross attributed revenue
- discounts
- refunds
- chargebacksLoaded ROAS can then be defined as:
Loaded ROAS = net attributed revenue / total included acquisition costThe word defined matters here. Loaded ROAS isn't a universally standardized platform metric, so always state which direct costs you included.
Watch for double counting too. If payment fees and fulfillment are already deducted when calculating contribution margin, don't add them to the ROAS denominator again.
ROAS tells you how efficiently ads returned attributed revenue. Profitability needs another layer.
How to Calculate Break-Even ROAS From Contribution Margin
Contribution margin is the share of net revenue left after variable non-ad costs. Stripe's break-even guide identifies materials, packaging, shipping, fulfillment labor, and payment processing as examples of costs that can change with sales volume.
Pre-ad contribution margin =
(net revenue - variable non-ad costs) / net revenueWhen your ROAS denominator contains all the acquisition cost you want to recover, campaign contribution break-even is:
Break-even ROAS = 1 / pre-ad contribution margin| Pre-ad contribution margin | Break-even ROAS |
|---|---|
| 80% | 1.25x |
| 70% | 1.43x |
| 60% | 1.67x |
| 50% | 2.00x |
| 40% | 2.50x |
| 30% | 3.33x |
| 25% | 4.00x |
| 20% | 5.00x |
Consider a product with a 40% pre-ad contribution margin. Every 100 in net revenue leaves 40 before advertising. The business can spend $40 to reach zero post-ad contribution:
$100 / $40 = 2.5x break-even ROASAt 1x ROAS, the entire 100 of revenue would be consumed by 100 of ad spend before product and fulfillment costs were paid. Only a business with a 100% pre-ad contribution margin would reach this form of break-even at 1x.
This is campaign contribution break-even, not necessarily company-wide break-even. Fixed overhead, financing costs, and taxes may require a higher threshold.
Practitioner discussions show why the distinction matters. A PPC thread about break-even ROAS, an account-audit discussion, and a Shopify community conversation about campaign success all circle the same tension: a platform can show an attractive ratio while the business economics remain weak. These are examples of practitioner language, not benchmark studies.
Once you know break-even, you can set a target that leaves something behind.
How to Set Target ROAS From the Margin You Want to Keep
If m is pre-ad contribution margin and p is the desired post-ad contribution margin, use:
Target ROAS = 1 / (m - p)Example:
→ Pre-ad contribution margin: 55%
→ Desired post-ad contribution margin: 10%
1 / (0.55 - 0.10) = 2.22xAt 2.22x ROAS, acquisition cost uses about 45% of revenue, leaving roughly 10% after the original 55% contribution pool covers advertising.
You can translate the same target into an allowable CPA:
Target CPA = net revenue per conversion / target ROASOr directly from margin:
Allowable CPA = net revenue per conversion x (m - p)If net revenue per order is $80, pre-ad contribution margin is 50%, and the desired post-ad margin is 10%, the allowable CPA is:
$80 x (0.50 - 0.10) = $32Google Ads asks for target ROAS as a percentage, so 2x becomes 200%, 4x becomes 400%, and 5x becomes 500%. Google's target ROAS bidding overview, setup guidance, and localized target setup example warn that an aggressive target can restrict traffic and conversion volume.
The Google Ads API bidding documentation also makes clear that a bid strategy works with the conversion values supplied to it. A target is an instruction to the bidding system, not independent proof that the underlying revenue values match finance.
Next, choose the version of revenue that fits the business model in front of you.
ROAS Examples for Ecommerce, Lead Gen, Apps, and Campaigns
Ecommerce ROAS: Net Revenue and Loaded Cost
Assume:
- Gross attributed sales: $10,000
- Refunds: $500
- Net attributed revenue: $9,500
- Media spend: $3,000
- Campaign creative, tools, and agency allocation: $750
Media ROAS:
$9,500 / $3,000 = 3.17xLoaded ROAS:
$9,500 / $3,750 = 2.53xIf pre-ad contribution margin is 50%, the campaign produces 4,750 before acquisition costs. After media and the additional direct campaign costs, 1,000 remains in post-ad contribution. The profit is not the $6,500 difference between gross sales and media spend.
Why the Same 3x ROAS Can Win or Lose
Two businesses each record 300 in revenue from 100 in ad spend.
| Business A | Business B | |
|---|---|---|
| ROAS | 3x | 3x |
| Pre-ad contribution margin | 70% | 25% |
| Pre-ad contribution | $210 | $75 |
| Post-ad contribution | $110 | -$25 |
Same ROAS, opposite economic result.
Lead Generation ROAS: Forecast Versus Realized Revenue
Suppose 10,000 in spend generates 500 leads, 30% become qualified, 20% of qualified leads close, and average first-year realized revenue is 2,000.
Expected customers = 500 x 0.30 x 0.20 = 30
Expected revenue = 30 x $2,000 = $60,000
Forecast ROAS = $60,000 / $10,000 = 6xCall that expected or pipeline ROAS. If only 20 deals have closed, current realized revenue is $40,000 and realized ROAS is 4x.
Lead-gen operators often struggle with assigned values that never reconcile to closed revenue. A PPC discussion about target ROAS for lead generation captures the discomfort of optimizing to proxy values. Google's offline conversion import guidance is relevant when qualified or closed outcomes can be returned to the platform.
App and Subscription ROAS: State the Time Horizon
Assume a cohort costs $50,000 to acquire and produces:
- D7 cumulative revenue: $20,000, or 0.40x D7 ROAS
- D30 cumulative revenue: $45,000, or 0.90x D30 ROAS
- D90 cumulative revenue: $70,000, or 1.40x D90 ROAS
Adjust's metric glossary separates N-day ROAS by revenue type, while AppsFlyer's cohort and payback discussion argues for carrying a time horizon with app economics. A practitioner discussion about lifetime revenue shows why forecast LTV should never sit beside realized first-order revenue without a label.
How to Calculate Combined ROAS Across Multiple Campaigns
Campaign A produces 1,000 on 100 spend, or 10x. Campaign B produces 1,800 on 900 spend, or 2x.
The arithmetic average is wrong:
(10 + 2) / 2 = 6xThe correct combined ROAS is:
($1,000 + $1,800) / ($100 + $900) = 2.8xPortfolio ROAS always uses total revenue divided by total spend. The same discipline becomes essential when platforms report overlapping credit.
Why ROAS Differs Across Meta, Google Ads, TikTok, GA4, and Your Store
Different systems can calculate their own numbers correctly and still disagree. They may measure different events, apply different attribution rules, or assign the conversion to different dates.
| Check | What may differ |
|---|---|
| Conversion action | Purchase, lead, subscription, all conversions |
| Attribution | Platform self-attribution, last click, data driven, incremental |
| Click and view windows | Different eligible time after an interaction |
| Reporting date | Ad-interaction date or conversion date |
| Revenue basis | Gross, net, predicted LTV, total revenue |
| Refund handling | Missing, delayed, retracted, or restated |
| Identity and deduplication | Cookies, login, CAPI, MMP, modeled matching |
| Currency and time zone | Account, store, analytics, or finance settings |
| Maturity | Delayed conversions and returns still arriving |
How Google Ads Calculates ROAS
Google Ads defines the direct ROAS-equivalent as conversion value divided by cost in both its metric documentation and conversion value per cost help page. It generally reports conversions against the ad interaction date, while conversion-time reporting guidance explains the alternative view.
The number changes with primary and secondary actions, counting settings, values, attribution, windows, imported outcomes, and adjustments. Google's Analytics discrepancy guidance, its tracked localized discrepancy page, attribution-model guidance, conversion adjustment documentation, and tracked conversion adjustment page cover several of these moving parts.
How Meta Calculates Website Purchase ROAS
Meta's website purchase ROAS documentation describes a value based on attributed website purchase events and spend. The tracked version of that help page points to the same metric destination.
The output depends on the selected attribution setting, event quality, purchase value and currency, deduplication, and the mix of click-through and view-through credit. Meta's attribution settings documentation and its tracked help-page variant are where you'll find the account's actual configuration. Meta also documents target ROAS controls and Conversion Lift, which answers a different causal question from ordinary attributed ROAS.
How TikTok Attribution Settings Change ROAS
TikTok documents selectable click-through and view-through settings in its attribution-window guide. Its engaged-view attribution documentation adds another type of eligible interaction for video ads.
TikTok also explains why Ads Manager and MMP reporting can differ. Record the settings actually used in the ad group rather than assuming a universal default.
How Amazon ACoS Relates to ROAS
Amazon's formula is direct, and its ACoS guide correctly connects break-even ACoS to margin.
ACoS = ad spend / ad revenue
ROAS = 1 / ACoS as a decimalAt 4x ROAS, ACoS is 25%. A low ACoS can still be unprofitable for a low-margin product.
How GA4 Defines Return on Ad Spend
The GA4 Data API schema defines returnOnAdSpend as total revenue divided by advertiser ad cost. Its total-revenue definition can include purchase, subscription, and advertising revenue, less refunded transaction revenue. That numerator isn't necessarily the same one used in Google Ads conversion value.
Which Revenue Numbers to Use From Your Store, CRM, and Finance Systems
These systems are better placed to confirm whether an order, subscription, or deal happened and whether it was refunded. They still don't automatically reveal which channel caused it.
Never calculate blended ROAS by adding the revenue claimed by Meta, Google, TikTok, and other platforms. More than one platform can claim the same order. Use this instead:
Blended ROAS = deduplicated business revenue / total ad spendPractitioners describe this mismatch in blunt terms. One Facebook Ads tracking discussion questions whether platform ROAS remains reliable, an X post contrasts Ads Manager and bank-account results, and a LinkedIn post describes the same finance-versus-platform tension. A Shopify attribution thread and a Trustpilot review page for an analytics vendor show how quickly trust breaks when a measurement product appears inconsistent. Again, these sources reveal language and concerns, not population-level evidence.
How to Create a Reproducible ROAS Receipt
Instead of sharing “ROAS: 3.17x,” share:
Reconcile the systems, but don't force them to match when they answer different questions.
Why Average ROAS Can Hide an Unprofitable Next Dollar
Platform-attributed ROAS asks which revenue the attribution system credited. Incremental ROAS asks what additional revenue would not have occurred without advertising.
Incremental ROAS = incremental revenue caused by ads / incremental ad spendGoogle Meridian's ROI and response-curve documentation defines incremental outcome against a counterfactual without the marketing activity. It also distinguishes average and marginal return as spend moves along a response curve.
Marginal ROAS is:
Marginal ROAS = change in incremental revenue / change in spendSuppose an account has spent 100,000 and produced 300,000 in incremental revenue, an average iROAS of 3x. The next 20,000 is expected to produce only 30,000 in additional incremental revenue, so marginal ROAS is 1.5x.
At a 50% pre-ad contribution margin:
$30,000 x 0.50 - $20,000 = -$5,000The historical average still looks attractive. Yet the budget increase destroys $5,000 of contribution.
That leads to another counterintuitive result. A campaign at 3x on 100,000 spend can produce more total contribution than a campaign at 5x on 10,000 spend. Maximum ROAS isn't always the goal. Often, the practical goal is maximum contribution within cash-flow, growth, payback, and risk constraints.
High attributed ROAS also deserves scrutiny when it comes from retargeting or brand search. Those campaigns often reach people already close to buying. A public Facebook group discussion about ROAS as a vanity metric and another margin-focused Facebook discussion reflect that concern, while a PPC calculation thread preserves the useful simplicity of the standard formula.
You don't need to discard platform ROAS. You need to use it at the right speed and for the right decision.
How to Use ROAS for Daily Decisions and Business Profitability
Daily campaign operation and business economics don't belong in one dashboard number.
| Fast campaign loop | Slow business loop |
|---|---|
| Platform-attributed ROAS | Net and deduplicated revenue |
| Stable attribution setting | Contribution margin |
| Consistent comparison window | Refunds and cancellations |
| Creative, ad, ad-set, campaign level | New versus returning customers |
| Pause, investigate, or test decisions | Cohort maturity and payback |
| Sufficient conversion volume | Cash-flow and total contribution |
The fast loop helps you decide which variation deserves more testing or which campaign needs investigation. The slow loop asks whether the acquisition system is contributing profit and whether the business can afford to scale.
This is also where ROAS sits beside other metrics:
| Metric | Typical formula | Main question |
|---|---|---|
| ROAS | Attributed revenue / ad spend | How much revenue did the attribution system credit? |
| ROI | Profit or net return / investment | What broader profit return did the investment produce? |
| CPA | Spend / conversions | What did each conversion cost? |
| CAC | Total acquisition cost / new customers | What did each new customer cost? |
| ACoS | Ad spend / ad revenue | What share of ad revenue was spent on ads? |
| POAS | Defined profit measure / ad spend | What profit return did ad spend produce? |
| iROAS | Incremental revenue / incremental spend | What revenue did ads cause? |
| Marginal ROAS |
Be careful with MER. Shopify's marketing efficiency ratio guide defines it as total revenue divided by total marketing spend, where higher is better. Triple Whale's metric library points the acronym in the opposite direction and defines blended ROAS separately. Never report “MER was 4” without publishing the formula beside it.
Industry benchmarks deserve the same caution. Current ecommerce-oriented benchmark pages for Meta, Google Ads, TikTok, and Amazon Ads can provide context, but their samples, attribution, product mixes, spend tiers, and customer bases may not resemble yours. Triple Whale's break-even ROAS guide is more useful as a prompt to derive the threshold from margin.
Your break-even ROAS is a requirement. An industry ROAS is only a reference.
How to Improve ROAS Without Gaming the Metric
Improving the headline ratio helps only if the underlying economics and measurement stay honest.
Start with the levers that change real business value:
- Improve conversion rate. Make the offer, product page, checkout, lead qualification, and follow-up more effective.
- Increase net revenue per conversion. Raise AOV, improve mix, reduce discount dependence, or improve realized customer value.
- Improve contribution margin. Reduce variable costs without damaging customer experience.
- Reduce refunds and cancellations. A gross-sales ROAS can look healthy while net revenue deteriorates later.
- Send better conversion values. For lead generation, import qualified or closed outcomes where the sales process permits it.
- Improve creative testing. Use a clear hypothesis, controlled inputs, and enough volume to learn.
- Protect measurement hygiene. Consistent names, UTMs, URLs, conversion settings, currencies, and reporting windows make comparisons easier to audit.
- Scale against marginal economics. Don't defend a high average ROAS by starving campaigns that could generate more total contribution.
Our view is simple: measurement quality starts before the first impression. When campaign names, tracking parameters, copy, URLs, and launch settings drift between tests, the analysis gets harder even if the formula is correct. Our guides to UTM parameters for Facebook ads, ad creative naming conventions, and a structured Facebook creative testing framework cover that operational foundation.
Then comes the next bottleneck: carrying the decision into the ad account without reintroducing inconsistency.
How AdManage Turns ROAS Decisions Into Consistent Launches
We act as the execution layer between a media buyer's ROAS decision and a repeatable launch. The platform helps teams bulk-launch ads, reuse structured inputs, and keep names, UTMs, copy, URLs, and launch settings consistent. We do not establish causal attribution, reconcile finance automatically, calculate net profit without the necessary inputs, or guarantee a higher ROAS.
That boundary matters. Analytics and attribution products, creative-intelligence products such as Motion, and launch-workflow platforms answer different questions. Our comparison page is most useful when you separate those categories instead of treating them as substitutes.
Once you've defined the target and the test, our bulk ad launcher can reduce repetitive setup across structured launch workflows. Teams that prefer spreadsheets can use a Google Sheets to Facebook Ads workflow. Carefully designed Facebook ads automation rules can also operationalize thresholds with minimum-volume and data-quality guardrails.
Our public AdManage product site describes the broader workflow. If software cost predictability matters, our fixed-fee plans don't take a percentage of ad spend. You'll find named operational examples on our testimonials page, though workflow improvements shouldn't be presented as guaranteed performance uplift.
More tests don't automatically improve ROAS. Better controlled tests give you a better chance to learn which decisions deserve scale.
How to Make Every ROAS Result Decision-Ready
The formula will always be the easy part. The useful work is making sure the number means what the decision-maker thinks it means.
Before you scale or pause anything, write one line naming the revenue source, spend scope, attribution setting, customer horizon, currency, and as-of date. Then compare the result with your own break-even and target ROAS, not a generic benchmark.
Our take: calculate the ratio, label the assumptions, test it against contribution margin, and only then turn it into an operating rule. That sequence keeps a convenient dashboard metric from becoming a confident mistake.
Keep this ROAS calculation guide handy for the next time a dashboard number needs to survive a finance conversation.
ROAS Calculation FAQs
What Does 4x ROAS Mean?
A 4x ROAS means an ad or campaign recorded 4 in attributed revenue for every 1 in ad spend. It can also be written as 400% or 4:1. It does not mean $4 in profit.
Is ROAS Calculated From Revenue or Profit?
Standard ROAS uses attributed revenue. A profit-based numerator produces a different metric, often called POAS or profit on ad spend, and the exact profit definition should be stated.
Is 1x ROAS Break-Even?
At 1x, attributed revenue equals ad spend. That is media-cost revenue break-even, not normal business break-even, because product, fulfillment, payment, and other costs still need to be paid.
Can ROAS Be Negative?
With nonnegative revenue and spend, standard ROAS ranges from zero upward. Revenue below spend produces a ROAS below 1x, not a negative ROAS. A custom net-revenue calculation can become negative if refunds exceed recognized revenue, but it needs a clear label.
What Is a Good ROAS?
A good ROAS clears your business-specific break-even requirement and supports the contribution margin you want to keep. Universal 2x or 4x targets ignore product margin, refunds, customer mix, cash flow, and attribution.
Should ROAS Use Gross or Net Revenue?
Platform reporting often uses the conversion value sent to the platform. For decision-grade internal ROAS, net revenue after discounts, refunds, and chargebacks is usually more useful. Display both when the platform value matters for bidding.
Can Customer Lifetime Value Be Used in ROAS?
Yes, but label it as cohort or forecast LTV ROAS and state the horizon. Realized D90 revenue and predicted lifetime revenue shouldn't be compared as if they were the same measurement.
How Do I Calculate ROAS for Lead Generation?
Divide closed, attributed revenue by ad spend for realized ROAS. If you use assigned lead values or probability-weighted pipeline, label the result modeled-value or pipeline ROAS rather than actual revenue ROAS.
Why Is Meta ROAS Higher Than My Store or GA4 Result?
Meta may use different attribution windows, view-through credit, event capture, customer scope, and reporting dates. Your store records transactions but doesn't automatically allocate causal credit, while GA4 applies its own identity and attribution rules.
How Do I Calculate ROAS in Excel or Google Sheets?
If attributed revenue is in A2 and ad spend is in B2, use =IF(B2=0,NA(),A2/B2). Format the result as a number for 4.0x or multiply by 100 for a percentage display.
What Is the Difference Between Target ROAS and Break-Even ROAS?
Break-even ROAS leaves zero post-ad contribution on the stated cost basis. Target ROAS is usually higher because it preserves a desired post-ad contribution margin or supports another business goal.
