UTM Link Builder

Build tagged campaign URLs with utm_source, utm_medium and utm_campaign — correctly encoded, in your browser.

How to use

  1. Paste the destination URL — the page people should land on, with or without a query string of its own.
  2. Pick a preset or type utm_source, utm_medium and utm_campaign; the tagged URL is rebuilt as you type.
  3. Copy the finished link, or shorten it on Vai.la so the tracking tail does not scare clicks away.

About this tool

A UTM-tagged URL is your normal link plus a handful of query parameters that analytics tools read as campaign metadata. utm_source says where the visit came from (google, newsletter, instagram), utm_medium says what kind of channel it was (cpc, email, social) and utm_campaign names the initiative (black-friday). Two optional ones complete the set: utm_term for the paid keyword and utm_content to tell two creatives apart. GA4, Matomo, Plausible and most other platforms look for exactly these parameter names and group traffic by their values — which is why one capital letter or a stray space can split a single campaign into three separate lines in your report.

This builder handles the fiddly part correctly. It keeps whatever query string and #fragment the destination URL already has, appends parameters after a ? or an & depending on what is already there, and runs every value through encodeURIComponent — so an ampersand inside a campaign name becomes %26 instead of quietly starting a new parameter, and an accented word becomes valid percent-encoded UTF-8. If a utm parameter you are filling in already exists in the pasted URL, the old value is replaced rather than duplicated. The normalisation switch lowercases values and turns spaces into underscores, the convention most teams adopt after their first messy report.

Use it for paid ads, for the link in a bio, for a newsletter button, for the QR code on a flyer — anywhere you will later want to answer "where did these people actually come from?". One catch: tagged URLs are long and visibly instrumented, and people hesitate before clicking them. Shortening the finished link on Vai.la keeps every UTM parameter intact through the redirect while showing something clean and presentable, and adds its own click statistics on top. Everything on this page runs as JavaScript on your device: the URLs you build are never sent to a server.

The formula

final URL = base URL + (? if it has no query, otherwise &) + utm_key=encodeURIComponent(value), joined by &, with the original #fragment moved back to the end.

Frequently asked questions

Which UTM parameters are required?

utm_source, utm_medium and utm_campaign are the three that matter — analytics reports are built around them. utm_term and utm_content are optional refinements for paid keywords and creative variants.

Should UTM values be lowercase?

Yes, as a rule. GA4 treats "Facebook" and "facebook" as two different sources, so mixed capitalisation fragments your reports. The normalisation option here lowercases values and replaces spaces with underscores.

Do UTM parameters hurt SEO?

Not in practice, as long as the tagged pages declare a canonical URL without the parameters. Search engines treat query strings as potential duplicates, and the canonical tag tells them which version to index.

Can I shorten a UTM link without losing the tracking?

Yes. A short link redirects to the full URL, parameters included, so analytics still records source, medium and campaign — you just stop showing a 200-character link to your audience.

Do the links I build leave my browser?

No. The URL is assembled by JavaScript running on your device. Nothing is uploaded, logged or stored by this page.

Related tools

Long links? Shorten them for free

Vai.la turns any URL into a short link with click statistics, QR Code and your own biolink.

Vai.la is not responsible for how the tools are used or for decisions made based on their results.