UTM link builder

Build a trackable URL with UTM parameters (source, medium, campaign).

Enter a URL and parameters.

You send the same landing page link to a newsletter, a paid ad and a partner blog. A week later the analytics report shows one lump of traffic and no way to tell which one worked. UTM parameters solve that by writing the answer into the link itself. This builder adds them for you and hands back a link you can paste anywhere.

How it works

How the link is assembled

Type or paste the destination into Base URL, then fill the parameter boxes. The tool joins them with ? if your URL has no query string yet, or & if it already does, and it URL-encodes each value so spaces and non-ASCII characters survive the trip. The finished link updates as you type; Copy link puts it on your clipboard.

https://example.com/pricing + source newsletter, medium email, campaign spring-launch becomes:

https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring-launch

Which boxes matter

ParameterAnswersExample
utm_sourceWhere did the click come from?newsletter, x, partner-blog
utm_mediumWhat kind of channel is it?email, cpc, social
utm_campaignWhich initiative?spring-launch
utm_termWhich keyword? (paid search)running-shoes
utm_contentWhich creative or link position?header-button

Source, medium and campaign are the three most analytics tools group by; term and content are optional detail.

Keep the names boring

Most analytics tools treat Email and email as two different values, so pick lowercase, use hyphens instead of spaces, and write the convention down somewhere. A short list of approved medium values prevents the classic mess of email, e-mail and Newsletter all sitting in the same report.

One thing to avoid

Don't put UTM parameters on links between pages of your own site. Analytics tools read them as a new arrival from outside, which restarts the visit and credits the wrong source.

Terms explained

Base URL
The destination page, written in full including https://. Anything already in its query string is kept.
utm_source
The specific origin of the click — a publication, platform or partner name.
utm_medium
The channel category: email, cpc, social, referral, affiliate and so on.
utm_campaign
The name of the promotion or initiative the link belongs to.
utm_term
Optional. Usually the paid-search keyword that triggered the ad.
utm_content
Optional. Distinguishes two links to the same page, such as a banner and a text link.

Frequently asked questions

Do UTM parameters change what the visitor sees?

No. They are extra query-string values that your analytics tool reads and your page ignores. The page loads exactly as it would without them, though the longer URL is visible in the address bar.

Why does my report list the same campaign twice?

Almost always capitalisation or spelling. Most analytics platforms treat values as case-sensitive, so spring-launch and Spring-Launch become separate rows. Stick to one lowercase form and reuse it.

Should I use UTM links inside my own website?

No. When someone clicks an internal link carrying UTM parameters, analytics usually reads it as a fresh visit from a new source, overwriting the real one. Use them only on links that arrive from somewhere else.

What about utm_id, utm_source_platform and the newer parameters?

They exist and you can append them by hand after copying the link, but not every one has a matching column in standard analytics reports — some need extra configuration before they show up. This builder covers the five classic parameters that work everywhere.

Is it safe to put anything in these values?

Treat them as public. The whole link is visible in browser history, referrer headers and anyone's screenshot, so never put email addresses, names or internal codes you would not publish.