Dev
UTM Link Builder
Slapping a random ?utm_source=ig on the end of a link and moving on is how campaign data quietly turns into a mess. Analytics tools like GA4 group traffic by the exact utm_source, utm_medium, and utm_campaign strings you send — capitalize “Email” one week and lowercase “email” the next, and you've split one channel into two separate rows in every report. A UTM link builder removes that guesswork: it assembles a properly encoded tracking link from the fields that actually matter, so spaces, punctuation, and stray characters in your campaign name don't quietly break the link or get counted as a different source. This tool takes your destination URL plus source, medium, and campaign — the three fields every UTM link needs — with optional term and content for paid search or creative testing. It hands back the finished, URL-encoded link first, followed by a plain-English breakdown of every parameter so you can double-check it before it goes live. Because a URL can already carry its own query string, like a referral code or product ID, the builder detects that and appends UTM params with an ampersand instead of overwriting anything. At the bottom you'll also see the same link rebuilt in lowercase-hyphens and snake_case, so you can match whatever naming convention your team has already standardized on.
How to use
- Choose your options above
- Click Generate
- Copy your result
Detailed instructions
- Paste your destination URL into Base URL — include https:// or leave it off and the builder will add it for you.
- Fill in Source, Medium, and Campaign — these three fields are required for the link to track correctly.
- Add Term and Content only if you're running paid search or testing multiple ad or email variants.
- Copy the finished tracking link from the top of the results, or grab one of the alternate-naming variants at the bottom.
- Check the breakdown list to confirm every parameter is set the way you expect before you publish or send the link.
Use Cases
- •Tagging a newsletter send so email clicks show up as their own channel in GA4 instead of blending into direct traffic
- •Building a social ad link for an Instagram or TikTok campaign with source, medium, and content set separately for each creative variant
- •Giving a partner or affiliate a ready-to-use tracked link for a co-marketing push without them needing to know UTM syntax
- •Standardizing UTM naming across a marketing team before a product launch so every teammate's links roll up correctly in reports
- •Adding UTM parameters to a URL that already carries its own query string, like a referral code or product ID, without breaking either one
Tips
- →Pick one naming convention — lowercase-hyphens is the safest default — and use it for every campaign so links roll up correctly in reports.
- →Keep utm_medium values from a short, fixed list like email, social, cpc, and referral instead of inventing a new one for every campaign.
- →Use utm_content to distinguish two versions of the same ad or email during a split test, not to describe the whole campaign.
- →Avoid spaces and special characters in utm_campaign where you can — they still work once encoded, but hyphens read more cleanly in dashboards.
- →Save or bookmark the finished link before sharing it — fixing inconsistent tagging after a campaign is already live is much harder than getting it right up front.
FAQ
do utm params still work if my link already has a question mark in it
Yes. The builder checks whether your base URL already has a query string and appends the UTM parameters with an ampersand (&) instead of a second question mark, so any existing parameters — like a referral code or product ID — stay intact alongside the new tracking tags.
What happens if I leave source, medium, or campaign blank?
The tool will tell you to fill in all three before it builds a link. Those fields are the minimum GA4 needs to attribute traffic correctly — a link missing even one of them either fails to track or gets lumped into an “(not set)” bucket in your reports.
why does my campaign name show up as spring%20sale in the link
That's expected — %20 is just a space, URL-encoded. Analytics platforms decode it automatically and display it as “spring sale” in your reports, so the encoded version in the link is completely normal and won't cause tracking problems.
Should I bother filling in utm_term and utm_content?
Only if you need the extra granularity. utm_term is mostly used for paid search keywords, and utm_content is handy for distinguishing two versions of the same ad or email in an A/B test. For a simple newsletter or social post, source, medium, and campaign are usually enough.
Does capitalization in UTM values actually matter?
Yes — most analytics tools, including GA4, treat UTM parameters as case-sensitive, so “Email” and “email” can show up as two separate mediums. Pick one casing convention, such as the lowercase-hyphens variant shown at the bottom of the results, and reuse it for every campaign.
You might also like
Popular tools from other categories that share themes with this one.
Try these next
More free tools from other corners of the catalog, picked by shared themes.