What the account actually contains, and how much of it belongs to Google
Paid search — buying ad placement against a user's query — is billed on clicks, which is why it is called PPC, pay per click. An attorney handed login credentials to a Google Ads account will see campaigns, keywords, spend, clicks, impressions and conversions, and will reasonably assume that is the record. It is a view onto it. Almost none of the underlying data is stored anywhere the advertiser controls.
That distinction decides how a case is worked. The advertiser can export what the interface will render, at the granularity it offers, for as long as the platform keeps it. It cannot suspend deletion, see the auction from the other side, or obtain the platform's determinations about its traffic. What it can do is copy the data out early, in native format, with the query, date range, time zone, currency and extraction date recorded alongside. Two honest extracts of the same period lacking those annotations will not reconcile, and reconciling them will consume a deposition. Retention is uneven rather than uniformly short: Google publishes no retention period for aggregate campaign and keyword statistics, and the documented limits sit on the specific resources carrying the forensic detail.
Change history is the record that answers who did what, and when
In a dispute between an advertiser and the agency or contractor that ran the account, the single most useful artifact is the change history. Google states that it "allows you to revisit the changes you've made to your campaign over the last 2 years," and it records changes to ads, assets, audiences, budgets, bid adjustments, conversion settings, targeting, keywords and campaign status — including changes made through automated rules, the API and Google Ads Editor — attributed by user.
Two limits on that record matter. First, the two-year window is an interface window. The API's change_event resource returns only the last 30 days; Google's own API support channel says so, with no workaround for older changes. The older material is therefore captured by the interface's own download or by screen capture, a weaker artifact that should be collected while a witness can still authenticate the collection. Second, Google states that change history does not track password changes, so account-access questions have to be answered from somewhere else.
What the change history supports is a chronology: a budget cut on a date, conversion tracking reconfigured, a campaign paused, targeting widened, and which login did it. What it does not supply is intent or authority. A change attributed to a user is not evidence the client approved it, and the approval — or its absence — lives in email, in the scope of work, or nowhere. Google's description of the account history is the right exhibit for a witness who claims the record shows more or less than it does.
The search terms report has been rewritten twice, and the gap is structural
The search terms report lists the queries that triggered an advertiser's ads. It is central to competitor-bidding matters, to disputes about wasted budget, and to any question about what an account was actually buying rather than what it thought it was buying.
It is also not a complete list, and has not been since September 2020. Google's current language is that the report "is a list of search terms that a significant number of people have used, and that resulted in your ad being shown," and that "some search terms that don't have enough query activity are omitted from the search terms report" on privacy grounds. In September 2021 Google restored coverage for queries from 1 February 2021 forward, and stated that data collected before 1 September 2020 which did not meet the current thresholds would remain available only until 1 February 2022.
The consequence is a structural gap between 1 September 2020 and 1 February 2021 where sub-threshold terms were never restored, and a deletion of pre-September-2020 sub-threshold terms in February 2022. An expert who charts search-term coverage across those boundaries is charting Google's reporting policy, not the advertiser's or a competitor's behavior. Google's help page on the report states the threshold rule in its own words.
Click-level data expires in ninety days, usually before counsel is retained
The only Google-side resource that exposes individual clicks is click_view, keyed on the GCLID — the identifier Google appends to a click's landing-page URL. Google's Ads API support channel has quoted the documentation's own restriction: queries including ClickView must be limited to a single day and can be requested for dates back to 90 days before the request, with no workaround for older data.
That is the most time-critical item in this discipline. A dispute surfacing in month five has no click-level record from Google at all, only aggregate counts by campaign. Anything more granular then has to come from the advertiser's own web server logs — timestamp, source IP, user agent, referrer, and the GCLID carried on the URL — or from a tag manager, or from a third-party click-quality vendor's capture. Those are the advertiser's or the vendor's evidence, not the platform's, and they are authenticated differently.
The landing-page log is worth naming specifically, because it is the one dataset in paid search the advertiser genuinely controls and because it joins to the platform's click export on the click identifier. Divergence between the clicks the platform reports and the sessions the server logged for the same GCLID set is a real, measurable quantity.
Filtered clicks, credits, and what the invalid-activity record does not separate
Google defines invalid clicks as clicks "that aren't the result of genuine user interest, including intentionally fraudulent traffic and accidental or duplicate clicks," and states that advertisers are not charged for them. Detection runs in two stages: real-time filtering before billing, and post-invoice detection producing what Google calls invalid activity credits. The documented remedy is explicit — "Clicks determined to be invalid will result in adjustments or credits, not a refund." That distinction is load-bearing for a damages theory, and sharper still for an advertiser that has left the platform holding a credit it cannot realize.
The advertiser sees two things. The "Invalid clicks" column covers traffic received over roughly the last 60 days, with no per-click detail and no reason codes. The Invalid Activity Credit Report in Report Editor is more useful: credited clicks, credited interactions, credited amount and adjusted performance metrics, by campaign and by network, for Search and Performance Max campaigns.
Read the second one carefully before it goes in an exhibit. Google states that the credits reflect invalid traffic or ad interactions later determined to be on inventory violating an AdSense program policy, and the report does not separate the two. A credited click is therefore not necessarily a click Google classified as fraudulent, and an expert presenting credited amounts as a fraud measurement has taken on an argument that Google's own documentation defeats.
Conversions in the same column are not all the same kind of number
Where a case turns on performance rather than conduct, the number in dispute is usually conversions. Google states that modeled conversions "use data that doesn't identify individual users to estimate conversions that Google is unable to observe directly," that "in the 'Conversions' column, Google reports both modeled and observed conversions," and — the sentence that matters most under cross-examination — that its modeling determines whether an ad interaction led to the online conversion but "doesn't determine whether or not a conversion happened."
Read precisely, that is a narrower claim than critics usually attribute to Google: the model assigns attribution, not existence. It is also a claim no outside expert can validate, because the model is not published and its inputs are not available for inspection. Google lists cookie limitations, consent requirements in the European Economic Area, iOS tracking restrictions and cross-device journeys as the conditions under which modeling is applied.
The honest position for an expert is that a conversion count from this column is a mixture of counted and estimated events in an undisclosed proportion, produced by the party whose delivery is being measured. It may still be the best available evidence. It is not a measurement, and a damages model that treats it as one has an exposed flank. Google's page on modeled conversions is short, and usually more efficient to put in front of an opposing expert than to argue about.
Microsoft Advertising keeps a different set of books
Cross-platform comparisons are common in agency-performance matters and are where careless work shows. Microsoft Advertising classifies clicks into three tiers rather than two: standard-quality clicks, "most likely from potential customers"; low-quality clicks, "clicks that typically don't result in conversions or value"; and invalid clicks, "clicks that often originate from spiders, robots, questionable sources, or test servers." Microsoft states advertisers are billed only for standard-quality clicks, and that bills are adjusted where clicks are later determined low-quality or invalid.
Two differences follow. Microsoft exposes a "Low-quality clicks" metric and a "Low-quality click rate" percentage — not a column labeled invalid clicks — so a side-by-side table of "invalid clicks" across the two platforms compares different definitions. And Microsoft documents a refund path Google does not: where an account is deactivated holding a refund-eligible balance arising from invalid-click credits, it states it will attempt to refund the primary payment method automatically.
Neither platform publishes its detection logic or documents an appeal route for an advertiser disputing a determination. In both cases the platform is the sole judge of traffic on which it also earns revenue — a structural point serious people argue about on both sides, and one an expert should describe rather than adjudicate.
What a paid search analysis does not settle
Advertiser-side data can show that a click was anomalous. Anomalous is not fraudulent. Every signal available from the account and the server log — a repeated IP, a short dwell time, no conversion, an odd hour, a data-center address range — has innocent explanations: shared corporate network address translation, carrier CGNAT, VPN and private-relay traffic, accidental taps on mobile creative, and shoppers who left because the offer was wrong for them.
Attribution to a person is harder still and is usually not solvable from advertiser data at all. An IP address is not a person. Traffic resolving to a competitor's netblock establishes that packets came from that network — not who was at the keyboard, not whether the machine was compromised, and not whether an employee was doing ordinary competitive research, which is not misconduct. Establishing that a named party directed invalid clicks generally requires payment records, communications and third-party logs available only in discovery.
Two further limits belong in any report. The "Invalid clicks" figure is the platform's count of what its own systems filtered; it carries no denominator for what was missed, so a low number is equally consistent with clean traffic and with undetected sophisticated traffic. And an industry-wide loss estimate says nothing about whether a particular account lost a particular sum — aggregate prevalence is not individual causation. Where a paid search claim fails, the reason is very often that the ninety-day and sixty-day windows closed before anyone looked — a preservation failure rather than a merits finding, and worth saying plainly in either direction.
Frequently Asked Questions
Can an advertiser's own Google Ads export show that a competitor clicked its ads?
No. The account export shows clicks, cost, and — for roughly sixty days — how many clicks Google filtered. It carries no actor attribution and no reason codes. Joining the platform's click-level data to the advertiser's web server log adds IP address, user agent and timing, which supports an inference about the character of the traffic. It does not identify a person. Traffic from a competitor's network address range establishes only that packets came from that network. Establishing that a named party directed the clicks generally requires discovery of payment records, communications or third-party logs the advertiser does not hold.How far back does Google Ads change history go, and can it be pulled programmatically?
Google states the interface shows changes over the last two years. The API is far narrower: Google's own Ads API support channel has confirmed that thechange_event resource can only be queried for a period within the last thirty days, with no workaround for older changes. In practice, anything older than thirty days is captured through the interface's own download or by dated screen capture, and anything older than two years is not available from Google at all — it has to come from the party's or the agency's own records, if those were kept.What should be preserved first in a PPC dispute?
Click-level data. Google'sclick_view resource, which exposes individual clicks keyed on the GCLID, can only be requested for dates back to ninety days before the request, one day at a time. Nothing restores it afterward. Next: the change history export from the interface, because the two-year interface window is much wider than the thirty-day API window. Then the advertiser's own web server logs, which rotate on whatever schedule the host set, and the search terms report for the full period in issue. Record the account ID, date range, time zone, currency and extraction date for every pull.Are the conversions reported in Google Ads counted or estimated?
Both, in an undisclosed proportion. Google states that modeled conversions estimate conversions it is unable to observe directly, and that the Conversions column reports modeled and observed conversions together. Google also states that the modeling determines whether an ad interaction led to an online conversion, not whether a conversion happened — an attribution claim rather than an existence claim. Because the model is proprietary and its inputs are not available for inspection, an outside expert cannot reproduce a modeled figure or say how much of any given number was counted. The defensible course is to identify where modeling is present and quantify the resulting uncertainty.Why do search terms from an old report not match a fresh pull of the same period?
Because the reporting rules changed twice. Google restricted the report to terms searched by a significant number of users in September 2020, partially restored coverage in September 2021 for queries from 1 February 2021 forward, and stated that pre-September-2020 data failing the current thresholds would remain available only until 1 February 2022. There is a structural gap between September 2020 and February 2021 that was never restored. A comparison spanning those dates measures Google's disclosure policy rather than anything about the advertiser or its competitors, and that mistake is common in competitor-bidding matters.Does a Google Ads expert witness need the platform's cooperation, or is the party's own export enough?
For most questions the party's own export is the practical route, and a subpoena to the platform is slow, contested and of uncertain scope. Where an advertiser or its agency holds credentials, courts have treated the practical ability to log in and export as bearing on control for discovery purposes, though the leading decision on third-party-hosted business data is a magistrate judge's and binds nobody. The realistic sequence is: export what the account will produce, preserve the advertiser's own logs, and reserve platform process for questions the account view structurally cannot answer.Published