Kippler.

Flight log / Transmission 064

ROAS for B2B: why it lies and what to use instead

In B2B, ROAS is a number from the future: the revenue shows up months after the click, and nobody has a DeLorean. Even in Google's own simple example, $1,200 in sales on $200 of ads is a 600% ROAS and a 50% ROI.

By Ronny Cheng Updated 8 min read
warp zone: the 30-second version

> ROAS is conversion value divided by ad cost: Google's example is $5 of sales per $1 of spend, a 500% ROAS. In B2B lead gen it misleads because the value is often guessed, revenue lags the click by months, and it ignores margin and incrementality. Report cost per qualified opportunity and pipeline per dollar instead, and keep ROAS for bidding.

ROAS is the metric ecommerce runs on, and for good reason: a sale happens minutes after the click, the order value is known to the cent, and the margin is in the product catalog. B2B lead gen has none of that. The value is an estimate, the revenue lands months later, and the "conversion" is a form fill that might be a buyer or a student.

ROAS still shows up in B2B reports, often as the biggest number on the slide. This post covers what it actually measures, how it differs from ROI, the three ways it misleads B2B teams, and what to report instead.

// 01 · the briefing

What is ROAS?

ROAS, return on ad spend, is the value your ads produced divided by what they cost. In Google Ads the column is Conv. value / cost, which Google's help page on conversion tracking data describes as your total conversion value divided by the total cost of all ad interactions.

Google's Target ROAS help page uses a simple example: if your goal is $5 of sales for each $1 you spend on ads, that's $5 / $1 x 100% = a 500% target ROAS. Google expresses targets as percentages; many teams say "5x." Same number.

Everything depends on the top half of that fraction. Conversion value is whatever you tell Google a conversion is worth. Google's About conversion values page lists the options: the same value for every conversion, which is easier to set up but less representative, or different values per conversion, including transaction-specific values passed in from your site or CRM. In ecommerce that's the order total. In B2B lead gen it's usually a number someone picked.

kipp>

ROAS is a ratio with your own guess on top. Change the guess, and the ratio follows.

// 02 · versus

What is the difference between ROAS and ROI?

ROAS divides revenue by ad cost. ROI subtracts all the costs of earning that revenue, then divides by those costs. Google's own ROI help page gives a clean example: a product costs $100 to make and sells for $200. You sell 6 through Google Ads, for $1,200 in sales, and your ads cost $200. Google calculates ROI as ($1,200 minus $600 minus $200) / ($600 + $200) = 50%.

Run the same numbers as ROAS and you get $1,200 / $200 = 600%. Same campaign, same month.

MetricFormulaGoogle's example
ROASRevenue / ad cost$1,200 / $200 = 600% (6x)
ROI(Revenue minus all costs) / all costs($1,200 minus $800) / $800 = 50%
Gross margin(Revenue minus cost of goods) / revenue($1,200 minus $600) / $1,200 = 50%
Break-even ROAS1 / gross margin1 / 0.5 = 200% (2x)

The last row is the one most reports skip. At a 50% gross margin, any ROAS under 200% loses money before you count salaries. At an 80% margin, break-even ROAS is 125%. A "good ROAS" only means something next to your margin.

One note on wording. Google's definition page for conversion value per cost says the metric "estimates your return on investment." It estimates one input to ROI. It doesn't account for cost of goods, sales costs or whether the revenue would have arrived anyway.

// 03 · signal vs. noise

Why does ROAS mislead B2B teams?

Three reasons, each one fixable, none of them visible in the ROAS column itself.

1. The value is whatever you chose

Take one hypothetical B2B campaign that spends $20,000 in a month and produces 200 leads, 20 qualified opportunities and 5 closed deals worth $30,000 each in first-year revenue. Here's its ROAS under four reasonable value settings:

One campaign, four ROAS numbersHypothetical: $20K spend, 200 leads, 20 opps, 5 deals at $30K
Pipeline value30.0xClosed-won revenue7.5xGross profit (75%)5.6xStatic $100 per lead1.0x

Illustrative data, not from a real account.

View data
ROAS
Pipeline value30.0x
Closed-won revenue7.5x
Gross profit (75%)5.6x
Static $100 per lead1.0x

In this illustrative case, the same spend shows a 30x ROAS if you count pipeline ($600,000 across 20 opportunities), 7.5x on closed revenue ($150,000), 5.6x on gross profit and 1.0x if every lead is worth a flat $100. None of these is wrong. They answer different questions, and a report that just says "ROAS: 30x" hides which one it's answering. Pipeline value is the most common one in B2B decks, and it's the most generous, because pipeline isn't revenue.

2. The revenue arrives late, and some of it never arrives in Google Ads

Google's conversion tracking help says standard conversion columns are calculated based on the time of the click, not the time of the conversion. If you import closed deals, a deal that closes in March from a December click adds value to December, in March. So the most recent months always look weak, and they recover as deals close.

There's also a hard edge. Google's offline import guidelines say conversions uploaded more than 90 days after the last click won't be imported, and the limit is 63 days for enhanced conversions for leads. If your sales cycle is longer than that, part of your revenue will never appear in Google Ads ROAS at all.

ROAS on closed-won revenue, by click monthHypothetical B2B account importing closed deals; M8 is the latest month
  • ROAS as reported today
  • Same months once imports settle
ROAS0.0x2.0x4.0x6.0x8.0xM1M2M3M4M5M6M7M8inside 90 days7.0x0.6x

