UTM Link Builder

Add utm_source, utm_medium, utm_campaign, utm_term and utm_content to any URL so your analytics tool can tell which campaign, channel and ad sent each visitor.

⚡ Quick Presets
🔗 Generated URL
📖 Link History

Why tag links with UTM parameters?

Analytics tools can usually see which website referred a visitor, but not which newsletter issue, paid ad or social post the click came from. UTM parameters fix that by adding labels to the query string of the link itself. When someone arrives on example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale, tools such as Google Analytics read those values and file the visit under that source, medium and campaign. The name comes from Urchin, the analytics product Google acquired, and the five tags have been a de facto standard ever since.

Building a link step by step

  1. Paste the landing page into Website URL. If you leave out https://, it is added for you; anything other than http or https is flagged as invalid.
  2. Click a preset (Google Ads, Facebook Ads, Email Newsletter, Twitter / X, Instagram) to fill in source, medium and campaign, or type your own values.
  3. Add Campaign Term for a paid keyword and Campaign Content to tell apart two links in the same ad or email, such as header_button and footer_link.
  4. The tagged URL appears in Generated URL as you type, with the parameter names highlighted. Press Copy URL.
  5. Press Save to History to keep it in Link History for later; each saved entry has its own copy and delete buttons.

What each parameter means

ParameterAnswersExample values
utm_sourceWho sent the visit?google, facebook, newsletter
utm_mediumWhat kind of channel?cpc, paid_social, social, email
utm_campaignWhich promotion?spring_sale, product_launch
utm_termWhich paid keyword?running+shoes
utm_contentWhich link or creative?logolink, textlink

How the URL is assembled

Only filled-in fields are added, in the order shown above, and each value is encoded with the browser's encodeURIComponent, so a space becomes %20 and an ampersand becomes %26. If the address already has a query string, the tags are appended with & instead of ?. A #fragment is moved to the end, because parameters placed after the hash are not sent to the server and many analytics scripts ignore them. The builder does not remove or merge UTM tags already present in the pasted URL, and it has no field for utm_id or other extra parameters, which you can add by hand. The asterisks mark source and medium as the fields most reports depend on; the tool still builds a link without them, so check before you copy.

Everything runs in your browser; the URLs you type are not sent anywhere. Saved links (up to 10, newest first) are stored in this browser's localStorage under utm_history and disappear if you clear site data or press Clear All History.

Frequently asked questions

Should UTM values be lowercase?

Yes, as a habit. Most analytics tools treat values as case-sensitive, so Facebook and facebook end up as two separate sources. Pick one naming scheme, such as lowercase with underscores, and share it with your team.

Can I use UTM links on my own website?

Avoid it for internal links. Clicking a tagged link in the middle of a visit can start a new session or overwrite the original source, which makes reports less accurate. Use UTM tags only on links placed outside your site.

Do UTM parameters affect SEO?

They create extra URL variations of the same page. A canonical tag pointing to the clean URL tells search engines which version to index, and most sites have one already.

Will the link still work if the page ignores the parameters?

Almost always. Web servers typically ignore query parameters they do not recognise, so the page loads normally; the tags only matter to the analytics code on that page.

Related tools