Skip to content

UTM Builder

Enter a page URL and the campaign details to get a tagged link you can copy. It runs in your browser.

Example values are filled in. Replace them with your own.

The page people land on. Start with https://. Any query and #fragment are kept.

Where the traffic comes from, like newsletter or a site name. Required.

The channel type, like email or cpc. Required.

Your name for the campaign. Required.

Optional. Usually the paid keyword.

Optional. Tells similar links or ads apart.

Tagged URL

https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale

How it works

UTM parameters are tags at the end of a link. Analytics tools read them to tell which source, medium and campaign sent a visit. This builder takes your URL, adds utm_source, utm_medium and utm_campaign (all required), and adds utm_term and utm_content if you fill them in. Query parameters already on the link stay exactly as typed, and so does the #fragment. Each value is trimmed and percent-encoded, so spaces, ampersands and accented letters cannot break the link.

tagged URL = URL up to ? + existing query + utm_ parameters + #fragment

utm value = encodeURIComponent(trimmed value)

Worked example

Example values, not recommendations: the link https://example.com/p?a=1&b=2#sec with the source newsletter, the medium email and the campaign spring_sale.

  1. 1Set the #fragment asidehttps://example.com/p?a=1&b=2#sec = #sec
  2. 2Keep the existing querya=1&b=2 = a=1&b=2
  3. 3Add the utm valuesutm_source=newsletter&utm_medium=email&utm_campaign=spring_sale = added after the query
  4. 4Put the #fragment backlink + query + utm values + #sec = https://example.com/p?a=1&b=2&utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale#sec

The warnings never block the link. They point out choices you may want to change before you share it. To see whether a tagged campaign beat another, use the statistical significance calculator.

Questions

Which fields are required?

Here, the URL, utm_source, utm_medium and utm_campaign. utm_term and utm_content are optional and are left out of the link when empty.

What happens to parameters already on my link?

They stay as typed, in the same order, and the #fragment stays at the end. The one exception is a utm_source, utm_medium, utm_campaign, utm_term or utm_content already on the link: the builder replaces it with the value in the form and tells you.

Why does it warn about capital letters and spaces?

Analytics tools may treat "Email" and "email" as two different values, which splits your reports. Pick one style and keep it. A space is encoded as %20, which works but is hard to read, so a dash or underscore is easier.

Is my link sent anywhere?

No. The link is built in your browser, and nothing is stored or sent.