UTM Builder

Build UTM-tagged campaign URLs for free, without overwriting existing query strings.

This tool runs entirely in your browser. Your files are never uploaded to a server.

What this tool does

Adds UTM source, medium, campaign, term, and content parameters to any URL so analytics tools like Google Analytics can attribute traffic to the right campaign.

How to use it

Enter your destination URL first, then fill in whichever UTM fields apply — the tagged URL builds live below as you type, with a Copy button once it's valid.

Worked example

For the URL "https://example.com/blog" with source "newsletter", medium "email", and campaign "spring_sale" (term and content left blank), the result is "https://example.com/blog?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale" — only the fields you fill in are added.

Which fields get added

Only the URL field is required to produce output; source, medium, campaign, term, and content are each added only if you type something into them, so a partially filled form still produces a valid tagged URL with just the parameters you've set.

Adding UTM tags to a URL that already has query parameters

If your URL already has query parameters, like "?ref=old", they're preserved and the UTM parameters are appended after them rather than overwriting anything — so "https://example.com/blog?ref=old" becomes "https://example.com/blog?ref=old&utm_source=...".

Limitations

Values aren't checked against any naming convention (like all-lowercase or hyphen-only conventions some teams enforce) — whatever you type is used as-is, standard-URL-encoded by the browser. There's no saved history; each URL exists only in the browser tab until you copy it elsewhere.

Privacy

The URL is built entirely in your browser — nothing you type is sent to a server or stored anywhere.

Frequently Asked Questions

What are UTM parameters used for?
They let analytics tools like Google Analytics identify which campaign, source and medium drove a given visit to your site.
Which fields are required?
Only the destination URL is required to get output — source, medium, campaign, term, and content are each added only if you fill them in.
Will this overwrite query parameters my URL already has?
No, any existing query parameters are kept as-is, and the UTM parameters are appended after them rather than replacing anything.
Can I save my generated URLs?
Not within the tool — copy the result as soon as it's built, since nothing is saved between visits or page reloads.