Illustrative data, not from a real account.

View data
ROAS as reported todaySame months once imports settle
M16.8x6.8x
M27.2x7.2x
M36.5x6.5x
M47.0x7.0x
M56.9x6.9x
M65.6x7.1x
M73.0x6.6x
M80.6x7.0x

In this illustrative account, the last three click months appear to collapse from about 7x to 0.6x. They haven't. Months 6 to 8 are still inside the 90-day import window, and their deals are still closing. A team that cuts budget on that chart is cutting the campaigns that are about to look best. And even the "settled" line is an undercount for any deal that took longer than 90 days.

3. ROAS can't tell you what was incremental

Platform ROAS credits the ad for every conversion it's attributed, including people who would have bought anyway. Brand search and remarketing are the usual offenders: they reach people already close to buying, so their ROAS looks spectacular. A holdout test, where you pause or withhold ads for a comparable group and compare results, estimates how much of that value the ads actually caused. Here's what that comparison can look like in a hypothetical account:

Platform ROAS vs. incremental ROAS by campaign typeHypothetical B2B account, closed-won revenue, incremental from holdout tests
  • Platform-reported ROAS
  • Incremental ROAS
ROAS0.0x5.0x10.0x15.0x20.0xBrand3.0xRemarketing2.5xNon-brand3.4xCompetitor2.2x

Illustrative data, not from a real account.

View data
Platform-reported ROASIncremental ROAS
Brand18.0x3.0x
Remarketing9.0x2.5x
Non-brand4.0x3.4x
Competitor2.5x2.2x

In this hypothetical, brand reports 18x but only 3x is incremental, while non-brand reports 4x and keeps 3.4x. Ranked on platform ROAS, brand gets the budget. Ranked on incremental ROAS, non-brand does. That's why budget shouldn't move between campaign types on platform ROAS alone. The incrementality testing post covers how to run a holdout without a data science team.

kipp>

Brand ROAS is the easiest high score in the arcade. The machine was already set to win.

// 04 · payload

What should B2B teams use instead of ROAS?

Keep ROAS where it does a job, inside value-based bidding, and report decisions on metrics that hold up to a CFO's questions.

Use thisHow to calculate itWhat it's for
Cost per qualified opportunityAd cost / opportunities sales acceptedMonthly budget and campaign decisions
Pipeline per $1 of spendPipeline value / ad cost, labeled as pipelineLeadership reporting, with a lag note
Cost per customer and paybackAd cost / new customers; months of gross margin to recover itQuarterly, once deals have closed
Incremental cost per opportunityAd cost / opportunities a holdout says the ads causedBudget splits between brand, non-brand and remarketing

Cost per qualified opportunity is the workhorse. It doesn't depend on a value guess, it's available within weeks, and it's hard to inflate. Its weakness is that it treats a $10,000 deal and a $100,000 deal the same, which is where pipeline per dollar earns its place, as long as it's labeled honestly. Our cost per lead guide shows how to sanity check the earlier funnel stages, and the PPC report template shows how to fit all of this on one page.

// 05 · orbit

Should B2B campaigns use Target ROAS bidding?

Sometimes. Target ROAS can be the right bid strategy for B2B when values reflect real differences, for example a demo request from a 500-person company worth more than one from a 5-person company. It's the wrong strategy when every lead carries the same static value, because then it's just Target CPA with extra steps.

Google's requirements and guidance, as of November 2026:

The value-based bidding guide covers how to set stage values that won't fool the algorithm.

// 06 · where this breaks

Where this advice breaks down

kipp> waitlist --join

Something's warming up on the launch pad.

We're building something for people who read posts like this. Early access opens in waves.

Early access, by invitation.

// 09 · comms

FAQ

What is ROAS?

Return on ad spend is the conversion value your ads drove divided by what you spent on them. Google Ads reports it as Conv. value / cost. Google's Target ROAS example is $5 of sales for every $1 of ad spend, which is a 500% ROAS.

What is the difference between ROAS and ROI?

ROAS divides revenue by ad cost only. ROI subtracts all costs, including cost of goods and the ads, then divides by those costs. In Google's example, $1,200 in sales with $600 in product costs and $200 in ad costs is a 600% ROAS but a 50% ROI.

What is a good ROAS?

It depends on your margin. Break-even ROAS is 1 divided by gross margin, so at a 50% margin you need at least 2x, or 200%, before ads cover the cost of what you sold. Any benchmark that ignores your margin is not a target.

Should B2B companies use Target ROAS bidding?

Only with real or well-calibrated values. Google requires at least 15 conversions in the past 30 days for Target ROAS on Search, and its best practices recommend at least 2 different values across at least 2 conversion actions.

Why is my ROAS low for recent weeks?

Google Ads reports conversions and their value on the date of the click, not the date of the conversion. Deals that close weeks later are added back to older dates, so the newest periods always look worse until the lag catches up.

Ronny Cheng has spent 15+ years in performance marketing and led growth on 9+ startup exits across 75+ companies. He writes the Flight log for people who read search term reports for fun.

Receipts

  1. Google Ads Help: About Target ROAS bidding
  2. Google Ads Help: Conversion value per cost: Definition
  3. Google Ads Help: Return on investment (ROI)
  4. Google Ads Help: About conversion values
  5. Google Ads Help: Conversion values best practices
  6. Google Ads Help: Understand your conversion tracking data
  7. Google Ads Help: Guidelines for importing offline conversions