Toolkit
SEO & content tools

UTM Link Builder

Build tagged campaign URLs with consistent parameters.

Campaign parameters
Tagged URL

https://example.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=spring-launch-2026

Every channel at once

Never put UTM parameters on internal links — they restart session attribution and overwrite the original traffic source, corrupting your reporting.

About this tool

Assemble a tracking URL with the five UTM parameters, using channel presets so your naming stays consistent. Values are normalised to lowercase by default, which prevents the split reporting that happens when Facebook and facebook become separate sources.

How to use it

  1. Paste your destination URL.
  2. Fill in source, medium and campaign — the three that matter most.
  3. Copy the tagged URL, or build several at once for different channels.

What each parameter is for

Five parameters, three of which actually matter.

  • utm_source — the specific origin. newsletter, google, partner-name.
  • utm_medium — the channel type. email, cpc, social, affiliate.
  • utm_campaign — the initiative. spring-launch-2026.
  • utm_term — the paid keyword. Rarely used outside search ads.
  • utm_content — distinguishes variants within a campaign: which button, which A/B arm.

Medium is the one people get wrong. Analytics platforms group channels by medium, and unrecognised values fall into "Other" where they are effectively invisible. Stick to the standard set — email, cpc, social, referral, affiliate, display — rather than inventing newsletter-email or facebook-post.

Source answers "where exactly", medium answers "what kind of channel". Getting that split right is what makes reports readable six months later.

Two mistakes that corrupt your reporting

Never tag internal links. This is the big one. UTM parameters start a new session in most analytics platforms, overwriting the original attribution. Tag a link on your own homepage and a visitor who arrived from Google is suddenly attributed to your internal campaign — the real acquisition source is erased. Use internal link tracking or event parameters instead.

Casing is significant. Email, email and EMAIL are three separate mediums in most platforms, and your traffic silently splits across all of them. Lowercase everything, always — this tool does it by default. The same goes for spaces, which encode as %20 and make an ugly mess of reports; use hyphens.

Two related habits worth adopting:

  • Keep a spreadsheet of every tagged URL. Without one, naming drifts within weeks and nobody can reconstruct what a campaign was called.
  • Remember UTMs are public. They appear in the address bar, get copied into forums and shared in messages. Never encode anything you would not want a customer to read, and expect some "email" traffic to actually be someone pasting your newsletter link to a friend.

Frequently asked questions

Which parameters are required?
Source, medium and campaign are the meaningful three. Term and content are optional, used for paid keywords and A/B variants respectively.
Why does casing matter?
UTM values are case sensitive in most analytics platforms, so Email and email report as two separate mediums and split your numbers. Sticking to lowercase avoids the problem entirely.
Should I tag internal links?
No. UTM parameters on internal links restart the session attribution, overwriting the original source and corrupting your reporting. Use them only on inbound links from outside your site.