UTM Builder — Campaign URL Tracking Link Generator
Build UTM campaign links with source/medium suggestions, lowercase normalization, bulk generation across channels, and a QR code of the result.
* Required. utm_source is the one analytics cannot classify a visit without.
https://example.comQR code
Free UTM builder — no sign-up, nothing uploaded
A UTM builder (also called a campaign URL builder) adds campaign tracking parameters to a link so your analytics can tell you exactly where a visit came from. Paste your website URL, fill the fields you need, and the tracking URL updates live and copies in one click. Everything is assembled in your browser, so there is no account and nothing is sent to a server.
What each UTM parameter means
- utm_source — where the link lives (e.g.
google,newsletter,facebook). Required for analytics to classify the visit. - utm_medium — the marketing channel (e.g.
cpc,email,social). - utm_campaign — the promotion or campaign name (e.g.
summer_sale). - utm_term — the paid-search keyword (optional).
- utm_content — which link or A/B variant was clicked (optional).
- utm_id — a stable campaign ID GA4 uses to join imported ad-cost data (optional).
How to build a campaign tracking URL
1) Paste the destination URL. 2) Enter a source, medium and campaign (pick from the source/medium suggestions). 3) Copy the result. Only the fields you fill are added, values are URL-encoded, and the standard parameter order is kept so reports stay consistent.
Which source & medium to use, by channel
Common conventions: email newsletter → source newsletter, medium email; Facebook post → source facebook, medium social; Google Ads → source google, medium cpc. The source and medium fields suggest these as you type.
UTM best practices: keep it lowercase and consistent
UTM values are case-sensitive, so Email and email show up as two different sources and split your reports. Spaces cause encoding noise too. Leave the built-in Normalize toggle on to lowercase values and turn spaces into a single separator. The tool also warns you about missing sources, non-standard mediums, internal links and already-tagged URLs before you ship a link that pollutes your analytics. Under it, a tick spells Hangul, Cyrillic, Greek and Arabic letters in Latin, letter by letter, so a Korean campaign name reaches your reports as words instead of a run of percent-escapes; it starts off, so names keep their own letters unless you ask, and Han characters and kana are left as typed.
Create many UTM links at once
Switch to Bulk mode to tag one campaign across many channels — set the URL and campaign once, add a row per source/medium, then copy each link or download them all as CSV. You can also generate a QR code of any campaign URL for print or packaging.
Works with Google Analytics (GA4) and any UTM-aware platform
The parameters and their order match Google's own Campaign URL Builder, including the optional utm_id, so links work in GA4, GA, and any tool that reads UTM tags.
Private by design
Every link is built locally in your browser — your URL and campaign values are never uploaded. That is why there is no sign-up.
Frequently asked questions
Which UTM parameters do I actually need?
utm_source, utm_medium and utm_campaign are the three most analytics tools expect. utm_term (paid-search keyword) and utm_content (A/B variant) are optional, and utm_id is a stable campaign ID used to join ad-cost data in GA4.
Should UTM parameters be lowercase?
Yes. UTM values are case-sensitive, so Email and email show up as two different sources in Google Analytics. Keep everything lowercase and consistent — the built-in Normalize toggle does this for you.
What source and medium should I use for email, Facebook, or Google Ads?
Common conventions: email newsletters → source newsletter, medium email; Facebook posts → source facebook, medium social; Google Ads → source google, medium cpc. Pick from the suggestions on the source and medium fields.
Can I create many UTM links at once?
Yes. Bulk mode tags one campaign across many source/medium rows and lets you copy each link or download them all as CSV — useful when launching the same campaign on several channels.
What is utm_id (Campaign ID)?
utm_id is a stable identifier reused across every link in the same campaign. GA4 uses it to join imported ad-cost data so you can measure ROAS. It is optional for plain tracking, and is emitted first (?utm_id=…) to match Google's order.
Does it know the tags Google Ads or Meta use?
Yes. Pick an ad platform and the form fills with that platform's own dynamic tags, which stay literal in the link so the platform can fill them in.
Can a Korean campaign name reach my reports in Latin letters?
Yes. With “Normalize values (lowercase, no spaces)” on, tick “Spell Hangul, Cyrillic, Greek and Arabic letters in Latin, letter by letter (Лето → Leto)” and 네이버 goes into the link as neibeo rather than as percent-escapes, in Single link and Bulk mode alike. It spells letter by letter, without the sound-change rules of the Revised Romanization, and Han characters and kana stay as typed. The tick starts off, so a campaign name keeps its own letters unless you ask.