Boring Tools

UTM Link Builder

Open tool

Add UTM tracking parameters to a URL for campaign tracking.

Add UTM campaign-tracking parameters to a web address so analytics tools can tell where your visitors came from — which newsletter, ad, or social post. Fill in the fields and copy the finished link.

How it works

The Base URL is parsed with the browser's standard URL parser, and each field you fill in is added to its query string as a parameter: Campaign Source becomes utm_source, Campaign Medium becomes utm_medium, Campaign Name becomes utm_campaign, Term becomes utm_term, and Content becomes utm_content. Empty fields are left out.

Values are trimmed of leading and trailing spaces and URL-encoded automatically, so you can type normal words and spaces. The link updates live as you type.

How to use it

  1. Enter the page you are linking to in Base URL, including https://.
  2. Fill in the fields you need — most people use at least source, medium and name.
  3. Check the Generated URL box.
  4. Click Copy and use the link in your email, ad or post.

Options & controls

Link

Base URL
The destination page. It must be a full address including the scheme, such as https://example.com/pricing. If it already has a query string or a #fragment, those are kept.

Campaign parameters

All five are optional in the sense that a blank field is simply omitted, but analytics platforms generally expect at least source, medium and name.

Campaign Source
Where the traffic comes from — the site, newsletter or platform, e.g. newsletter, google, linkedin. Adds utm_source.
Campaign Medium
The kind of channel — e.g. email, cpc, social, banner. Adds utm_medium.
Campaign Name
The specific promotion or campaign, e.g. spring_sale. Adds utm_campaign.
Campaign Term (optional)
The paid search keyword, if you are tracking one. Adds utm_term.
Campaign Content (optional)
Tells apart links that point to the same place, such as two buttons in one email or two versions of an ad (header_link, variant_b). Adds utm_content.

Output and actions

Generated URL
Read-only. Empty until Base URL is filled in and valid.
Copy
Appears next to the Generated URL once there is a link. Copies it to the clipboard.
Reset
In the title row. Clears every field.
Error message
"Enter a full URL including https://" — shown when the Base URL cannot be parsed, for example because the scheme is missing (example.com/page).

Tips & guidelines

  • Pick a naming convention and stick with it. UTM values are case-sensitive in most analytics tools, so Email and email are counted as different mediums — lowercase everything with underscores is a safe habit.
  • Do not put personal information (names, email addresses) in UTM values: they end up in the URL, in analytics reports, and in anyone's browser history.
  • Use a different Campaign Content value for each link within the same campaign if you want to compare which one gets clicked.
  • Only tag links that point to your own site or that you are allowed to track; internal links between your own pages should not carry UTMs, as they overwrite the visitor's original source.

Limits

  • If the Base URL already contains a parameter with the same name (say utm_source), it is replaced with what you enter, not duplicated.
  • The link is rewritten by the URL parser, so small normalisations can appear: a bare domain gains a trailing /, the host is lowercased, and spaces in existing parameters may be re-encoded as +.
  • The tool builds links only; it does not shorten them or check that the page exists.

Saved in your browser

Nothing. The fields live only on the page.

← All documentation