Skip to main content
ilovecalcs logoilovecalcs.

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.

How it worksReal-time

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:

ParameterRequired?DescribesExample
utm_sourceRecommendedWhich site / platform sent the visitorgoogle, newsletter, facebook
utm_mediumRecommendedThe marketing channel typecpc, email, social, banner
utm_campaignRecommendedThe campaign name or promotionspring-sale-2025, product-launch
utm_termOptionalPaid search keywordrunning+shoes, best+crm+software
utm_contentOptionalDifferentiates ads or links to the same URLad-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 GA4utm_source patternutm_medium pattern
Paid Searchgoogle, bing, yahoo…cpc, ppc, paid-search
Paid Socialfacebook, instagram, linkedin…paid-social, cpc, ppc
Organic Socialfacebook, twitter, linkedin…social, social-media
Email(any)email
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. google not Google.
  • Use hyphens, not spaces or underscores. spring-sale-2025 not spring sale 2025 or spring_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+2025

Common 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-a

Email 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.