Skip to content
My Tiny Utils

Search tools

Type to find a tool, then press Enter to open it.

UTM Link Builder

Add utm_source, medium, campaign, term, and content to any URL, correctly encoded and preserving existing query parameters.

Processed locally in your browser — nothing is uploaded.

UTM Link Builder

Existing query parameters are kept.

Campaign URL

Output appears here…

Convention: keep utm values lowercase and use dashes or underscores instead of spaces — analytics tools treat "Email" and "email" as different mediums.

About UTM Link Builder

Paste a destination URL, fill in the campaign parameters, and the tagged link builds as you type. Values are percent-encoded properly, existing query parameters and fragments are left intact, and an invalid URL is flagged before you paste a broken link into a campaign.

Presets fill source and medium for the usual channels — paid search, email, social, and offline QR codes — so a team tagging dozens of links stays consistent instead of inventing "Email", "e-mail", and "newsletter" for the same channel.

Common uses

  • Tag links in a newsletter so the traffic is attributed correctly
  • Build a consistent set of links for a multi-channel campaign
  • Add campaign tracking to a URL that already carries its own query parameters

Example

Input

https://example.com/landing · google · cpc · spring_sale

Output

https://example.com/landing?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale

Limitations

  • UTM values are case-sensitive in most analytics tools — stick to lowercase to avoid splitting one channel into several
  • Tagged URLs are public; anyone can read or edit the parameters, so never put anything sensitive in them
  • Do not tag internal links between pages of your own site — it restarts the session attribution

Frequently asked questions

What's the difference between utm_source and utm_medium?

utm_source names where the click came from — a specific site or sender like google, newsletter, or facebook — while utm_medium names the channel type, like cpc, email, or social. Analytics tools group traffic by medium first, so keeping mediums to a small consistent set matters most.

Do the campaign links I build here get logged anywhere?

No. The URL is assembled in your browser using the standard URL API — destination URLs and campaign names never leave your device, so pre-launch campaign details stay private.

Why do my UTM parameters need to be lowercase?

Because most analytics tools treat values case-sensitively: "Email" and "email" show up as two separate mediums and split your reporting. Sticking to lowercase with dashes or underscores keeps one channel as one row.

Can I add UTM tags to a URL that already has query parameters?

Yes. Existing parameters and any #fragment are preserved — the utm_ parameters are appended alongside them, and if the URL already carries a utm_ parameter you set here, your new value replaces it.

Should I put UTM parameters on links within my own website?

No. Clicking a UTM-tagged internal link starts a new attributed session in most analytics tools, overwriting the visitor's real acquisition source. Reserve UTM tags for links in external channels — emails, ads, social posts, and QR codes.