Developer Tools · Live
UTM Link Builder,
generate trackable campaign URLs instantly.
Build Google Analytics UTM-tagged URLs in seconds. Add source, medium, campaign, keyword, and content parameters — the URL is assembled live using the browser's native URL API for correct encoding. Copy and paste into any ad, email, or social post.
Step 1
Destination URL
The page you are driving traffic to.
Step 2
Campaign parameters
Quick channel presets
The traffic source — which site or platform sent the visitor.
The marketing channel or medium type.
The specific campaign name, slogan, or promo code.
Paid search keywords that triggered the ad.
Differentiates ads or links pointing to the same URL (A/B testing).
Generated URL
Fill in the URL and utm_source above to generate your link.
Parameters
0 / 5
URL length
—
Marketing guide
UTM parameters explained: what they are, why they matter, and how to use them.
Every marketing team faces the same challenge: you spend money and effort driving traffic, but your analytics dashboard shows a large, unhelpful bucket labelled “Direct” — and no idea which campaigns actually worked. UTM parameters solve this by giving every link a permanent, readable label that survives the click and lands in your analytics data.
The five UTM parameters
UTM stands for Urchin Tracking Module, named after Urchin Software, the analytics company acquired by Google in 2005 that became Google Analytics. The standard defines five querystring parameters appended to URLs:
| Parameter | Required? | Describes | Example |
|---|---|---|---|
utm_source | Recommended | Which site / platform sent the visitor | google, newsletter, facebook |
utm_medium | Recommended | The marketing channel type | cpc, email, social, banner |
utm_campaign | Recommended | The campaign name or promotion | spring-sale-2025, product-launch |
utm_term | Optional | Paid search keyword | running+shoes, best+crm+software |
utm_content | Optional | Differentiates ads or links to the same URL | ad-variant-b, logo-link, top-cta |
How a UTM-tagged URL looks
The parameters are appended as a standard querystring after a ?:
https://example.com/landing-page ?utm_source=google &utm_medium=cpc &utm_campaign=spring-sale-2025 &utm_term=running+shoes &utm_content=ad-variant-b
In a single line (what you actually share):
https://example.com/landing-page?utm_source=google&utm_medium=cpc&utm_campaign=spring-sale-2025&utm_term=running+shoes&utm_content=ad-variant-b
Why utm_source and utm_medium are the most important
GA4 (and Universal Analytics before it) uses utm_source and utm_medium together to determine the default channel grouping of a session. The channel grouping is what populates the familiar labels in the Acquisition report: Organic Search, Paid Search, Paid Social, Email, etc.
| Channel in GA4 | utm_source pattern | utm_medium pattern |
|---|---|---|
| Paid Search | google, bing, yahoo… | cpc, ppc, paid-search |
| Paid Social | facebook, instagram, linkedin… | paid-social, cpc, ppc |
| Organic Social | facebook, twitter, linkedin… | social, social-media |
| (any) | ||
| Affiliates | (any) | affiliate |
| Display | (any) | display, banner, cpm |
Using the exact medium values above ensures your traffic lands in the correct channel bucket in GA4 automatically.
UTM naming conventions: a style guide
Inconsistent naming is the single most common UTM mistake. Because analytics tools treat values as case-sensitive strings, Google, google, and GOOGLE appear as three separate sources. Follow these conventions across your team:
- Always lowercase.
googlenotGoogle. - Use hyphens, not spaces or underscores.
spring-sale-2025notspring sale 2025orspring_sale_2025. - Be specific but not overly granular. You want enough detail to learn from the data, but not so many variants that your reports fragment into noise.
- Document your taxonomy. Keep a shared spreadsheet or Notion page with your approved source, medium, and campaign naming rules so every team member uses the same values.
URL encoding: how this builder handles it
URLs can only contain a limited set of characters. Special characters like spaces, ampersands, and Unicode letters must be percent-encoded before they can appear in a URL. For example, a space becomes %20 and & becomes %26.
This builder uses the browser's native URL and URLSearchParams APIs to build the final URL, which handles all encoding automatically and correctly. You never need to manually percent-encode your parameter values.
const url = new URL("https://example.com/page");
url.searchParams.set("utm_source", "google");
url.searchParams.set("utm_medium", "cpc");
url.searchParams.set("utm_campaign", "spring sale 2025");
console.log(url.toString());
// https://example.com/page?utm_source=google&utm_medium=cpc&utm_campaign=spring+sale+2025Common use-case templates
Paid Google Ads campaign
utm_source=google
utm_medium=cpc
utm_campaign=brand-awareness-q2
utm_term={keyword} ← use ValueTrack parameter in Google Ads
utm_content=headline-aEmail newsletter
utm_source=weekly-newsletter utm_medium=email utm_campaign=may-product-update utm_content=hero-cta-button
Organic social post (LinkedIn)
utm_source=linkedin utm_medium=social utm_campaign=thought-leadership
Affiliate partner
utm_source=partner-name utm_medium=affiliate utm_campaign=summer-promo
What analytics data UTM parameters unlock
Once your UTM-tagged links are live and users are clicking them, GA4 populates the following dimensions in your reports:
- Session source / medium — core acquisition report. Compare which sources drive the most sessions, conversions, and revenue.
- Session campaign — compare performance across campaigns in the same channel (e.g. which email campaign had the best conversion rate).
- Session manual ad content — from
utm_content, enables creative A/B testing directly in your analytics data. - Session manual term — from
utm_term, lets you compare which paid keywords drive the most valuable traffic.
Combine these dimensions with conversion goals (purchases, sign-ups, form submissions) to build a full picture of marketing ROI — which campaigns not only drive traffic but drive traffic that actually converts.
UTM parameters and SEO: what to watch for
Search engine crawlers will follow UTM-tagged URLs, but they are smart enough to treat them as equivalent to the un-tagged version via canonicalisation. That said, there are two situations to avoid:
- Never use UTM tags on internal links. If a user navigates from one page of your site to another via a UTM-tagged link, GA4 starts a new session attributed to the UTM source — breaking your attribution model. Internal links should use clean URLs with no UTM parameters.
- Set up URL parameter handling in Google Search Console if crawled UTM URLs are causing duplicate-content warnings. In most modern setups this is handled automatically, but it is worth auditing for high-traffic sites.