Metrics and analysis
UTM parameters for ads: a naming system that survives contact
How to build UTM tags that stay readable months later: what goes in each parameter, the rules that prevent broken reports, and the common mistakes.
Also available in: Português
UTM parameters are tags added to a link so your analytics tool knows where a visit came from. They are simple to add and easy to get wrong in ways that only surface months later, when a report shows twelve versions of the same source and nobody can rebuild the history.
The five parameters
| Parameter | What it answers | Example |
|---|---|---|
| utm_source | Which platform | facebook, google |
| utm_medium | Which type of traffic | cpc, paid_social |
| utm_campaign | Which campaign | leads_broad_2026-09 |
| utm_content | Which creative or variant | video_testimonial_a |
| utm_term | Which keyword or audience | retargeting_30d |
Source and medium carry the most weight, because reports group by them. Content and term are where you put the detail that makes a campaign diagnosable later.
The rules that prevent broken reports
Lowercase, always. Analytics tools treat Facebook and facebook as different sources. One inconsistent link and your channel report splits into two rows that nobody notices until the totals stop matching.
No spaces. Use underscores or hyphens, and pick one. A space becomes %20 and turns a readable label into noise.
One fixed order in utm_campaign. Objective, audience, date. Decide the order once and never vary it, because sorting alphabetically is the only way to make sense of a hundred campaigns.
Dates in year-month form. 2026-09 sorts correctly. sep26 does not.
No personal data, ever. Names, emails and phone numbers do not belong in a URL that ends up in analytics logs and browser history.
Why the naming convention matters more than the tool
Six months from now, someone will open a report and see utm_campaign=promo2. Nobody will know which promo, for whom, or when. The convention is what turns a URL into something that still answers questions after the person who built it has moved on.
A workable pattern: objective_audience_yyyy-mm. For example leads_lookalike_2026-09 or sales_retargeting_2026-09. It is boring, it sorts well, and it survives.
Where UTMs and platform reporting disagree
They will disagree, and that is normal rather than a bug. The platform counts a conversion when its attribution window says so; your analytics counts a session when the browser allows it. Ad blockers, privacy settings and cross-device journeys all widen the gap.
The useful response is not to pick a winner. It is to watch the ratio between them. A stable gap means both systems are working as expected. A gap that suddenly widens means something broke: a tagging change, a consent banner, a tracking script that stopped firing.
Auto-tagging and when to use it
Google Ads offers auto-tagging, which appends its own click identifier and feeds Google Analytics without manual UTMs. It is accurate and it is also specific to Google's own tools. If your reporting lives entirely inside that ecosystem, auto-tagging alone can be enough.
The moment you need the same data in a CRM, a spreadsheet or a tool that is not Google's, manual UTMs come back, because the click identifier means nothing outside its home. Many accounts end up running both: auto-tagging for the native integration, UTMs for everything else. That is fine, provided the UTM convention is applied consistently, otherwise you get the worst of both.
Meta has no equivalent of auto-tagging, which is why manual UTMs are not optional there if you want session-level attribution outside the platform.
The mistakes that cost the most
1. Tagging some campaigns and not others. Untagged traffic lands in direct or referral, and the channel that is working looks smaller than it is. Partial tagging is worse than none, because it produces confident wrong conclusions.
2. Changing the convention mid-year. Every comparison against earlier periods breaks. If you must change it, change it at a period boundary and document the switch.
3. Putting the internal campaign name in utm_campaign. Internal names get renamed. The UTM does not follow the rename, so history splits.
4. Forgetting to test the final URL. A missing question mark or a duplicated ampersand produces a page that loads wrong, or does not load at all. Click the assembled link before launch, every time.
Naming that survives a rename
Campaign names change. Offers get rebranded, product lines get renamed, someone tidies the account. The UTM does not follow any of that, which is why using the internal campaign name inside utm_campaign quietly splits your history in two.
Use a description of the intent instead of the label: leads_lookalike_2026-09 describes what the campaign was doing, and stays true even if the campaign is renamed three times. Six months later, that string still means something to whoever reads the report.
The same logic applies to utm_content. Name the creative by what it is — video_testimonial, static_before_after — not by an internal file name that only made sense on the day it was uploaded.
A practical setup for an agency
Keep one shared sheet with the convention and the allowed values for source and medium. Anyone building a link picks from the list rather than inventing. That single document prevents most of the fragmentation, and it takes an hour to create.
For accounts where several people build links, it is worth going further: a small form or template that assembles the URL from dropdowns. The goal is to make the correct version the easy one.
A checklist before any campaign goes live
- All destination URLs carry the full parameter set, none missing.
- Everything is lowercase, with no spaces.
- utm_campaign follows the agreed pattern, including the date.
- utm_content distinguishes the creatives you will want to compare later.
- The assembled URL has been opened in a browser and loads correctly.
- No personal data anywhere in the string.
Six checks, under a minute. The alternative is discovering in three weeks that half the campaign is untagged and the comparison you needed is impossible to rebuild.
What UTMs cannot do
They cannot attribute an offline sale by themselves, they cannot survive a user switching devices, and they cannot tell you why someone converted. They answer one question well — where did this session come from — and pretending they answer more is how teams end up trusting a number that was never that precise.
For businesses that close on the phone or in person, UTMs are the first half of the chain. The second half is recording the source in the CRM at the moment of contact, which is a process problem rather than a technical one.
To connect these numbers to business results, continue with how to measure digital marketing results and marketing ROI. The pricing page shows which plans consolidate all three platforms.
Frequently asked questions
Do I still need UTMs if the platform reports conversions?
Yes. Platform reporting shows what that platform can see. UTMs let your analytics and CRM attribute sessions and revenue independently, which is how you check one against the other.
Should UTMs be uppercase or lowercase?
Always lowercase. Analytics tools treat Facebook and facebook as two different sources, which silently splits your reporting in half.
What goes in utm_campaign?
Something you will still recognise in six months: objective, audience and date, in a fixed order. Not the internal campaign name if that name changes.
Can UTMs break my ad tracking?
They do not break platform tracking, but a malformed URL can break the landing page. Always test the final URL with the parameters attached before launching.