BlogResources

Automating Google Ads reporting: what the platform is telling you

Attribution windows, modelled conversions and the platform reporting on its own performance. What the numbers mean before you automate reporting them.

Isha MagguIsha Maggu11 min read

Summarize with AI

Automating Google Ads reporting: what the platform is telling you
On this page

To automate Google Ads reporting that means something, report the platform's conversions beside your own observed conversions, and label the attribution window and model on every report. The platform reports on its own performance, using an attribution model it chose, over a window it set, with some conversions estimated rather than counted.

None of that is hidden or dishonest. A report that presents platform-reported conversions as fact will eventually be contradicted by your own revenue data, usually in a meeting, and the credibility of everything else in the report goes with it.

What we'll cover

Key takeaways

  • Google Ads reports conversions using its own attribution model and window, so its figure is higher than your observed sales.
  • Report platform-reported conversions beside your own observed conversions, and track the ratio between them over time.
  • Print the attribution window and model on every report to prevent most disputes about the numbers.
  • Separate brand from non-brand campaigns, because people searching your company name were already coming.
  • Use a holdout test to find out whether the ads caused sales, because no attribution model can answer that.

Why the platform's number is high

The platform's conversion number is high because the platform counts every conversion that follows an interaction within its window, including from people who would have arrived anyway. The error is presenting that output as a count of sales caused by advertising.

Brand terms inflate the number most. A person searching your company name was already coming, and the ad takes the credit.

Cross-platform double counting is normal. Several platforms each claim the same conversion, and the sum exceeds your actual orders.

Generous windows credit old clicks. A click weeks before a purchase can still be credited, depending on the window you set.

View-through counting, where enabled, attributes conversions to impressions nobody clicked.

Attribution windows and models

An attribution window is the time after a click or view in which a conversion still counts, and an attribution model is the rule that splits credit across touches. Both are settings, and both change the number you report.

The click-through window sets how long after a click a conversion counts.

The engagement or view window is separate and shorter, and people forget it is on.

The attribution model splits credit across touches (last click, data-driven, or another). Changing the model retroactively changes your history.

Record which model produced a number. Reports compared across a model change compare different things.

Your analytics tool uses a different model by default, which explains most of the disagreement between the two systems.

Print the window and the model on the report, every time. This single line prevents most disputes about the figures.

Modelled conversions

Modelled conversions are conversions the platform estimates instead of observing, used where direct measurement is unavailable because of consent or platform restrictions. Google documents this behaviour in its help centre.

Modelled data is less reliable when sliced finely. The estimate is reasonable in aggregate and weaker for one campaign on one day.

The proportion varies by region and over time, so a trend can move because the modelling changed, not because performance did.

Most reporting does not separate modelled conversions, so you cannot exclude them.

Reconciliation will not balance. The gap between platform-reported and observed conversions is expected, not a bug to hunt.

Report modelled data as a characteristic of the figures, not a caveat in small print, so nobody builds a decision on a precision that is not there.

Building it with CodeWords

CodeWords connects to more than 3,000 integrations (CodeWords pricing page, 2026), so the ads account, your own conversion data and the destination for the report can meet in one automation.

  1. Open CodeWords and start a new automation.
  2. Describe to Cody, the automation builder, what should happen in plain language: which accounts and campaigns, which metrics, over what window, and where the report goes.
  3. Authorize the connections: the ads account and your own data source.
  4. Describe the exceptions: a campaign paused mid-period, a currency change, a figure outside a plausible range.
  5. Run the automation for a period you already have numbers for, and reconcile before trusting it going forward.

You describe the outcome; Cody builds it, connects it, and deploys it. The free plan covers light use, with Pro at $39 per month and Business at $100 per month as usage grows (CodeWords pricing page, 2026). Details are on the pricing page.

Joining to your own data

Join the ads report to your own database, because your database knows what actually happened: the order, the refund, the churn a month later.

Tag every destination link consistently. Without consistent tags, the join is guesswork.

Match on your own conversion record, and report the platform's figure beside it, not instead of it.

Account for refunds and cancellations. The platform never sees them, and they change the picture materially for some businesses.

Look at lifetime value, not first order, where your business has repeat purchase. A channel with a worse first-order cost can be the better channel.

Report the difference explicitly. The gap between platform-attributed and observed conversions is informative, so show it as a line in the report.

What the report should contain

The report should contain spend, platform-reported conversions, your own observed conversions and the ratio between them, segmented by brand and non-brand.

  • Spend, the one number that is certain.
  • Platform-reported conversions, labelled as such, with the window and model.
  • Your own observed conversions for the same period, from your own system.
  • The ratio between them, tracked over time. A change in the ratio is itself a signal.
  • Brand and non-brand separated. Mixing them makes the aggregate meaningless.
  • Change, not level, compared against the same period previously, not against an arbitrary window.

Measuring whether the ads did anything

Only an incrementality test shows whether the ads caused sales. Incrementality means comparing a group exposed to advertising with a group that was not, and it answers the question attribution models cannot.

Incrementality requires a holdout: a geography, an audience, or a period with no advertising, compared against one with it.

