UTM Campaign URL Builder
Build custom campaign tracking URLs with standard UTM parameters for Google Analytics, Meta Ads, TikTok, and Email. 100% free with presets.
Generated Campaign Tracking URL
What UTM Campaign URL Builder Does
UTM parameters are five query-string tags that analytics tools read to work out where a visit came from. There is nothing magic about them, and the destination site does not track them unless it is looking for them. They are simply extra text on the end of a URL that Google Analytics and most other tools know how to interpret.
The thing that makes them useful or useless is consistency. UTM values are case-sensitive and treated as literal strings, so Facebook, facebook and FaceBook become three separate sources in your reports, splitting one campaign into three rows that each look smaller than the truth. Almost every messy analytics account got that way through inconsistent capitalization rather than through anything complicated.
The three that matter most are source, medium and campaign. Source is where the click came from: the site or the newsletter. Medium is the kind of channel: cpc, email, social, referral. Campaign is the thing you are running. Term and content are optional, used for paid keywords and for distinguishing two links in the same message.
Everything you put in a UTM is visible in the address bar and gets shared onward when someone copies the link, so they are not the place for anything private: no names, no email addresses, no internal identifiers you would not want a stranger to read.
How to Use UTM Campaign URL Builder
- Enter your landing page website URL
- Select a 1-click platform preset or enter custom source and medium parameters
- Add a campaign name and optional keywords or ad content
- Copy your generated tracking URL or test the link directly
How UTM Campaign URL Builder Works
Building a tagged URL
parse the base URL (https:// added if missing) → for each filled field: trim → lowercase (optional) → spaces become hyphens → set utm_source, utm_medium, utm_campaign, utm_term, utm_content with URLSearchParams
- lowercase
- Google Analytics treats Email and email as different values, so lowercasing keeps reports from splitting one channel in two.
- set, not append
- An existing utm_ parameter in the base URL is replaced rather than duplicated. Other parameters already on the URL are kept.
- encoding
- URLSearchParams percent-encodes any remaining special characters, so a campaign name with & or # cannot break the link.
Worked example
Base https://example.com/pricing; source Newsletter; medium email; campaign Spring Sale 2026
- Newsletter → newsletter
- Spring Sale 2026 → spring sale 2026 → spring-sale-2026
- Empty term and content fields are left off
Result: https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale-2026
What each parameter is for
| Parameter | Answers | Example |
|---|---|---|
| utm_source | Which site or list sent the click? | newsletter, google, facebook |
| utm_medium | What kind of channel was it? | email, cpc, social, referral |
| utm_campaign | Which campaign does this belong to? | spring_sale_2026 |
| utm_term | Which paid keyword? | running+shoes |
| utm_content | Which link, when a message has several? | header_button, footer_link |
Conventions worth adopting on day one
None of these are enforced. All of them prevent a report that splits one campaign across five rows.
| Rule | Why |
|---|---|
| Lowercase everything, always | Values are case-sensitive; Email and email are two mediums |
| Underscores or hyphens, never spaces | A space becomes %20 and reads badly in reports |
| Use the standard mediums | cpc, email, social, referral, affiliate — inventing new ones fragments reporting |
| Keep a shared list of campaign names | Two people naming the same campaign differently is the usual failure |
| Never tag internal links | It restarts the session and destroys attribution for the original source |
How to Read Your Result
Never put UTMs on internal links
It is the single most damaging mistake with these. Tagging a link from one page of your own site to another starts a new session and reattributes the visitor to the internal link, so the campaign that actually brought them gets no credit. UTMs are for traffic arriving from outside.
Medium is a category, source is a name
The distinction is what makes reports aggregate usefully. Source is the specific origin: mailchimp, google, partner-site. Medium is the class it belongs to: email, cpc, referral. Getting them the wrong way around means you can no longer answer "how is email doing overall".
Assume the URL will be seen
Tagged links get copied into messages, forwarded and posted publicly. Anything you encode is visible to whoever ends up with the link, so keep them descriptive and impersonal.
Limitations & Accuracy Notes
- Parameters are visible in the address bar and can be edited by anyone, so the data is self-reported rather than verified.
- Some platforms strip or rewrite query strings, and links shared through certain apps lose them entirely.
- They describe the click, not the person: a visitor who arrives tagged, leaves and returns directly is a separate untagged visit.
- Long tagged URLs look untrustworthy in a message; a shortener helps appearance but adds a redirect that some tools handle badly.
- This builds the URL. It does not verify that your analytics tool is configured to read it.
Frequently Asked Questions
What is a UTM Campaign URL Builder?
A UTM Builder is a marketing tool that adds standardized query parameters (utm_source, utm_medium, utm_campaign, utm_term, utm_content) to links to track campaign performance in Google Analytics (GA4).
Why are UTM parameters case-sensitive?
Google Analytics treats uppercase and lowercase parameters separately (e.g., "Facebook" vs. "facebook"). This tool automatically enforces lowercase formatting to ensure clean analytics data.
Is there a limit on how many UTM links I can generate?
No, this tool is 100% free and runs completely in your browser with unlimited URL generation and no account required.
What do the five UTM parameters mean?
utm_source is where the traffic came from, utm_medium is the channel type such as email or cpc, and utm_campaign names the campaign. utm_term is for paid keywords and utm_content distinguishes variants of the same ad or link. Source, medium and campaign are the three that matter for most reporting.
Are UTM parameters case sensitive?
Yes, and this is the most common way UTM data gets fragmented. "Facebook", "facebook" and "FaceBook" report as three separate sources. Picking lowercase for everything and applying it consistently is the single most useful convention you can adopt.
Should I use UTMs on internal links?
No. Tagging a link between pages on your own site starts a new session and overwrites the original acquisition source, which destroys the attribution for that visit. Internal navigation should never carry UTM parameters.
Do UTM parameters affect SEO?
They create a distinct URL, which can produce duplicate content if those URLs get crawled and indexed. A canonical tag pointing at the clean URL handles it. UTMs themselves carry no ranking signal either way.
Are UTM parameters visible to the visitor?
Yes. They sit in the address bar and get copied when someone shares the link, which then attributes their friend's visit to your original campaign. It is also worth not putting anything in a campaign name you would not want a customer to read.
Is the URL I build sent anywhere?
No. The URL is assembled in your browser.
References & Further Reading
- Google Analytics Help — collect campaign data with custom URLs — The five parameters, what each means, and the case-sensitivity rule