How to Audit Your Agency's ROAS Reporting in One Afternoon

A four-hour evidence check for separating defensible return figures from polished agency dashboards

Your agency deck says 620% ROAS: £84,000 of revenue from £13,550 of Google Ads spend. Finance can verify only £31,400.

That 388 percentage-point gap is what an agency ROAS reporting audit should expose.

The objective is not to decide whether 620% is impressive. It is to establish whether the agency’s numerator exists, whether the denominator is complete and whether both numbers cover the same activity.

A polished dashboard is not evidence. By the end of this audit, you should be able to reproduce the claimed result from source records — or identify exactly why you cannot.

What an agency ROAS reporting audit must prove

The basic calculation is simple:

ROAS = attributable revenue ÷ media spend

Most reporting problems sit inside those two inputs.

A defensible agency report should answer four questions:

  1. 1. Can the stated spend be reconciled with the advertising account and billing records?
  2. 2. Can the stated revenue be traced to unique customers, deals or invoices?
  3. 3. Do the dates, campaigns, currencies and exclusions match on both sides?
  4. 4. Can somebody outside the agency reproduce the result?

If any answer is no, the claim is not yet auditable.

Start by distinguishing three figures that agencies often blur together:

  • Platform conversion value: the value recorded inside Google Ads.
  • CRM revenue: the value attached to won deals in your sales system.
  • Financial revenue: issued invoices or received payments, net of cancellations and credits.

These figures can legitimately differ. The failure occurs when one is presented as another without a label.

The same applies to cost. Standard ROAS normally uses media spend, while a fully loaded commercial return might include agency fees, creative work and landing-page costs. Neither approach is inherently dishonest. Mixing the definitions is.

For a deeper explanation of the gap between platform reporting and commercial reality, see why the Google Ads ROAS shown in-platform can misstate return.

Prepare the evidence before the audit

Choose one completed reporting period. Use the same period shown in the agency’s report rather than redesigning the company’s entire measurement system.

Ask for these materials in advance:

  • The agency’s original report, including its publication date.
  • A daily campaign-level spend export from the advertising account.
  • Platform billing statements for the period.
  • Read-only access to conversion actions and their settings.
  • A CRM export containing record ID, source, status, value, created date, closed date and customer type.
  • A finance export containing invoice number, net amount, currency, issue date, payment status and credit notes.
  • Written definitions for “revenue”, “customer”, “new customer” and the reported date basis.
  • The attribution model, attribution window and conversion value source used in the report.

IDs matter more than customer names. A hashed or internal identifier is sufficient if it remains consistent across systems.

Create a one-page claim sheet before examining individual records:

Reported itemAgency claim
Media spend£13,550
Attributed revenue£84,000
Reported ROAS620%
Reporting period1–30 June
Revenue definitionNot stated
Attribution window30 days
Included campaignsSearch and Performance Max
Agency fees includedNo

This freezes the claim. Otherwise, a moving dashboard or revised definition can make the audit impossible to finish.

The one-afternoon agency ROAS reporting audit

1:00–1:30 — Lock the scope and definitions

Write down the exact statement being tested.

“Google Ads generated £84,000” is too vague. Establish whether that means platform conversion value, closed-won CRM value, issued invoices or collected cash.

Also record:

  • Whether values include VAT.
  • Whether refunds and credit notes are deducted.
  • Whether existing customers are included.
  • Which campaigns and accounts are covered.
  • Whether revenue is grouped by click date, conversion date, close date or invoice date.
  • Whether the figure represents media ROAS or a wider return measure.

Do not accept a definition assembled after discrepancies appear. Test the definition used when the report was issued.

1:30–2:10 — Reconcile the denominator

Export cost directly from the advertising account for the stated dates, campaigns and account time zone. Compare that figure with the agency report and billing statement.

Investigate:

  • Campaigns omitted from the report.
  • Spend from a second account.
  • Credits or promotional adjustments.
  • Currency conversion.
  • VAT treatment.
  • Account time-zone differences.
  • Agency or technology fees included inconsistently.

A report showing £13,550 of spend should reconcile to roughly that amount. Small differences caused by rounding may be harmless. A £1,200 difference caused by an excluded campaign is material.

Keep media spend and additional costs on separate lines. If you later calculate a fully loaded return, label it accordingly rather than quietly changing the ROAS denominator.

2:10–3:10 — Trace the revenue

Now test the numerator record by record.

For fewer than 100 reported conversions, inspect every record. For a larger dataset, begin with the 20 highest-value records and a random sample of 20 more. Expand the test if you find errors.

Each reported revenue item should end in one of five categories:

  • Verified revenue.
  • Duplicate.
  • Not yet revenue.
  • Outside the stated scope.
  • Unresolved.

Trace each item from the advertising record into the CRM and, where the agency claims actual revenue, into finance. A matching email address is useful, but a persistent lead, deal or invoice ID is stronger evidence.

Pay particular attention to:

  • One deal imported more than once.
  • A quote or open opportunity reported as revenue.
  • Cancelled orders left in the total.
  • Existing-customer renewals included in a new-customer claim.
  • Gross invoice values compared with net advertising spend.
  • Manually assigned values presented as actual sales.
  • Currency fields interpreted incorrectly.

