What is a UTM Builder?
A UTM builder appends campaign parameters to a URL so analytics can tell where a visit came from. The five standard parameters are utm_source — the platform or publication, utm_medium — the channel type, utm_campaign — the specific promotion, utm_term for a paid keyword and utm_content to distinguish two links to the same destination.
The parameters are read literally, which is what makes naming discipline matter more than the tooling. Google Analytics groups traffic by the exact string, so Email, email and e-mail become three different mediums, and a report that should have one row has three. This builder lowercases everything and replaces spaces with underscores, and it warns when a value falls outside the conventional vocabulary.
It also enforces the two required parameters. Without utm_source and utm_medium, analytics has nothing to attribute the visit to and the session is treated as a direct or referral visit — which means the campaign you ran looks like it produced no traffic at all.
How to build a UTM campaign URL
- Paste the destination URL, including the https:// scheme. Query parameters already on the URL are preserved.
- Fill in utm_source and utm_medium — both are required, and the tool flags their absence in red rather than silently producing a link that reports nothing.
- Add utm_campaign so the visit can be grouped. Without it the session lands in (not set) and the campaign cannot be totalled.
- Use utm_term for a paid keyword and utm_content to separate two links to the same page, such as a header button and an in-body link.
- Read the warnings. They flag capitals and spaces that were normalised, custom medium values that will fragment your reports, and fragments in the base URL that will be dropped.
- Copy the tagged URL and use it everywhere the campaign points — email, ads, social posts. Consistency between links is what makes the report readable.
UTM Builder limits and rules
| Item | Limit |
|---|---|
| utm_source | Required. The referrer: google, newsletter, linkedin. |
| utm_medium | Required. The channel: email, cpc, social, referral, display. |
| utm_campaign | Optional but strongly recommended — the grouping dimension. |
| utm_term | Paid search keyword. Ignored by most non-paid channels. |
| utm_content | Differentiates two links to the same URL, for A/B testing or placements. |
| utm_id | Optional external ID, typically a click identifier from an ad platform. |
| Normalisation | Values are lowercased and spaces become underscores, matching Analytics conventions |
| Case sensitivity | GA4 treats parameter values as case-sensitive — the reason for the normalisation |
| Fragments | Anything after # is dropped; UTM parameters are appended before it |
| Not covered | Link shortening, QR codes and saving campaigns — this builds one URL at a time |
When to use it
- Tagging a newsletter link so the campaign shows up as its own row rather than as direct traffic.
- Separating several placements of the same link in one email — header banner, body link and footer — using utm_content.
- Naming a paid campaign consistently before a launch, so reports for this quarter and the next can be compared.
- Auditing a link someone else created, by pasting the full URL into the destination field: existing parameters are preserved and any capitalisation problems are flagged.
- Producing a tagged URL for a QR code or a print piece, where there is no referrer for analytics to fall back on at all.
Is it private?
Everything runs inside your browser. Your text and files are never uploaded, never stored and never seen by anyone else — including me. You can use the tool with the network tab open and watch no request leave the page. Closing the tab erases the input.
Frequently asked questions
utm_source and utm_medium. Without both, Analytics cannot classify the session and files it under direct or referral, so the campaign appears to have driven nothing. utm_campaign is not technically required, but without it you cannot group the visits into a campaign report.
Yes. GA4 treats parameter values as case-sensitive, so Facebook and facebook are two separate sources with two separate rows. Consistent lowercasing — which this tool applies automatically — is the single easiest way to keep reports clean.
Tagged URLs are not indexed by default and are not a ranking problem, but they can fragment your analytics if the same page is reached under several parameter combinations. They can also create duplicate entries in some crawling tools. Tag links you distribute, not the links in your own navigation.
Underscores are the convention for UTM values and are what Google Analytics documentation shows. Hyphens also work, and the important thing is picking one and applying it consistently — mixed separators are what make a campaign list hard to read.
Usually because the link had no parameters at all, or because it pointed to a URL that immediately redirected and dropped the query string. A redirect between the tagged URL and the landing page is the most common cause after a plain mistake in the tag.
Related tools
Written and maintained by Md. Nur Hossain Repon.