UTM hygiene at campaign scale.
Audit your channel grouping against the UTMs actually landing on your property. Catch the traffic buckets leaking into Direct or Unassigned.
UTMs break in five ways and most of them show up as a drop in Direct traffic + a bump in Unassigned traffic that nobody can explain. Campaigns set in ad platforms with inconsistent `utm_source` casing (Google vs google vs GOOGLE). Mail tools like Mailchimp stripping parameters. Redirects dropping the query string. Agency partners using `utm_medium=social` for what should be paid. The practical result: your attribution reports misallocate 5–15% of sessions every quarter and the CMO asks why "direct traffic" just went up again.
- Cross-checks your GA4 channel grouping definitions against the `source / medium / campaign` values actually showing up in Acquisition reports.
- Flags casing inconsistencies — `google / cpc` vs `Google / CPC` — that create duplicate rows in every report.
- Identifies the "Unassigned" bucket contributors and what it would take to rule each one in or out (new channel group condition, source alias, etc.).
- Catches the common mis-medium pattern: paid social tagged as `social` instead of `paid_social`, organic search tagged as `search`, etc.
- Surfaces campaigns with missing UTMs entirely — when possible, inferred from the landing page or ad platform.
2.4% of sessions landing in "Unassigned" channel group
Paid social campaigns tagged `utm_medium=social` are landing in Unassigned instead of Paid Social because your channel grouping rule set requires `paid_social` for that bucket. Affects ROAS calculation for every paid social campaign — they appear to drive 0 attributed conversions when the reporting is pulled at channel-group granularity.
Two-part fix. (1) In GA4 admin → Data Display → Channel groups → [your grouping] → edit Paid Social, add an OR condition: `Session medium` matches `social`. (2) At the source, fix your Facebook/LinkedIn UTM tagging template to use `paid_social` going forward. Old campaigns get patched retroactively by rule (1); new campaigns stay clean by rule (2).
Hire a web analyst. Or install one.
UTM parameter hygiene is one of 10 high-stakes chores the agent covers end-to-end. Your first audit is free — and the agent keeps watching every night, so the next time utm parameter hygiene drifts, you hear it from us before it costs you.