Brand terms are the classic test. Pausing them and watching total traffic answers a question no attribution model can.

Geographic experiments are the most practical version for most businesses.

Expect the incremental number to be lower than the attributed one, sometimes substantially. That is the finding, not a problem with the test.

Run the test periodically, not once, because the answer changes with your market and your mix.

Report the incremental number upward, where you have it, because it corresponds to the decision about whether to spend more.

Alerts that are worth having

A weekly report tells you what happened. Five specific alerts are worth hours of attention, and a general anomaly alarm is not one of them.

Spend anomalies. A campaign spending well above its usual rate has the clearest financial consequence.

Conversion tracking stopping. Conversions falling to zero looks like a performance collapse and is usually a broken tag. Automated bidding reacts to the false signal before anybody notices.

Disapprovals and policy issues, which stop delivery silently and produce no other symptom.

Budget exhausted early in the period, a missed-opportunity alert rather than an error.

A landing page returning an error. Check this independently instead of trusting the platform to notice.

Skip general performance alerts. Daily fluctuation is normal, and alerting on it produces a stream people learn to ignore, which is how the five alerts above get missed.

Making it survive

Make the report reliable by handling quota limits, waiting for data to settle, fixing currency and timezone, and holding implausible figures.

  • Handle API quota and version changes, which recur in advertising platforms.
  • Wait for data to settle. Recent days are incomplete, and a report run too early understates performance.
  • Set currency and timezone explicitly, because the account's settings may not match your reporting period.
  • Check magnitudes and hold, instead of sending, a figure outside a plausible range.
  • Report the outcome: what ran, over what window, under which attribution model, and whether anything was held.

Limits worth knowing about

Data settles over days, particularly conversions, so yesterday's figure will change.

The API and the interface can present some metrics differently.

Automated bidding responds to your conversion data, so a reporting change can affect performance indirectly.

Platform recommendations are not neutral advice. Applying them automatically is a decision to let the platform spend more.

Privacy changes keep moving, so the proportion of modelled data and the available granularity can change without your involvement.

What to build first

Build the two-number report: platform-reported conversions beside your own observed conversions for the same period, with the ratio tracked over time. It is the simplest honest report, and the ratio is the most useful figure in advertising reporting, because a change in it tells you something has shifted in measurement even when spend and performance look stable.

Two habits make the difference. Put the attribution window and model on every report, since almost every dispute about these numbers turns out to be two people using different ones. And separate brand from non-brand before anything else, because a blended figure that includes people searching your own name will look good and tell you nothing.

Frequently asked questions

Why are platform-reported conversions higher than my actual sales?

The platform counts any conversion that follows an interaction within its window, including from people who would have arrived anyway. Brand terms inflate the figure most, several platforms claim the same conversion, and generous windows credit old clicks. Your own sales record is the check.

What is the difference between attribution windows and models?

The window is how long after a click or view a conversion still counts. The model is how credit is divided across touches. Both are settings, both can differ from your analytics defaults, and changing the model rewrites your reported history. Print both on every report.

What are modelled conversions?

Modelled conversions are estimated, not observed, and the platform uses them where direct measurement is unavailable. They are reasonable in aggregate and weaker when sliced finely. The proportion varies by region and over time, so a trend can move because the modelling changed.

Why will my reconciliation never balance?

Modelled conversions, attribution windows and cross-platform double counting each create a gap between platform and observed figures. The gap is expected. Report it as a line in the report and track it over time, instead of treating it as a bug to fix.

What should an ads report contain?

Include spend, platform-reported conversions labelled with their window and model, your own observed conversions for the same period, and the ratio between them over time. Separate brand from non-brand, and compare against the same period previously.

How do I know whether the advertising is working?

Run an incrementality test; a geographic holdout is the most practical form. Expect the incremental number to be lower than the attributed one, sometimes substantially. That result is the finding, not a flaw in the test, and it is the number to report upward.

Why is brand versus non-brand separation important?

People searching your company name were already coming, so the ad takes credit for demand it did not create. A blended figure that includes them looks good and does not show whether the advertising created demand. Separate the two before any other analysis.

Should I automate the platform's recommendations?

No, not without a human decision. Platform recommendations are not neutral advice, and applying them automatically means letting the platform spend more on your behalf. Treat them as input to a decision you make, and review them against your own conversion data.

Which Google Ads alerts are worth setting up?

Set alerts for spend anomalies, conversion tracking falling to zero, policy disapprovals, budgets exhausting early, and landing pages returning errors. Skip general performance movement, because daily fluctuation is normal and alerting on it buries the five alerts that matter.

Why is conversion tracking going to zero urgent?

Automated bidding reacts to the false signal before anybody notices, so a broken tag becomes a bidding problem as well as a reporting problem. Spend can shift toward worse traffic within hours. Alert on a drop to zero and check the tag first.

Should I use lifetime value instead of first-order value?

Yes, where your business has repeat purchase. A channel with a worse first-order cost is frequently the better channel over a customer's lifetime, and first-order reporting never shows that. Join the ads data to your own customer records to measure it.

Get started today

Your first workflow is free to build.

Describe what you need. Cody handles the build, the connections, and the deployment.