Audit UTM tagging consistency between ads and analytics
The UTM chain audited end to end: what ads declare, what GA4 receives, where the unassigned bucket grows.
IntentWhether the links ads carry land in GA4 as the channels they claim.
- 3
- Steps
- 3
- Tools
- 1
- Rules
- 1
- Failure modes
When to use it
Use it when
- The 'unassigned' or 'direct' channel grows.
- After tracking template changes.
Do not use it when
- No specific contraindication beyond the preconditions below.
What it needs first
No single source is required: this one reads across whatever you have connected.
Preconditions
- The account is ticked in the dashboard, confirmed via list_accounts.
Inputs
window- Analysis window.Default: last 30 days.
Procedure
In order. Every tool named is one the gateway ships, and links to its reference.
Read final URLs and tracking templates on ads.
Read GA4 session sources for the same period.
Match declared to received and list the leaks.
Decision rules
The observable condition, what it lets you conclude, and what takes the conclusion back.
When
A platform's traffic lands partly unassigned
Conclude
Template or redirect strips parameters: name the ad set and the missing parameter.
Evidence every conclusion must carry
- Every figure carries its account, metric and window.
- Anything below a readable sample size is reported as unjudged, not as zero.
Where the agent stops
- The readout changes nothing. Any change it motivates goes through Safe Writes: preview, human confirmation, then apply.
How it goes wrong quietly
The cases where the analysis is wrong and still looks right. Read them before trusting a number.
- Auto-tagging and manual UTMs coexist on Google: gclid can win silently, and that is correct, not a bug.
What the answer contains
- 01Readout
- The figures, with windows and accounts named.
- 02Flags
- What deserves a deeper skill or a human decision.