How to audit your UTM parameters
Over time, UTM values drift — Facebook and facebook, email and Email, newsletter and news — and split one channel into several report lines. A periodic UTM audit finds and consolidates that drift. This page describes a repeatable audit method you can run from your analytics export.
Pull the raw values
Start from a complete list of the source/medium/campaign combinations your analytics has seen over the audit window. The goal is to see every literal value, including the near-duplicates a tidy report would hide.
- Export distinct utm_source values
- Export distinct utm_medium values
- Export distinct utm_campaign values
- Sort each list to surface casing/spelling variants next to each other
Find and consolidate drift
Scan for the classic problems: casing variants (Facebook vs facebook), synonyms (email vs e-mail vs newsletter), abbreviations (fb vs facebook), and stray free text. Each pair that means the same thing is one channel split in two.
Decide the canonical value for each, document it, and where your tool allows, remap historical data or at least annotate the change date so trend lines are interpretable.
Make the audit repeatable
An audit you run once decays immediately. Schedule it (monthly or per campaign wave), keep the canonical vocabulary in a shared template, and feed findings back into your naming convention so the same drift does not recur. Pair the audit with validation at link-build time to prevent most issues upstream.
How it appears in analytics and logs
An audit that turns up FB, facebook, and Facebook as three sources means one channel has been fragmented. Consolidating them restores an accurate, comparable channel total.
Diagnostic use case
Periodically audit live UTM values to find inconsistencies and duplicate channels, then standardize so historical and future reports line up.
What WebmasterID can help detect
WebmasterID surfaces the source/medium values it has recorded, giving you the list to audit, and its link builder prevents the drift you would otherwise be fixing.
Common mistakes
- Auditing the tidy report instead of the raw distinct values, hiding the drift.
- Fixing variants without documenting the canonical value, so drift returns.
- Never scheduling a re-audit, letting new variants accumulate.
- Not feeding findings back into the naming convention.
Privacy and accuracy notes
An audit inspects source/medium/campaign values, not visitors. Use it to confirm no UTM value contains personal data, and that all values are generic campaign labels.
Related pages
- UTM casing and consistency
Casing is the single most common UTM data bug. Because tools match values as exact strings, utm_source=Reddit and reddit are two separate rows, so one campaign quietly fragments. This page makes the lowercase rule concrete and shows how to deepen it into real consistency.
- UTM governance and templates
UTM data degrades when everyone builds links by hand. This page covers the governance that prevents it: a shared builder or spreadsheet, documented allow-lists for source and medium, and a review step so new values are deliberate rather than ad-hoc.
- UTM validation and QA
Most UTM data problems are preventable with a validation step before links go live. This page describes what to check on every tagged URL — presence of the core parameters, lowercase consistency, proper URL encoding, no double question marks — and a lightweight QA workflow so broken or inconsistent tags never reach production.
- Event explorer
Inspect the source/medium values recorded for your traffic.
Sources and verification notes
- Google Analytics Help — Default channel groupingHow source/medium values map to channels you audit against.
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.