UTM Campaign URL Builder
100% private — runs on your device, never uploaded. Works offline once loaded.
Create properly encoded campaign tracking URLs by adding UTM parameters to any link, then copy the result with one click. Everything is built live in your browser.
What UTM tracking does
UTM parameters are small tags appended to a link's query string that tell your analytics platform where a visitor came from. When someone clicks a tagged link, tools like Google Analytics 4 read the utm_* values and file the session under the right source, medium and campaign — turning a vague 'traffic went up' into 'the spring newsletter drove 340 sessions and 12 sign-ups'.
This builder assembles those tags into a clean, correctly-encoded URL you can drop into ads, emails, social posts, QR codes or partner links.
The five parameters
There are five standard UTM parameters. Using them consistently is what makes your analytics reports readable:
- utm_source — where the traffic originates (e.g. google, newsletter, facebook).
- utm_medium — the channel type (e.g. cpc, email, social, banner).
- utm_campaign — the specific campaign or promotion (e.g. spring_sale).
- utm_term — the paid keyword, mainly for search ads (optional).
- utm_content — distinguishes variations, like two links in the same email or A/B ad creatives (optional).
Why correct encoding matters
A UTM value with a space or an ampersand in it can break your tracking if it isn't encoded. An unencoded space can truncate the URL; a raw '&' can be misread as the start of a new parameter, splitting your value in two. This tool builds the link with the browser's native URL API, which percent-encodes every value automatically (a space becomes %20, and so on) and preserves any query string or #fragment already on your base URL.
The URL is also validated: if you forget the https:// prefix or mistype the address, you'll get a clear error instead of a broken link.
Best practices for clean data
Analytics treats utm values as case-sensitive and literal, so 'Facebook' and 'facebook' become two separate sources in your reports. Pick a convention — lowercase, underscores instead of spaces — and stick to it across every campaign. Keep a shared spreadsheet of your naming standards so your whole team tags links the same way.
Only tag external, inbound links. Never add UTM parameters to internal links between pages of your own site: doing so restarts the session attribution and corrupts your source data. Tag the ad, email or post that brings people in, and let internal navigation flow untagged.
Frequently asked questions
Is my URL data sent anywhere?
No. The tagged link is assembled entirely in your browser. Nothing you type is uploaded or logged.
Are UTM values case-sensitive?
Yes. Analytics platforms treat 'Email' and 'email' as different values, creating duplicate rows in your reports. Choose a lowercase convention and apply it consistently.
Should I put UTM tags on internal links?
No. Tagging internal links resets campaign attribution and pollutes your data. Only tag inbound links from external sources like ads, emails and social posts.
What happens if my base URL already has query parameters?
They're preserved. The tool uses the URL API to add utm_* parameters alongside any existing query string, and keeps any #fragment intact.
Do UTM parameters affect SEO or the page a user lands on?
They don't change the destination content, but appending parameters creates alternate URLs of the same page. For pages you also want indexed, use a canonical tag so search engines consolidate them to the clean URL.
Which parameters do I really need?
At minimum utm_source, utm_medium and utm_campaign — that trio powers most campaign reports. Add utm_term for paid-search keywords and utm_content to tell apart multiple links or ad variants.
Advertisement