Beginner Guide

UTM Parameters Explained: source, medium, campaign, term, content

The five little tags that power campaign attribution — what each one means, how GA4 reads them, and worked examples for the channels you actually use.

A UTM parameter is a tag added to the end of a URL. When someone clicks the link, your analytics tool reads the tags and records where that visit came from. A fully tagged link looks like this:

https://example.com/spring-sale?utm_source=mailchimp&utm_medium=email&utm_campaign=spring-sale-2026

“UTM” stands for Urchin Tracking Module — a leftover from Urchin, the analytics product Google acquired in 2005 that became Google Analytics. The name stuck; the mechanism is now the universal standard for campaign tracking, understood by GA4 and virtually every marketing and CRM platform.

The five parameters at a glance

ParameterStatusAnswersExample valuesGA4 dimension
utm_sourceRequiredWhich platform or site sent the click?facebook, google, mailchimp, linkedin, producthuntSession source
utm_mediumStrongly recommendedWhat kind of marketing was it?email, cpc, paid-social, organic-social, qr, podcastSession medium
utm_campaignStrongly recommendedWhich campaign or initiative?spring-sale-2026, q2-webinar-2026, product-launch-atlasSession campaign
utm_termOptionalWhich keyword (paid search) or audience?utm-tracking-software, brand-keywordsSession manual term
utm_contentOptionalWhich creative, placement, or link variant?header-cta, carousel-v1, footer-link, text-ad-bSession manual ad content

What each parameter does

utm_source — the specific platform, site, or tool that sent the click: facebook, google, mailchimp. This is the one parameter GA4 requires before it will register campaign data from a link. Think “proper noun.”

utm_medium — the category of marketing: email, cpc (paid search), paid-social, qr. GA4 leans on medium heavily when assigning sessions to default channel groups, so non-standard values here are the main way traffic ends up in the dreaded Unassigned bucket. Think “common noun.”

utm_campaign — the initiative the link belongs to: spring-sale-2026. This is how you roll up performance across every channel a campaign ran on: one filter, all the email + social + search traffic for that launch.

utm_term — originally the paid-search keyword; many teams repurpose it for audience or targeting identifiers on other paid channels. Skip it when it does not apply.

utm_content — distinguishes variants within one campaign: two ad creatives, the header button versus the footer link in the same email. This is your A/B-test-at-the-link-level parameter.

In GA4, these surface as session-scoped dimensions (session source, session medium, session campaign, session manual term, session manual ad content) plus first-touch equivalents like first user source, which show which campaign originally acquired each user rather than which one drove the latest visit.

Worked examples by channel

Email newsletter

Monthly newsletter sent from Mailchimp, promoting a spring sale, with the same link in the header button and the footer.

https://example.com/spring-sale?utm_source=mailchimp&utm_medium=email&utm_campaign=spring-sale-2026&utm_content=header-cta

utm_content distinguishes the header button from the footer link (footer-link), so you learn which placement actually gets clicked.

Paid social (Facebook Ads)

Prospecting campaign on Facebook with two creative variants: a carousel and a single image.

https://example.com/spring-sale?utm_source=facebook&utm_medium=paid-social&utm_campaign=spring-sale-2026&utm_content=carousel-v1

Medium is paid-social (not just social) so paid and organic traffic never blend together in reports.

QR code on print

A QR code on conference booth signage pointing to a demo page.

https://example.com/demo?utm_source=saastr-2026&utm_medium=qr&utm_campaign=event-booth-2026

Without a UTM, QR scans show up as direct traffic and the booth gets zero credit. The event name works well as the source.

Podcast sponsorship

A host-read ad with a memorable short URL that redirects to the tagged link.

https://example.com/podcast-offer?utm_source=marketing-over-coffee&utm_medium=podcast&utm_campaign=q3-sponsorship-2026

Listeners type a short vanity URL; the redirect appends the UTMs. The podcast's name is the source, podcast is the medium.

Common mistakes that break attribution

Tagging internal links

The classic, most damaging mistake. If a visitor clicks an internal banner tagged utm_source=homepage, GA4 starts a new session attributed to "homepage" and the visitor's real origin — the ad you paid for — is erased. UTMs belong only on links pointing into your site from outside.

Inconsistent casing

GA4 treats values as case-sensitive strings, so Facebook, facebook, and FACEBOOK become three different sources. Standardize on all-lowercase, always.

Spaces in values

Spaces get URL-encoded to %20 (or +, depending on the tool), producing values like spring%20sale that are ugly, inconsistent, and easy to mistype. Use hyphens instead.

Mixing up source and medium

Source is the specific platform (facebook); medium is the channel type (paid-social). Writing utm_source=social or utm_medium=facebook scrambles GA4's channel grouping and makes cross-channel comparison impossible.

Inventing a new medium for every campaign

Medium should be a short, fixed list. Campaign-specific detail belongs in utm_campaign or utm_content — not in a one-off medium like email-vip-june that will never match a channel group.

No shared record of what's been created

If every marketer tags links from memory, drift is guaranteed. Keep a single shared source of truth — a spreadsheet at minimum, or a governed UTM library ideally.

Most of these mistakes are consistency problems, and consistency at team scale requires agreed rules. That is the subject of our complete guide to UTM naming conventions. If you want to start tracking today with zero tooling, grab the free UTM tracking spreadsheet template.

Skip the memorization

With UTM Copilot you describe the campaign — “spring sale email on Mailchimp, linking to the promo page” — and AI builds the tagged URL for you, validated against your team's naming conventions, saved to a shared library with short links and QR codes. Free plan includes 50 UTMs a month.

Frequently asked questions

What are UTM parameters?

UTM parameters are five standardized tags (utm_source, utm_medium, utm_campaign, utm_term, utm_content) appended to a URL's query string. When someone clicks a tagged link, analytics tools like Google Analytics 4 read the tags and credit the visit to the right platform, channel, and campaign.

Which UTM parameters are required?

utm_source is required for GA4 to register campaign data from a link, and in practice utm_medium and utm_campaign should always be included too — those three drive channel grouping and campaign reporting. utm_term and utm_content are optional refinements for keywords and creative variants.

How do UTM parameters show up in GA4?

GA4 exposes them as dimensions: utm_source becomes 'session source', utm_medium becomes 'session medium', utm_campaign becomes 'session campaign', utm_term becomes 'session manual term', and utm_content becomes 'session manual ad content'. First-touch versions ('first user source', etc.) show which campaign originally acquired the user.

Should I put UTM parameters on internal links?

No — never. Clicking an internal link that carries UTM parameters starts a new attributed session in GA4, overwriting the visitor's true origin. Use UTMs only on links that point into your site from external places: emails, ads, social posts, QR codes, and partner sites.

Do UTM parameters affect SEO?

Not meaningfully, as long as you use them for external campaign links rather than internal navigation. To be safe, make sure your pages declare a canonical URL so search engines consolidate any tagged variants they encounter.