🎯 UTM Campaign URL Builder
Add utm_source, utm_medium and utm_campaign tags to any link so analytics can attribute the traffic — assembled and encoded correctly, live.
Your campaign URL
https://example.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=summer_sale
UTM parameters are tags added to a link’s query string so analytics tools (GA4 and others) can attribute a visit to a specific source, channel and campaign. Values are automatically URL-encoded so spaces and symbols are safe. 🔒 Nothing is uploaded — the URL is assembled entirely in your browser.
How the utm campaign url builder works
You enter your destination URL and the standard UTM fields — source (where the click comes from), medium (the channel like email or cpc), campaign (the promotion name), plus optional term and content. The tool appends them as query parameters, URL-encoding every value so spaces and symbols are safe, and preserves any parameters already on your URL. An optional lowercase toggle avoids the classic reporting split where "Email" and "email" show up as two different sources.
UTM parameters are the de-facto standard (originally from Urchin, now used by GA4 and virtually every analytics tool) for tracking which campaigns drive traffic. The two things people get wrong are inconsistent casing — analytics treats utm_source=Facebook and utm_source=facebook as separate sources — and forgetting to encode values, which breaks the link. This builder handles both. It runs entirely in your browser, so your URLs and campaign names are never sent anywhere.
Frequently asked questions
What are UTM parameters?
Tags added to a link's query string — utm_source, utm_medium, utm_campaign, and optionally utm_term and utm_content — that let analytics tools attribute a visit to a specific source, channel and campaign. GA4 reads them automatically.
Which UTM parameters are required?
Source, medium and campaign are the three you should always set for meaningful reports. Term and content are optional — term is mainly for paid-search keywords, content for distinguishing two links in the same campaign.
Why does casing matter?
Analytics treats UTM values as case-sensitive, so utm_source=Newsletter and utm_source=newsletter appear as two different sources and split your data. The lowercase toggle keeps everything consistent.
Does it encode special characters?
Yes — every value is URL-encoded, so spaces, ampersands and other symbols in a campaign name won't break the link. Parameters already on your URL are kept intact.
Is my URL uploaded?
No — the campaign URL is built entirely in your browser and works offline, so nothing about your links or campaigns is transmitted.