The ROAS formula: how to calculate return on ad spend
ROAS = attributed revenue ÷ advertising cost.
The arithmetic is straightforward. The harder work is deciding which revenue belongs to the campaign, which costs to include and how long to allow for sales. Those choices matter particularly in B2B, where several people may influence a purchase and revenue can arrive months after the advertising ran. A consistent calculation gives marketing and finance a basis for comparing results and deciding where to invest.
The core formula and four versions
ROAS is a financial ratio showing how much revenue is generated for each unit of advertising cost. For example, a SaaS business might spend £100,000 on a LinkedIn account-based marketing programme and attribute £450,000 in subscription revenue to it over an 18-month cycle. Its gross ROAS is 4.5:1, or 4.5×: £4.50 in revenue for every £1 spent.
Report ROAS as a ratio so non-marketers can scan results across channels. Percentages are better reserved for ROI, which measures profit relative to cost; ROAS measures revenue efficiency.
| Variant | Formula | What it helps assess |
|---|---|---|
| Gross ROAS | Attributed revenue ÷ advertising cost | Revenue efficiency across channels or periods. It excludes margin. |
| Net ROAS, margin-adjusted | (Attributed revenue × gross margin) ÷ advertising cost | Gross profit generated per pound of advertising cost, before deducting that advertising cost. |
| Break-even ROAS | 1 ÷ gross margin | The gross ROAS needed to cover advertising cost after direct delivery costs. |
| LTV-adjusted ROAS | (Attributed revenue × gross margin × LTV multiplier) ÷ advertising cost | Longer-term returns where retention and expansion support a defensible lifetime-value estimate. |
Use gross margin as a decimal in these formulas: 40% is 0.40. Break-even is defined against the costs included in the calculation; other overheads still affect overall profitability. For the interpretation of each variant, see the ROAS guide.
For a calculation using your own inputs, the ROAS calculator works through all four variants. Its shareable result URL lets colleagues review the same inputs and results.
Step 0: agree the scope
Set the reporting window, revenue definition, cost base and attribution rules before calculating. Without a locked scope, a precise-looking ROAS can mislead decision-makers. Consistent scope lets the number move from dashboards to board packs with confidence.
Time window
A 30-day window may capture a short ecommerce purchase cycle while missing much of an enterprise cycle lasting 90, 180 or 365 days. Choose a period that reflects how your customers buy, then distinguish two approaches:
- Cohort window: follow a defined group, such as leads generated in Q1, and measure their revenue over 180 days.
- Rolling window: report activity within a moving period, such as revenue attributed to campaigns in the last 90 days.
Record the approach and use it consistently. A longer observation period helps reveal delayed revenue, but it still needs a clear rule linking that revenue to the advertising.
Attributed revenue
Attributed revenue is the portion of customer spend that can be linked back to advertising within the chosen time frame. State whether you use booked or recognised revenue, and how discounts, rebates and taxes are treated.
Weighted pipeline value can support an early view of potential return, but report it separately as pipeline ROAS. It is an estimate for open opportunities. Switching from pipeline to bookings without documenting the change makes the ROAS trend line meaningless.
Advertising cost
Advertising cost is the spend you choose to hold accountable. There is no single cost basis: the choice differs by client. Choose and document one of three cost bases:
- Media spend only: the most common definition.
- Media plus platform and agency fees: closer to the true cost of running campaigns.
- Media, fees, creative production and staff time: the fullest definition, though less standard.
Choose the basis that serves the decision and label it. Count each cost once: delivery costs deducted from the net-ROAS numerator must not also be included in the advertising-cost denominator. Record how sales tax, VAT, rebates and co-operative advertising funds are treated. A media-only result and a result including production and staff time are not directly comparable unless the difference is made explicit.
Attribution rules
Document the attribution model, its lookback window, included channels and treatment of view-through conversions. The lookback window sets how far back an interaction can receive credit, for example 30, 90 or 180 days. Channel rules establish whether brand search, affiliates and partner traffic are included. View-through rules determine whether an impression without a click receives credit.
Keep these choices in a scope summary with a version number, date and change log. That gives people using different reports a way to check that they are calculating the same thing.
Step 1: assemble the data
ROAS can only be as accurate as its inputs. Bring together the data needed to connect spend with the resulting revenue:
| Source | Inputs |
|---|---|
| Ad platforms | Spend, impressions, clicks and recorded conversions, with campaign and creative IDs. |
| Analytics | Sessions, UTM parameters, click IDs and recorded interactions. |
| CRM and finance | Leads, accounts, opportunities and closed revenue. |
Ad-platform reports can contain conversion values, but the revenue used in a B2B calculation still needs to reconcile with the CRM or finance source of record. Collect the identifiers needed to make that connection: campaign and creative IDs, UTMs or click IDs, contact or account identifiers, and opportunity IDs.
Export the required fields into a controlled staging area, whether a spreadsheet, database or warehouse. Check that campaign IDs refer to the expected advertising and that conversions can be linked to the relevant account or customer.
A completeness check should precede the calculation. As a diagnostic illustration, if 20 to 30% of opportunities lack the UTMs or account IDs needed for your joins, the calculation is compromised even when the arithmetic is correct.
Step 2: clean and join the data
Cleaning and joining the data is where most B2B ROAS calculations break down. Duplicate records, missing identifiers and inconsistent company names can distort revenue attribution. Check the records and the relationships between them before calculating a return.
Identity resolution
In B2B, several contacts may belong to one buying group. To prevent overcounting, match contacts to the correct account and deduplicate records that represent the same entity. Email-to-domain matching can help: jane@company.com points to company.com. Company-name standardisation can bring variants such as Acme Ltd, Acme Limited and Acme UK together where they refer to the same organisation. Confirm the match before merging records.
Check for missing campaign IDs and UTMs, incomplete revenue entries and won opportunities with no value. Exclude test and internal activity from the reporting population.
The main connections are:
- Ad-platform spend to analytics activity, using campaign identifiers, UTMs or click IDs.
- Analytics activity to CRM contacts and accounts, using the available identity links.
- CRM opportunities to booked or recognised revenue, using opportunity and finance identifiers.
Keep weighted pipeline in a separate field for the pipeline variant. Validate each join in the staging area, then document a join map showing which fields connect the systems. When a total fails to reconcile, the map gives you a place to start investigating. ROAS is only as trustworthy as this dataset; inconsistent joins quickly undermine its credibility with senior decision-makers.
Step 3: attribute revenue
Apply the model recorded in the scope summary. A closed B2B deal may involve search advertising, LinkedIn campaigns, webinars and nurture emails; the attribution rules determine how the recorded interactions share credit.
- Single-touch models allocate credit to one interaction, such as the first or last eligible touch. They are easy to apply but risk oversimplifying complex journeys.
- Position-based models distribute credit according to where interactions sit in the recorded journey.
- Data-driven models use observed conversion paths to estimate how credit should be distributed.
Marketing mix modelling is a different method. It works with aggregate marketing and outcome data, as described in Google’s Meridian explainer, rather than allocating each opportunity’s revenue across its recorded touches.
For touchpoint attribution, collect the interactions associated with each opportunity, apply the declared lookback window and allocate its revenue according to the model. For example, a U-shaped allocation can give 40% to the first touch, 40% to the last and share 20% across the middle touches. Check that allocation does not count the same revenue more than once.
Return closed-revenue data to ad platforms through supported offline-conversion workflows, giving optimisation systems a signal tied to sales. Keep a record of the event definitions, values and attribution model used. Unrecorded model changes are a common cause of ROAS inconsistencies across teams, even when the underlying business activity has not changed.
Step 4: calculate gross ROAS
Gross ROAS = attributed revenue ÷ advertising cost.
Consider an illustrative cybersecurity SaaS campaign:
- Advertising cost for LinkedIn account-based campaigns in H1: £200,000.
- Attributed closed-contract revenue within the declared 180-day window: £900,000.
- Gross ROAS: £900,000 ÷ £200,000 = 4.5×.
Each £1 of advertising cost is associated with £4.50 in revenue. Gross ROAS is the simplest and most widely used form. It supports channel comparison, trend analysis and board reporting when the reporting scope is consistent. Check that the scope and margins are comparable when using ROAS benchmarks in B2B.
Gross ROAS excludes the cost of delivering the product or service. Suppose a campaign with 4.5× revenue ROAS had a gross margin of only 20%. Its margin-adjusted ROAS would be 4.5 × 0.20 = 0.9×, below advertising break-even: £0.90 in gross profit towards each £1 of advertising cost. The corresponding break-even gross ROAS would be 1 ÷ 0.20 = 5.0×.
Before reporting, confirm the revenue definition, window and cost tier. Label the result, for example: “Gross ROAS, 180-day window, media plus fees.” Keep those choices visible when comparing it with a benchmark or another campaign.
Step 5: calculate net ROAS
Net ROAS adjusts for direct costs such as cost of goods sold or service delivery:
Net ROAS = (attributed revenue − direct costs) ÷ advertising cost.
Equivalently, multiply attributed revenue by gross margin, then divide by advertising cost. If direct costs are expressed as a percentage, gross margin is 1 − direct-cost percentage.
Using the same illustrative campaign:
- Advertising cost, including media and fees: £200,000.
- Attributed revenue within 180 days: £900,000.
- Direct delivery costs: 40%, or £360,000.
- Revenue after those direct costs: £900,000 − £360,000 = £540,000.
- Net ROAS: £540,000 ÷ £200,000 = 2.7×.
The £540,000 is gross profit before advertising cost. Net ROAS therefore gives a closer view of campaign economics than gross revenue alone, while still requiring clarity about which costs are included. It is not net profit after every business expense. Use it when briefing finance and the board or seeking budget approval.
Agree the direct-cost definition with finance, including the treatment of implementation, onboarding and support where relevant. Record whether costs come from actual ledger entries or a standard percentage. Where costs differ substantially between products or services, calculate the margin-adjusted return separately for each.
Show gross and net ROAS together, using the same window, attribution model and advertising cost base. For this example, the useful comparison is 4.5× gross and 2.7× net, with direct costs at 40%. That makes the effect of delivery economics visible without changing the underlying campaign.
Step 6: choose the relevant variant
Other variants answer questions about open pipeline, future customer value, causal impact or the whole marketing budget. Keep their definitions visible so a larger number is not mistaken for a better result on the same measure.
Pipeline ROAS
Pipeline ROAS = weighted pipeline value ÷ advertising cost.
In a separate pipeline illustration, £1,200,000 of assumed weighted pipeline divided by £200,000 of advertising cost gives 6.0×. This is an early indicator while opportunities remain open. Its reliability depends on the stage probabilities and values used, and it must remain separate from closed-revenue ROAS.
LTV-adjusted ROAS
LTV-adjusted ROAS = (attributed lifetime revenue × gross margin) ÷ advertising cost.
Suppose the £900,000 in booked revenue represents customers projected to generate £2,700,000 over their lifetimes. At 60% gross margin, that is £1,620,000 before advertising cost. Dividing by £200,000 gives 8.1×.
This is the same calculation as revenue × LTV multiplier × gross margin ÷ advertising cost when the multiplier converts the initial revenue into projected lifetime revenue. Use it where retention, churn and expansion data support the estimate (see ROAS and LTV).
Incremental ROAS
Incremental ROAS = incremental revenue attributable to the test ÷ advertising cost for the test.
If a controlled experiment estimates £250,000 in additional revenue against a holdout group on £200,000 of advertising cost, incremental ROAS is 1.25×. This asks how much revenue the advertising added, rather than how much revenue an attribution model credited to it. Tests can be costly, and small samples limit how confidently the result can be interpreted.
Profit on ad spend
Profit on ad spend (POAS) = profit contribution ÷ advertising cost.
In a separate illustration, £180,000 of profit contribution divided by £200,000 of advertising cost gives 0.9×. The £180,000 is a separate assumed input, not a result derived from the earlier campaign. Define which costs have already been deducted from profit contribution before interpreting the ratio.
Marketing efficiency ratio
Marketing efficiency ratio (MER) = total revenue ÷ total marketing cost.
For example, £5,000,000 ÷ £1,000,000 = 5.0×. MER offers a view across the whole marketing budget. Its broader scope makes it useful for programme-level decisions but less specific for individual channel optimisation.
| Measure | Example and basis | Main use | Check before interpreting |
|---|---|---|---|
| Gross ROAS | 4.5×; running campaign | Channel comparison and trends | Margin is excluded. |
| Net ROAS | 2.7×; running campaign | Margin-adjusted campaign economics | Direct costs and advertising cost base match the stated scope. |
| Pipeline ROAS | 6.0×; separate assumed pipeline | Early opportunity reporting | Inflated pipeline values can overstate the result; check that the weights reflect expected conversion. |
| LTV-adjusted ROAS | 8.1×; running campaign with lifetime projection | Subscription and repeat-purchase returns | Retention, churn and margin assumptions are supported. |
| Incremental ROAS | 1.25×; separate test illustration | Estimating causal revenue impact | Tests can be costly; small samples weaken the inference. |
| POAS | 0.9×; separate profit illustration | Profit contribution against spend | Profit allocation and cost treatment are explicit. |
| MER | 5.0×; separate programme illustration | Whole-budget efficiency | Revenue and marketing costs cover the same defined scope. |
Choose the measure that answers the decision in front of you. Keep supporting variants available with their formulas, assumptions and reporting scope, rather than filling every dashboard with every ratio.
Step 7: reconcile the result
Before reporting, check three connections between the calculation and its source systems.
Platform spend and finance or warehouse spend. Compare the totals and explain differences such as currency rounding or rebates. A working rule is to allow variance of 2% or less, with larger differences investigated.
Pipeline and bookings. Compare weighted pipeline with the revenue opportunities eventually produce. Large gaps may reveal inaccurate probabilities, changed deal values or delays. Use the findings to review the weights rather than treating pipeline as realised revenue.
Reporting scope. Check the window, revenue definition, cost base and attribution model against the scope summary. Unrecorded lookback-window changes, such as a report silently moving from 90 to 30 days, are a leading cause of ROAS volatility.
Investigate sudden shifts in brand versus non-brand mix for misclassified activity, unexpected attribution-model changes for inconsistent credit, and duplicate accounts or opportunities for overstated revenue. A precise-looking figure that fails to reconcile damages trust. When one team reports 4.5× and another 3.2×, the board loses confidence in both.
Keep a reconciliation log with the check, variance, explanation, owner and date. Record adjustments such as currency normalisation or rebates, and assign a named owner, such as marketing operations, to complete the checks. Require sign-off before ROAS figures are published in board decks or performance reviews.
ROAS calculation checklist
- Calculate gross ROAS as attributed revenue ÷ advertising cost, and net ROAS as revenue after direct costs ÷ advertising cost.
- Set the cohort or rolling window, revenue definition, cost base and attribution rules before comparing results.
- Label pipeline, LTV-adjusted, incremental, POAS and MER readings separately.
- Align observation periods with the sales cycle and validate campaign IDs and UTMs at intake.
- Document direct-cost assumptions and review brand and non-brand performance separately.
- Reconcile spend, pipeline and bookings each reporting cycle; record model or scope changes.
Numbers only matter if they inform decisions. Interpret the result against margin and break-even before using it to set a budget (see the ROAS guide).
Frequently asked questions
How do I calculate gross ROAS?
Divide attributed revenue by advertising cost. £900,000 ÷ £200,000 = 4.5×, also written as 4.5:1. This measures revenue per pound of advertising cost before adjusting for delivery costs and margin.
What is the difference between gross ROAS and net ROAS?
Gross ROAS divides attributed revenue by advertising cost. Net ROAS subtracts direct costs, such as cost of goods sold or service delivery, from revenue before dividing by advertising cost. It shows gross profit generated per pound of advertising cost, before deducting that advertising cost. Net ROAS is essential when the decision needs a finance-ready number. Report both with the same scope.
What does scope mean in a ROAS calculation?
Scope defines the reporting window, revenue definition, advertising cost base and attribution model, including lookback and channel rules. Record those choices so results remain comparable and colleagues can reproduce the calculation.
Why do time windows matter in B2B ROAS?
Revenue can arrive months after the advertising. A 30-day view may therefore miss sales that appear within 90, 180 or 365 days. Choose a window that reflects the buying cycle and state whether it follows a cohort or reports a rolling period.
How can I prevent data inconsistencies when calculating ROAS?
Resolve identities at account level by matching contacts to the correct accounts. Deduplicate records of the same entity, validate campaign and revenue identifiers, and exclude test activity. Document the fields joining ad platforms, analytics, CRM and finance, then reconcile their totals before reporting.
What is pipeline ROAS, and when is it useful?
Pipeline ROAS divides weighted pipeline value by advertising cost. It helps with early reporting in long sales cycles, before opportunities close. Label it clearly and check the weighting assumptions so it is not confused with booked or recognised revenue.
Why should closed revenue be sent back to ad platforms?
Supported offline-conversion workflows give platforms a signal linked to sales outcomes, helping optimisation use revenue rather than relying only on form submissions. The usefulness of that signal depends on accurate matching, values and event definitions.
Where to go next
What is ROAS? A practitioner’s guide
The full guide this is part of.
ROAS Calculator
Calculate gross, net, break-even and LTV-adjusted ROAS in seconds, in any currency, with the four formulae, a worked example and when to use each.
ROAS + LTV: Why B2B marketing needs both
Marketing teams defend budgets using ROAS, but CFOs question whether it captures true long-term value.
Bring the question you could not find answered.
A first call is the place to work through it for your programme.
Or request a free audit of leads from a recent programme.