How Accurate Is Google Ads ROAS? What the Numbers Hide

Google’s ROAS can be arithmetically correct while overstating the revenue ads caused; this audit shows where the excess credit enters

Google Ads reports £100,000 of conversion value from £20,000 of media spend. The dashboard shows 5.0x. The sales ledger contains £60,000 of won business, one contract has since been cancelled, and the account still values 20 demo bookings as if they were revenue.

The division is correct. The inputs are not.

That is the Google Ads ROAS accuracy problem. The platform can calculate its configured metric perfectly while overstating the commercial value recorded and the revenue the advertising caused. For a B2B company, those are not minor distinctions. They decide whether the next £20,000 is invested or wasted.

Google Ads ROAS accuracy: what the metric actually proves

The ROAS shown in Google Ads is built from the conversion values included in the selected column and Google media cost. It does not independently verify that the values represent cash received, that each outcome appears once, or that the sale would not have happened without the ad.

There are four separate accuracy tests:

LayerThe question the report must answer
Event integrityDid the business action happen, and was it recorded once?
Value integrityDoes the value mean realised revenue, or is it a proxy or adjustment?
Attribution integrityDid the interaction qualify for credit under the chosen rules?
IncrementalityWould the outcome have happened without the advertising?

A neat platform report can pass the first three and still fail the fourth. Google itself distinguishes standard attributed conversions from incremental conversions, which require a control group or another causal method.

This article stays with the inflation hidden inside the platform number. The broader framework for finding the commercial number behind dashboard ROAS covers costs, margin and the final business calculation. If Google Ads, GA4 and the CRM disagree, use the separate guide to why reporting tools produce different ROAS rather than mixing that reconciliation into this audit.

Reported ROAS can also understate performance when tracking misses legitimate sales. An account can miss ten conversions and still claim too much causal credit for the 20 it sees. Missing data and inflated attribution can coexist.

Counting inflation: one journey appears more than once

The fastest way to inflate ROAS is to let several conversion actions describe the same commercial journey.

Multiple funnel stages are all treated as outcomes

A prospect submits a form, books a demo, becomes a qualified lead and later becomes a won deal. Those are four useful CRM stages. They are not four independent pieces of revenue.

If the form, booking and won-deal import all remain valued primary actions, Google can add them to the same numerator. The platform is following the goal configuration; the account is doing the overstatement.

Google recommends using one meaningful funnel stage as the optimisation goal. Good revenue-led paid search management starts by documenting that stage, not by leaving every successful event switched on because more conversions make the graph look healthier.

Count settings and duplicate sources add real duplicates

Google recommends “One” for lead actions and “Every” for purchases. A lead action set to “Every” can count repeated submissions after one ad interaction. A thank-you page that fires again on refresh can do the same.

There is another common pattern: a native Google Ads tag and an imported analytics event both record the booking, and both are primary. Transaction IDs can deduplicate sales within a conversion action, but they do not repair two conversion actions that describe the same sale.

Segment the report by conversion action. If two rows move in lockstep, test one journey and inspect which tags, imports and goals fire. Do not assume the account-level total is clean.

Value inflation: assumptions are reported like revenue

B2B accounts often need proxy values because a form submission happens months before a contract. That can help bidding. It becomes misleading when the proxy is presented as realised revenue.

A demo might carry a fixed £1,500 value based on an old close rate and average contract value. Google will add £1,500 whether the lead becomes a £30,000 client, a duplicate, a student or a no-show. If lead quality drops while the static value stays fixed, reported ROAS rises on assumptions the CRM has already disproved.

Value rules can change the number again. An account might increase a lead’s value by 30% for a preferred location or audience. That is a bidding preference, not another £450 in the bank. Audit the original value, every rule applied to it and the label used in management reporting.

Outcome changes create a one-way ratchet. A £20,000 deal imported as won stays at £20,000 after cancellation unless the conversion is retracted or its value restated. Downsized contracts, duplicate opportunities and invalid leads create the same issue.

The control is simple: label every conversion value as one of three things—observed revenue, CRM-derived expected value or strategic bidding adjustment. Never add the three together and call the result revenue.

Credit inflation: attribution is not causality

A real conversion with a correct value can still receive more credit than the ad deserves.

A conversion window expands eligibility

The default click-through window for many Search and Display conversions is 30 days. If someone clicks on day one and converts on day 28, that conversion can qualify for credit.

A 30-day window does not, by itself, count the same conversion twice because it crosses a month end. Standard Google Ads reports normally assign the conversion to the date of the ad interaction and backfill that period. Actual duplication comes from action, tag and count configuration.

The inflation risk is causal distance. Between the click and the conversion, a buyer may attend a webinar, receive a referral, speak to sales and return through email. The old ad interaction remains eligible even though other forces did most of the work. Shortening the window arbitrarily can also hide genuine delayed impact, so the answer is not “use seven days”. It is to compare the window with the buying journey and separate attribution from proof of lift.

Data-driven attribution still allocates credit inside a fence

Data-driven attribution decides how eligible interactions share credit. It does not create a no-ad control group.

The fence matters. Sales calls, partner referrals, trade events, email and untracked research may sit outside the eligible path. Google can distribute credit intelligently among the interactions it sees while missing the activity that actually changed the buyer’s mind.

For material budget decisions, use a holdout, geo test or structured pause where volume permits. Attribution asks who receives credit. Incrementality asks what changed because the ads ran.

