Why these cases are won on documents rather than opinions
A scope dispute asks a narrower question than a negligence claim, and that is its advantage. It does not ask whether the work was good. It asks whether the thing named in the statement of work exists, when it came into existence, and who put it there. Those are questions the record answers.
The statement of work is therefore the operative document and the first thing to read, and the way it is drafted usually determines whether the dispute is resolvable at all. Scopes written as activities — build and launch six campaigns, install conversion tracking for these four actions, deliver a monthly report containing these fields, refresh creative quarterly — are testable against platform timestamps and delivered artifacts. Scopes written as outcomes — improve brand awareness, optimize the account, drive growth — are not testable at all, and no amount of forensic work makes them so. When counsel asks me early whether the deliverables in a particular SOW can be checked, the answer is usually available from reading the SOW alone.
A second distinction matters just as much. Whether a deliverable exists is a question of fact with a date attached. Whether it was any good is a judgment, and in a field with no licensing board behind it, a judgment with weak external support. The two should not be blurred in a report, and an opinion that quietly slides from the first to the second is the one an opposing expert will separate on cross.
The execution facts that are objectively checkable
A useful scope analysis concentrates on things that are true or false rather than better or worse. In digital marketing, more of those exist than most people expect:
- Conversion tracking that never fired. A conversion action configured but recording nothing, or a tag present on the confirmation page but firing on a trigger that never occurred, is visible in the account and in the tag container.
- A tag removed on a datable day, with the removal recorded in the tag manager's own version history.
- Budget running to a landing page returning a
404, or to a page redirecting away from the offer, joined from the ad's final URL to the site's request log. - Campaigns that were never launched, or launched and paused within hours, against a SOW that names them.
- Targeting settings that contradict the brief — a geographic setting, a network setting including search partners or display when the SOW said search only, a bid strategy the client never approved.
- Reports delivered, missing, or delivered with fields the SOW did not describe.
None of those requires an opinion about competence. Each is a fact with a timestamp, and each can be put to a witness.
What the platform record dates, and how long it lasts
The change history is the spine of a scope reconstruction, and its limits should be understood before anyone relies on it. Google's own documentation states that change history "allows you to revisit the changes you've made to your campaign over the last 2 years." It records changes to ads, assets, audiences, budgets, bid adjustments, conversions, feeds, language and location targeting, keywords, and campaign and ad group status — including changes made through automated rules, the Google Ads API and Google Ads Editor — attributed by user. It does not track password changes, and undo is narrower than viewing: most changes can be reversed only within thirty days.
The trap is the API. Google's Ads API support channel has stated of the change_event resource that a report may "only specify period within the last 30 days," with no workaround for older changes. So change history older than thirty days can be read in the interface for up to two years but cannot be pulled programmatically. In practice it is captured through the interface's own download or by screenshot, which is a materially weaker artifact and should be described as what it is. Beyond two years, Google does not hold it at all, and the only remaining copy is whatever a party or its agency kept.
That window is short relative to the life of a commercial relationship. An engagement that ran for three years and ended in a dispute may have no platform-side record of its first year. Preservation has to be raised in the first weeks, not after the pleadings close.
Staffing, hours and the retainer
Where compensation is a fixed fee or retainer against a scope of work, the dispute is usually about scope and staffing rather than results. Two comparisons carry it.
The first is the SOW against timesheets and delivered artifacts: whether the work performed was inside or outside the scope, and whether the hours the fee assumed were actually staffed. Where the agreement is cost-plus or labor-based against an agreed rate card, the question narrows further, to the seniority billed against the seniority that did the work — a comparison that runs on the agency's own records rather than the platform's, and that often turns on who is named in the account access log and who appears as the acting user in the change history.
The second is out-of-scope work performed without a change order. That cuts in both directions. An agency that absorbed work it was never paid for has a claim of its own, and it will usually be evidenced by the same records the client is using to argue under-delivery. A scope analysis that only looks in one direction reads as advocacy, and is treated accordingly.
Account ownership, access, and what happens at termination
A surprising share of scope disputes are really disputes about what the client got to keep. The records that answer it are administrative rather than analytical: which entity owns each ad account, which manager account or business manager it sits under, who was granted what level of access and when, and — the question people forget to ask — which payment profile actually paid. The Google Ads API documents BillingSetup as the association that "effectively determines who pays for an advertiser's account," which makes it a direct answer to whether the agency was operating on the client's payment instrument or on its own.
Where the contract has a data-return or transition provision, those records establish whether it was honored. Where it does not, they establish what was in fact transferred and when. And where an account was deleted or access removed at termination, the change history and the access log will usually date it even after the account itself is gone, provided someone captured them in time.
Tag configuration deserves the same treatment. Google Tag Manager retains version history with the publishing user and timestamp for each container version, which makes it possible to establish when a measurement configuration was built, altered or removed, independently of anyone's recollection.
Placing the agency's reporting beside the platform's own numbers
The other half of a scope case is usually whether the reporting the client received described what actually happened. That comparison sorts into three classes, and only one of them is a problem.
- Definitional. The report counted "conversions" and the export counts "all conversions" including view-through; the report used a different attribution model or conversion window; one figure is in the account time zone and the other in the reporting time zone; one counts served impressions and the other viewable impressions. These reconcile to the digit once the definitions are pinned.
- Timing. Platform numbers for recent periods change after the fact — conversion lag, restatements, invalid-traffic credits, and modeled conversions that fill in later. A report run on the first of the month will not match the same report run on the thirtieth.
- Unexplained. Whatever survives the first two.
The discipline is that an expert eliminates the first two classes in writing before characterizing anything as the third. An opinion that skips that step is the one a rebuttal expert takes apart in a page.
One contractual benchmark exists and is routinely over-extended. Under the 4A's/IAB Standard Terms and Conditions v3.0 (2010), where an insertion order is measured by both a third-party ad server and the media company, a difference exceeding 10% over the invoice period with the controlling measurement lower triggers a reconciliation effort, and the agency may pay on the controlling measurement plus a 10% upward delivery adjustment. That is an impression-counting convention for insertion-order buys. It is not a general tolerance for spend, for conversions, or for self-service auction platforms, and it should never be cited as one.
What a scope analysis cannot settle
It cannot establish quality. That a campaign was built, launched and reported does not establish that it was built well, and there is no external body of practice that would supply the benchmark if the question were asked. An expert can describe what a configuration does and what its documented consequences are; calling it substandard requires an anchor, and usually the only available anchor is the contract.
It cannot establish oral variation. Scopes are changed in meetings constantly, and the platform record shows the change without showing the conversation that authorized it. Where an approval is not in writing, the records show that something happened and are silent on whether anyone agreed to it.
It cannot always establish authorship. A change attributed to a login establishes which credential was used, not who was at the keyboard, and shared credentials remain common in agency operations. Where a change was applied through the API, through Editor, or by an automated rule, the acting user may be a service account rather than a person.
And it cannot recover what has aged out. Beyond two years there is no Google-held change history; tag container versions can be deleted; server logs rotate on whatever schedule the host set. What is absent is frequently the most important thing in the report, and it belongs in the report rather than in a footnote.
Frequently Asked Questions
How can counsel tell whether work described in a statement of work was actually performed?
By matching each named deliverable to a record with a timestamp. Campaign builds, budget changes, keyword and audience changes, conversion actions and targeting settings appear in the ad account's change history with a date and an acting user. Tag and measurement work appears in the tag container's version history. Reports either exist as delivered files or do not. Where a deliverable is stated as an activity, this is usually a clean exercise. Where it is stated as an outcome, no record answers it, and that limitation is a feature of the drafting rather than of the evidence.How far back does an ad account's change history go?
Google documents two years in the interface. The API window is far shorter: Google's Ads API support channel has stated that the change_event resource can only be queried for the last thirty days, with no workaround for older data. So changes between thirty days and two years old can be viewed and exported through the interface but not pulled programmatically, and anything older than two years is not held by Google at all. In a dispute about an engagement that ran for several years, the earliest period usually has no platform-side record left, which makes early preservation decisive.Is there an accepted tolerance for a discrepancy between agency reporting and platform reporting?
There is one narrow contractual convention and it is regularly misapplied. The 4A's/IAB Standard Terms and Conditions v3.0 provide that on an insertion order measured by both a third-party ad server and the media company, a difference over 10% for the invoice period triggers reconciliation, with an option to pay on the controlling measurement plus a 10% delivery adjustment. That governs impression counting on insertion-order buys. It is not a tolerance for spend, conversions, or self-service platforms such as Google Ads or Meta, and no equivalent published tolerance exists for those.Who owns the ad account when the engagement ends?
Whatever the contract says, and if it says nothing, the answer comes from the administrative record. Ad accounts sit under a manager or business manager account belonging to one party or the other; access grants are logged with dates; and the payment profile that funded the account is documented in the platform's billing objects. Those records establish what actually happened at termination — what was transferred, what was removed, and when — which is often more useful than the contractual argument, because it is datable and neither party controls all of it.Can an expert opine that a delivered item was of poor quality?
Cautiously, and only with an anchor. Digital marketing has no licensing body and no mandatory body of practice, so a bare assertion that competent practitioners would have done otherwise is an assertion of personal preference. What can be supported is narrower and often sufficient: that a configuration had a documented consequence, that it conflicted with the platform's published rules, that it contradicted the contract or the brief, or that the agency's own reporting contradicted the platform's record. Those are anchored opinions. A generalized quality judgment is not.What should be preserved first in a scope dispute?
The change history for every ad account, exported through the interface rather than the API, because the API only reaches back thirty days. Then tag container versions, conversion action configuration, account access and ownership records, billing records from the platform and from the agency, and delivered reports in their original files. Web server logs and analytics exports come next, since retention there is set by the host and by account configuration rather than by anyone's expectation. Everything on that list runs on a shorter clock than the litigation does.Published