What UTM parameters are (and what UTM stands for)
A UTM parameter is a name-and-value tag appended to a link after a question mark. On its own, a link like example.com/sale tells your analytics nothing about how the visitor arrived. Add UTM tags — example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale — and the same visit is now labelled by source, channel, and campaign.
UTM stands for Urchin Tracking Module. The convention comes from Urchin, an early web-analytics product Google acquired and turned into Google Analytics, and it has been the standard way to tag campaign links ever since. This guide uses GA4 campaign dimensions. If you use another analytics tool, check how it maps campaign parameters to its own fields.
The tags do not change the page the visitor sees; they only carry information for your analytics. That is the whole point: a tagged link behaves exactly like the untagged one for the visitor, while giving you the attribution you would otherwise lose.
Five common UTM parameters, explained
These five common parameters cover many campaign links. GA4 also supports utm_id and utm_source_platform.
Use consistent source, medium and campaign values on external campaign links.
- utm_source — where the traffic comes from: the specific referrer or platform (newsletter, google, facebook, partner-site).
- utm_medium — the channel type: email, cpc, social, banner, affiliate. This is what groups traffic into channels in your reports.
- utm_campaign — the campaign name that ties a set of links together: spring-sale, launch-2026, black-friday.
- utm_term — optional; used for paid-search keywords (the keyword you bid on).
- utm_content — optional; distinguishes two links to the same destination, useful for A/B tests or two buttons in one email (header-cta vs footer-cta).
How to build a UTM-tagged URL
The structure is your normal page URL, then a question mark, then each utm_ tag joined by an ampersand. Order does not matter; spelling and casing do. A complete example: example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale&utm_content=header-cta.
The safest habit is a naming convention you apply every time. Keep everything lowercase, because UTM values are case-sensitive: Facebook, facebook, and FaceBook become three separate sources in your reports. Use hyphens or underscores instead of spaces, never raw spaces. Keep a shared list of the exact source and medium values your team is allowed to use, so one person does not write “email” while another writes “e-mail.”
You can assemble links by hand once you know the pattern, or use a URL builder that fills in the fields and encodes the result for you. Either way, the rule that matters is consistency: the same channel must always be tagged the same way, or your reports will split one channel into several.
Free tracking check
See what’s visible on a real site.
Run a free browser-based scan. No login or installation needed.
Run a free checkCommon UTM mistakes that quietly break your reporting
Most UTM problems are not dramatic — they do not throw an error. They just fragment or misattribute your data until the reports stop being trustworthy.
Watch for these in particular:
- Inconsistent casing or spelling: Email vs email, or fb vs facebook, split one channel into several rows.
- Internal UTM links do not restart a GA4 session or replace its source. New campaign values can affect event-based attribution. Measure internal clicks with events instead.
- Spaces or special characters left un-encoded, which can break the link or create ugly, mismatched values.
- Losing UTMs on a redirect: if a tagged link passes through a redirect that drops query strings, the tags never reach your analytics.
- Using utm_campaign for everything and skipping source/medium, which leaves traffic ungrouped by channel.
How to see UTM data in GA4
For campaign arrivals, open GA4 Reports > Acquisition > Traffic acquisition. Review Session source / medium and Session campaign. These are session-scoped dimensions; use the event checks below to investigate one test action.
If values are missing, check that redirects preserve the query string and that the parameter names are correct. For example, utm_soure is not utm_source. Then review collection in the intended GA4 property.
If your UTM values are missing entirely and you are not sure whether GA4 is even receiving hits, the problem may be upstream of UTMs — the GA4 tag itself may not be firing on the page.
A tagged link is not proof your tracking fires
UTMs label campaign URLs; they do not send analytics events. TrackCanary checks public pages for visible GA4 signals without opening your account. That does not confirm a campaign click, event receipt or attribution.
Open a tagged external link in an authorized test session and check that the final URL retains its UTMs. Enable debug mode, perform the agreed action and inspect the event in GA4 DebugView. Use Realtime for recent activity; compare the intended measurement ID and campaign values separately.
Sources
Updated:
Next step
Check visible GA4 signals
Paste the public campaign page URL into the GA4 checker to look for visible tag evidence. Review event receipt separately in GA4 DebugView or Realtime.