How to use it

  1. Paste your destination URL. The full address including https:// — the page you actually want people to land on.
  2. Fill the three required parameters. utm_source is where the click came from, utm_medium is the channel type, utm_campaign is the campaign name you want to group by.
  3. Add the optional two if you need them. utm_content separates two links in the same campaign; utm_term records a paid keyword.
  4. Copy the URL and use it in your email, ad, post or QR code.

Start from a preset if you want sensible defaults for a common channel, then edit the campaign name to match what you are actually shipping.

What each parameter is for

Parameter Required Answers Good values
utm_source Yes Which specific site or list sent the traffic? newsletter, facebook, partner-blog
utm_medium Yes What type of channel was it? email, cpc, social, referral
utm_campaign Yes Which campaign or promotion is this? spring-launch, black-friday-2026
utm_content No Which link, if there are several? header-cta, footer-link, variant-b
utm_term No Which paid keyword? project-management-software

The useful mental model: source is who, medium is how, campaign is why. If you can answer those three questions from the URL alone six months later, your tagging is doing its job.

Naming conventions that keep reports clean

Analytics tools do not normalise UTM values for you. Email, email and e-mail are three different mediums, and a stray trailing space is a fourth. A few rules prevent most of the mess:

  • Lowercase everything. No exceptions, no judgement calls.
  • Hyphens, not spaces or underscores. Spaces become %20 in URLs and look broken when shared.
  • Keep utm_medium to a small fixed vocabulary. Pick your list — email, cpc, paid-social, organic-social, referral, affiliate — write it down, and never invent a new one on the fly.
  • Put the variable part in utm_campaign. Dates, offers and audience names belong here, not in source or medium.
  • Never tag internal links. A UTM link from your own homepage to your own pricing page starts a new session and destroys the original attribution.

Common mistakes

Tagging the same campaign three different ways. The most common cause of a fragmented report is three people tagging by hand. Agree the vocabulary once, then generate every link from the same place.

Using utm_source=email and utm_medium=newsletter. These are the wrong way round. The medium is the channel type (email); the source is the specific sender (newsletter, product-updates, mailchimp-weekly).

Adding UTMs to links inside your own product. Use event tracking for in-app behaviour. UTM parameters are for traffic arriving from outside.

Leaving utm_term on non-paid links. It is a paid-search field. Filling it on an organic social post just adds noise.

Forgetting the parameters are public. Anyone can read the URL, and internal codenames end up in shared screenshots and Slack threads. Keep values boring.

Privacy

Nothing you type here leaves your browser. The builder has no backend and no form submission — the URL is assembled in JavaScript on your own machine, and the values you enter are never transmitted, stored or logged. There is no signup and no rate limit.

The page itself loads the same analytics as every other page on this site, so a page view is recorded. That measures the visit, not your input.

Frequently asked questions

Which UTM parameters are required?
Three: utm_source, utm_medium and utm_campaign. Google Analytics 4 needs all three to attribute a session to a campaign correctly. utm_content and utm_term are optional and only worth adding when you need to tell two links apart or you are tracking a paid keyword.
Should UTM parameters be lowercase?
Yes. UTM values are case-sensitive, so Facebook and facebook become two separate rows in your reports. Lowercasing everything and using hyphens instead of spaces is the single easiest way to keep campaign reporting clean. This tool applies both rules automatically.
Do UTM parameters hurt SEO?
Not if you use them the way they are intended. UTM links create URL variants, but search engines treat the canonical tag as authoritative, so the clean URL is the one that gets indexed. The rule that matters: never use UTM parameters on internal links between pages of your own site, because that overwrites the original traffic source and inflates your self-referral numbers.
Is my data sent anywhere?
No. The builder is plain HTML, CSS and JavaScript that runs in your browser. There is no backend, no form submission and no logging of the URLs you build. You can disconnect from the internet and it still works.
What happens to query strings already on my URL?
They are preserved. The builder appends UTM parameters to whatever is already there, keeps any #fragment at the end of the URL, and replaces existing utm_ values rather than duplicating them.