How UTM parameters work
When someone clicks a link with UTMs attached, those parameters travel with the request. Google Analytics (and most other analytics platforms) reads them on page load and writes a row to your traffic data tagged with the source, medium, and campaign you specified. From that moment on, every action that user takes — page views, clicks, scrolls, conversions — is attributed to that traffic source.
The format never changes:
https://example.com/post?utm_source=...&utm_medium=...&utm_campaign=...
You can hand-build them, use a UTM builder (Google has a free one), or generate them inside your link-management tool.
The 5 standard UTMs
Three are mandatory in most analytics setups; two are optional.
utm_source— where the click came from. Examples:youtube,newsletter,twitter,google,pinterest.utm_medium— the channel type. Examples:video,email,social,cpc,organic.utm_campaign— the specific campaign or content piece. Examples:2026-q2-launch,pinterest-review,black-friday.utm_term— paid search keyword (mostly used for Google Ads).utm_content— variant identifier for A/B testing or differentiating links on the same page (header CTA vs footer CTA, for example).
Why affiliates need them even if the network tracks clicks
Affiliate network dashboards show you clicks and conversions at the offer level. They almost never tell you which of your specific posts, videos, emails, or tweets drove those clicks. UTMs fill that gap.
Concrete example: you promote the same SaaS tool from three places — a YouTube video, a blog post, and an email. The network shows 47 clicks this month. Without UTMs, you have no idea which of the three is doing the work. With UTMs, you see 32 from the email, 12 from YouTube, 3 from the blog post — and now you know where to invest more time.
UTMs also persist into Google Analytics, which means you can stitch on-site behavior (time on page, scroll depth, what pages they visited next) to traffic source — something the affiliate dashboard alone never shows.
Naming conventions that don't fall apart
The single biggest mistake is inconsistency. YouTube, youtube, and YT are three different sources to the analytics tool, even though they're the same source to you. By month three, your reports become useless.
A naming convention worth stealing:
- Lowercase everything. Always.
- No spaces. Use dashes (
black-friday) or underscores (black_friday) — pick one and stick with it. - Date-prefix campaigns.
2026-04-pinterest-reviewsorts cleanly and you'll thank yourself in six months. - Standardize source names. Always
youtube(not "YT" or "yt-channel"), alwaysnewsletter(not "email-list" or "subscribers"). - Document it. A two-page Google Doc listing your conventions saves your future self.
Common mistakes that break analytics
- UTMs on internal links. Tagging your own site's nav with UTMs resets the original traffic source on every click. Never do this; only tag external entry points.
- Spaces in values. Spaces become
%20in the URL and create variant rows in your reports. Use dashes. - Inconsistent capitalization. Already covered, but worth saying twice.
- No canonical tags on the destination. Without a canonical, Google can index the UTM-laden URL as a separate page.