My Tool Studio
SEO Tools·4 min read

UTM Parameters Explained: Links Analytics Can Parse

UTM parameters usually get explained the moment a campaign you paid for shows up in GA4 as Direct traffic. They are five standard query string tags, utm_source, utm_medium, utm_campaign, utm_term and utm_content, that you add to links you publish outside your site. When someone clicks, analytics reads the tags and credits the visit to the right campaign. The mechanism is simple; the discipline isn't. One typo, one stray capital letter or one made-up medium and the click lands in the wrong report row for good. This guide covers the parameters, a worked link, and the conventions that keep data clean.

UTM Buildermytoolstudio.com › tools<title>…</title><meta name="description">SEO ready

The newsletter that vanished into direct traffic

The click happened. The credit didn't.

A marketer sends a product launch email to 20,000 subscribers. Opens look good, replies come in, and yet GA4 shows almost no email traffic that week. The clicks arrived, but many email clients don't pass referrer information, so without tags the visits were filed under Direct. The campaign worked; the measurement failed. At budget review, the channel that drove sales looks like it drove nothing.

That's the case for UTM tagging. Referrer data is unreliable across email, apps, QR codes and private messages, and UTM parameters are the one attribution method you fully control. Every link that leaves your site for an email, ad or post should carry them.

UTM parameters explained one tag at a time

Three you always need, two you sometimes do.

utm_source names where the link lived: google, facebook, newsletter, a partner's site. utm_medium names the channel type: cpc, email, social, referral. GA4 sorts traffic into its default channels using the source and medium pair, so wrong values here don't just mislabel a row. They push traffic into the wrong channel, or into Unassigned when the pair matches no rule.

utm_campaign ties the click to a specific effort, like spring_promo. The optional pair does finer slicing: utm_term usually carries the paid keyword, and utm_content separates two creatives aimed at the same page, banner_a against banner_b. Google's own builder marks only source as required, but treat source, medium and campaign as required, as the UTM Builder does, and leave term and content empty unless someone will filter by them.

A worked UTM link, from blank form to tracked URL

Watch the query string assemble.

In the UTM Builder, set the destination URL to https://example.com/launch, click the Email newsletter preset, which fills source with newsletter and medium with email, and type spring_promo as the campaign. The Tracked URL assembles live: https://example.com/launch?utm_source=newsletter&utm_medium=email&utm_campaign=spring_promo. GA4 will file each click under newsletter / email in the Email channel, against the spring_promo campaign.

Now the encoding case. Type Spring Promo 2026 as the campaign and, with Force lowercase and Replace spaces ticked as they are by default, the output becomes utm_campaign=spring_promo_2026. Untick both and it becomes utm_campaign=Spring+Promo+2026, with a warning about capital letters, which GA4 treats as different values from lowercase, and about spaces, which read poorly in reports. Lowercase with underscores is the better habit, because what you type is exactly what you'll read in the report. If the destination already has query parameters or a #fragment, the builder keeps them in the right place.

Presets and the GA4 channel they land in

Standard pairs beat invented ones.

The quick presets fill source and medium pairs that GA4's default channel rules recognize: Google Ads as google / cpc for Paid Search, Facebook ads as facebook / paid_social for Paid Social, Instagram, LinkedIn and WhatsApp posts as social for Organic Social, plus Email newsletter, SMS and Affiliate. The same facebook source counts as Paid Social with paid_social and Organic Social with social, so the medium is doing real work.

The common way to end up in Unassigned is a made-up medium such as blast or promo. Starting from a preset and editing only the campaign avoids that. Check new tags in the GA4 Traffic acquisition report a day or two after launch to confirm they land where you expect.

UTM naming conventions that survive a growing team

The report is only as clean as the sloppiest tagger.

Analytics matches strings, not meanings. Email, E-Mail and email are three different mediums to GA4, and once traffic splits across them, no dashboard work merges it back cleanly. The convention that prevents this fits on an index card: lowercase everything, use underscores instead of spaces, and pick one value per channel and stick to it, email not e-mail, facebook not fb.

Add a date or identifier pattern to campaign names, like 2026_q3_launch, so names sort in order and never collide. Then write the card down somewhere shared. A convention that lives in one person's head resets every time the team changes.

UTM mistakes that break reports for months

Small typos, long shadows.

The damage from bad tagging adds up, since old report rows never merge themselves. The classics:

  • Tagging internal links, which restarts attribution mid-visit and overwrites the campaign that really brought the visitor.
  • Mixed capitalization across senders, splitting one channel into Email, email and EMAIL rows.
  • Swapping source and medium, so reports show email as a source and newsletter as a medium in half the rows.
  • Hand-building links and dropping an ampersand or equals sign, which breaks every parameter after it.
  • Tagging a URL that then redirects, since some redirect setups strip query strings and the tags never reach the landing page.

Three habits for tagged links that stay trustworthy

Process beats memory.

First, build every link fresh in the UTM Builder rather than editing an old tagged URL by hand; recycled links are how last quarter's campaign name ends up on this quarter's ads. Second, click the finished link once before publishing and confirm the parameters arrive at the destination intact.

Third, keep a shared log of published links; a plain spreadsheet with URL, date and channel is enough. When a strange campaign name shows up in GA4 three months from now, the log answers in seconds what memory can't answer at all.

The UTM Builder alongside the other link tools

Tag, check, verify.

The UTM Builder handles composition, but tagged links meet other URL machinery. If a tagged URL passes through a shortener or an old address, run it through the Redirect Checker to confirm the parameters survive every hop, because redirects that drop query strings quietly erase attribution. To decode an already-encoded link someone sent you, the URL Encoder / Decoder unpacks the percent encoding. And the HTTP Status Code Checker confirms the landing page itself answers with a healthy 200.

Try it now

Open UTM Builder

The tool is one click away. No sign up, no upload, no payment.

Open UTM Builder