UTM Link Builder
🔒 Runs in your browser
What UTM parameters do
UTM parameters are five optional query values — utm_source, utm_medium,
utm_campaign, utm_term and utm_content — that you attach
to a link. Analytics tools such as Google Analytics, Matomo and Umami read them to attribute a
visit to a specific campaign, channel and creative, so you can tell which newsletter, ad or post
actually sent the traffic.
How this builder assembles the URL
Everything runs in your browser using the native URL API. Existing query parameters
and the #fragment on your base URL are preserved, values are correctly
percent-encoded (spaces, & and % included), and a utm_*
value already present on the link is overwritten rather than duplicated. Blank fields are simply
left out, so the link builds up as you type.
Naming conventions that keep reports clean
Pick a convention and stick to it: lowercase everything, use hyphens instead of spaces, and keep a fixed vocabulary for source and medium (for example cpc, email, social, newsletter). Because analytics platforms treat Email and email as two different mediums, consistency is what stops your campaign data from fragmenting across near-duplicate labels.
Frequently asked questions
What are UTM parameters?
UTM parameters are utm_source, utm_medium, utm_campaign, utm_term and utm_content — query values you add to a link so analytics tools (Google Analytics, Matomo, Umami) can attribute a visit to a specific campaign, channel and creative.
Which fields should I fill in?
Source (e.g. google, newsletter), medium (e.g. cpc, email, social) and campaign name are the standard trio most reports expect. Term (paid keyword) and content (which link or ad variant) are optional refinements.
Does it keep the query string and hash already on my URL?
Yes — existing query parameters and the #fragment are preserved, values are correctly percent-encoded, and a utm_* value already present is overwritten rather than duplicated.
Are my links sent anywhere?
No — the URL is assembled entirely in your browser with the built-in URL API. Nothing is uploaded, logged or shortened.