If the agency reports form submissions rather than sales, do not allow quantity to masquerade as commercial value. The separate issue of distinguishing B2B Google Ads volume from lead quality deserves its own assessment; this audit only checks whether the reported label and evidence agree.

3:10–3:45 — Inspect conversion and attribution settings

This is a configuration check, not a full measurement redesign.

Record every conversion action included in the agency’s primary reporting column. For each one, note:

  • What user action triggers it.
  • Whether it counts once or multiple times.
  • Whether its value is fixed, dynamic or imported.
  • Which system supplies the value.
  • Its attribution model and lookback window.
  • Whether the same event is also recorded by another conversion action.

Look for duplicate form tags, repeated offline imports and several conversion actions counting the same commercial event.

Attribution determines where credit is assigned. It cannot turn an unqualified form submission into invoiced revenue. If an agency changes attribution settings during the period, its report should disclose that change.

3:45–4:30 — Reproduce the claim

Build a simple reconciliation table with one row per reported revenue item. Include the record ID, reported value, verified value, status and reason for any adjustment.

Calculate three separate results:

  1. 1. Claimed ROAS: the number published by the agency.
  2. 2. Reproduced ROAS: the result obtained using the agency’s stated rules.
  3. 3. Verified ROAS: the result supported by the agreed scope and source evidence.

The distinction identifies the type of failure.

If you can reproduce the number but disagree with its label, the problem is presentation or methodology. If you cannot reproduce it using the same rules and data, the problem is arithmetic, access or data integrity.

A sensible initial tolerance is 1–2% for rounding and minor timing effects. Larger differences require a record-level explanation.

4:30–5:00 — Document findings and request corrections

Finish with a short findings sheet rather than a 40-page presentation.

For each issue, record:

  • The reported amount.
  • The verified amount.
  • The variance.
  • The affected records.
  • The cause.
  • The required correction.
  • The owner and deadline.

Give the agency a chance to supply missing evidence. New evidence can resolve an unresolved item; a new definition should not retrospectively rescue the original wording.

Worked example: 620% becomes 232%

Assume an agency reports £84,000 of revenue from £13,550 of media spend.

The arithmetic is correct:

£84,000 ÷ £13,550 = 6.20

That is 620% ROAS.

The record-level audit finds four adjustments:

FindingAdjustment
Closed-won deal imported twice-£18,000
Open quote labelled as revenue-£14,000
Existing-customer renewal included in a new-customer claim-£12,500
Cancelled invoice still counted-£8,100
Verified revenue£31,400

The corrected calculation is:

£31,400 ÷ £13,550 = 2.32

Verified media ROAS is therefore 232%, not 620%.

Suppose the agency fee was another £3,200. A fully loaded return calculation would be:

£31,400 ÷ (£13,550 + £3,200) = 1.87

That 187% figure is useful for commercial planning, but it should not be relabelled as media ROAS. Present both numbers with their definitions.

This audit does not prove that advertising caused every verified sale, nor whether 232% is commercially sufficient. It establishes that £31,400 can be traced under the stated rules and £52,600 cannot.

Grade the result before judging performance

Classify the report based on evidence:

  • Substantiated: source records support the claim within the agreed tolerance.
  • Mislabelled: the calculation works, but the wording exaggerates what was measured.
  • Contaminated: duplicates, broken imports or incorrect conversion actions affect the result.
  • Unsupported: the agency cannot provide enough evidence to reproduce the claim.

Only compare performance with relevant industry ROAS benchmarks after the number passes this test. Benchmarking an inflated numerator merely gives false precision to bad data.

For contaminated reporting, agree written steps for repairing inaccurate ROAS data and require the corrected report to show both the original and restated figures.

The type of failure should determine the intervention. A bounded evidence problem may need a one-off Google Ads account diagnosis. Broken controls, campaign structure and reporting may justify broader project-based Google Ads support. The agency’s headline ROAS should not decide the scope; the documented failure should.

FAQ

How often should we audit agency ROAS reporting?

Run a focused audit quarterly and after any major tracking change, CRM migration or unexplained performance jump. Monthly record-level checks are sensible where advertising spend or reported revenue is material to board decisions.

Can we complete the audit without CRM access?

You can verify spend, conversion configuration and some platform arithmetic. You cannot verify a revenue numerator without access to the underlying commercial records. The correct verdict is “unverified”, not zero and not accepted.

Should agency fees be included in ROAS?

Media ROAS normally divides attributed revenue by advertising spend. Agency fees can be included in a separate fully loaded return measure. The report should show both definitions explicitly if both are used.

What if the agency refuses to provide raw exports?

Treat the claim as unsupported. Request specific exports, field definitions and read-only account access in writing. If the agency cites confidentiality, customer identifiers can be pseudonymised; that does not prevent reconciliation.

Does a corrected low ROAS prove the agency performed badly?

No. The audit tests whether the reported number is defensible. Commercial viability, incrementality, lead economics and campaign strategy are separate decisions made after the reporting foundation is reliable.

Summary

  • Freeze the agency’s exact claim, scope and definitions before checking it.
  • Reconcile media spend with account exports and billing records.
  • Trace claimed revenue to unique CRM and finance records.
  • Check conversion settings for duplicates, imported values and scope changes.
  • Report claimed, reproduced and verified ROAS as separate figures.
  • Judge performance only after the underlying number is defensible.

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