Brand, remarketing and existing customers make ROAS look easy

A prospect who searches your company name already knows you. A remarketing visitor has already engaged. An existing customer renewing a contract is cheaper to convert than a new account.

Those conversions may be valuable, and brand ads may defend against competitors or add useful search-result coverage. But high attributed ROAS is evidence of efficient demand capture, not proof that the campaign created the demand.

Separate brand, generic and competitor traffic before reading account-level ROAS. Our guide to structuring B2B search intent without blending those categories covers the campaign and keyword work. Check Performance Max brand exposure and use customer lists or CRM status to isolate renewals, expansions and open opportunities.

Do not delete all brand credit on principle. Test the substitution effect. The defensible number sits between “Google caused every branded conversion” and “brand ads add nothing”.

Engaged-view and modelled conversions need a label

Engaged-view conversions can appear in the main Conversions column for Video, Display, Demand Gen and Performance Max campaigns. Most view-through conversions sit in their own column and All conversions, with campaign-specific exceptions. A report built from All conversion value can therefore make impression-linked activity look like click-led revenue.

Consent modelling can also place modelled conversions and values inside the standard columns. These are not fabricated sales. Google uses observed patterns and confidence thresholds to estimate missing links, and modelling can correct undercounting. But an estimated link between an ad and a conversion is not transaction-level evidence that the ad caused the sale.

Segment by ad event type, record which conversion column was quoted and disclose when the total combines observed and modelled attribution.

A practical Google Ads ROAS accuracy audit

Start with a mature cohort—old enough for normal sales outcomes to be known—then work through the account in this order:

  1. 1. Record the exact metric being quoted: Conv. value / cost or All conv. value / cost.
  2. 2. Segment by conversion action. Write down the business event, source, primary or secondary status, count setting and value method for every row.
  3. 3. Test one complete journey. Look for repeated fires, native and imported duplicates, missing transaction IDs and several valued stages from the same opportunity.
  4. 4. Match a sample to CRM outcomes. Mark invalid, duplicate, open, lost, won, cancelled, new customer and existing customer.
  5. 5. Record the click, engaged-view and view-through windows, attribution model, eligible channels and modelled-conversion diagnostics.
  6. 6. Split brand, non-brand, remarketing and existing-customer value. Reserve causal claims for an experiment, not an attribution-model comparison.

Here is what that does to the £100,000 opening example:

Reported componentValueAudit finding
Won-deal imports£60,000Includes one cancelled £10,000 contract
20 demo bookings at £1,500£30,000Proxy values; some belong to the won-deal journeys
Duplicate booking action£10,000Second primary action for the same event
Reported conversion value£100,0005.0x on £20,000 media spend

Remove the duplicate from the revenue view, keep demo values only as clearly labelled bidding signals, and retract the cancelled deal. The revenue-backed platform view becomes £50,000, or 2.5x on media spend.

That 2.5x is still not “true ROAS”. It excludes the wider commercial calculation and remains attributed rather than incremental. If £32,000 of the £50,000 came through brand campaigns, do not simply remove it; isolate it and test how much disappears when advertising is withheld.

If the account has no clear owner for goal design, CRM feedback and campaign segmentation, a bounded measurement audit and campaign rebuild should produce a conversion-action register, tested event map, value definitions, corrected reporting view and incrementality test plan. A higher-spend campaign is not the first deliverable.

Once the platform view is clean, it remains useful for bidding and for comparing campaigns measured on the same basis. For board-level allocation across marketing, use the distinction between platform attribution and blended business return. One metric is an optimisation signal; the other checks whether the whole system is producing enough revenue.

FAQ

Is Google Ads ROAS accurate?

It can be accurate for the conversion actions, values, cost and attribution rules configured in the account. It is not automatically accurate as realised revenue, profit or incremental return. Until event, value and credit integrity have been audited, treat it as a platform claim rather than a finance number.

Does a 30-day conversion window double-count revenue?

No. The window makes conversions within 30 days eligible for attribution; it does not inherently duplicate them across reporting periods. Repeated event fires, overlapping conversion actions, duplicate imports and unsuitable count settings are the usual sources of actual double-counting.

Does data-driven attribution fix inflated ROAS?

No. It can distribute credit more intelligently among eligible interactions, but it does not show what would have happened without advertising. It also cannot value sales activity or referrals it cannot observe. Causal lift requires a control or credible counterfactual.

Should branded conversions be removed from ROAS?

Not automatically. Report brand separately, check whether Performance Max includes it, and test whether paid clicks are replaced by organic or direct visits when ads are withheld. Brand can be incremental, defensive or mostly substitutive; the account-level average hides the answer.

Which Google Ads conversion column should a B2B team use?

Use the column whose contents match the decision, and state it by name. Conv. value / cost is normally the cleaner bidding view when primary actions are governed. All conv. value / cost can be useful diagnostically, but it may include secondary and impression-linked actions that should not be presented as revenue.

Summary

  • Google Ads ROAS is a configured attribution ratio, not independent proof of business return.
  • Counting inflation comes from overlapping goals, repeated events and duplicate sources.
  • Value inflation comes from proxies, rules and outcomes that were never corrected.
  • Credit inflation comes from eligible touchpoints being mistaken for causal impact.
  • Clean the platform view first; use controlled evidence before calling revenue incremental.

Actualyse builds measurement and attribution setups that tie B2B ad spend to real revenue. Book a call to talk through where yours stands.