Five standard parameters, one non-standard extra, and the values that analytics platforms recognize rather than quietly discard.
utm_sourceWhich specific site, app or list sent the visitor.
The most concrete of the five: a named origin, not a category. instagram, newsletter, partner-blog. Pick the name once and never vary it - this is the field where capitalization drift does the most damage, because Facebook and facebook become two separate sources in every report.
instagram · newsletter · google · partner-blog
utm_mediumThe type of channel, which decides how analytics groups the traffic.
The only parameter whose value is not entirely yours to choose. GA4 matches it against a known list to assign a default channel group, so an invented medium quietly sends the traffic to Unassigned. Use cpc for paid search, paid-social for social ads, social for organic posts, email for newsletters.
cpc · social · paid-social · email · affiliate · video · qr
utm_campaignThe campaign this link belongs to.
What lets you add up everything that belonged to one push, across every channel it ran on. Without it, links are attributed but indistinguishable. This is the field that most needs a naming convention, because it is written by hand more often than any other.
spring-sale-2026 · product-launch · black-friday
utm_termThe paid keyword that triggered the ad.
Originally for paid search. In practice you rarely fill it in by hand - Google Ads and other platforms populate it automatically through auto-tagging or a ValueTrack parameter. Set it manually only when you are running ads on a platform that does not.
running-shoes · crm-software
utm_contentWhich creative, placement or variant received the click.
The parameter that makes A/B results readable. Two links to the same page with the same source, medium and campaign, differing only in utm_content, let you see which button, image or position actually worked.
hero-button · footer-link · variant-b · story-3
utm_referralA non-standard extra, supported in Revolink.
Not part of the original Urchin specification and not read by GA4's standard reports. It exists in Revolink because some teams already use it in their own conventions. If you are starting fresh, put the information in utm_source or utm_content instead.
yoursite.com
The builder fills these in with channel presets and keeps the values consistent for you.
Five standard ones: utm_source, utm_medium, utm_campaign, utm_term and utm_content. The first three carry almost all of the value; term and content are optional refinements. Revolink also supports utm_referral for teams that already rely on it, though it is not part of the original specification.
Technically none - a URL works without any of them. In practice utm_source and utm_medium are the pair that makes attribution work at all, and utm_campaign is what makes the data useful afterwards. Those three should be on every campaign link.
Urchin Tracking Module. Urchin was a web analytics company Google acquired in 2005, and the product became the foundation of Google Analytics. The parameter names survived the rename and are now read by essentially every analytics platform.
You can add them to a URL, and they will be carried along, but standard reports will not show them - you would need to configure a custom dimension. For most teams it is simpler to use utm_content, which is already designed to carry whatever extra detail you need.
They should not affect your own pages, because you only put them on inbound links from other channels - not on links between pages of your own site. Tagging internal links is the mistake to avoid: it both restarts the analytics session and creates crawlable duplicate URLs.
Stop sending everyone to the same page. Route by location, device, and time - start free, no credit card required.
Start for Free - No Card RequiredFree forever · No credit card · Cancel anytime
Already have links? Import them