ToolNimba

๐Ÿ”— UTM Builder: Create Campaign Tracking URLs for Free

Shihab Mia By Shihab Mia ยท Updated 2026-08-04

Fill in the fields above; the tracking URL updates as you type. Built entirely in your browser, nothing is sent anywhere.

A UTM builder appends standardized tracking parameters, utm_source, utm_medium, utm_campaign and the optional utm_term and utm_content, to the end of a URL so that Google Analytics and every other major analytics platform can tell you exactly which link, channel, and campaign sent a visitor. This tool builds that URL for you in real time: type your base link and campaign details, and a clean, correctly encoded tracking URL appears instantly, ready to paste into an email, ad, or social post. Everything runs in your browser, so nothing you type is uploaded anywhere.

What is the UTM Builder?

UTM stands for Urchin Tracking Module, a name left over from Urchin Software, the web analytics company Google acquired in 2005 that became the foundation of Google Analytics. A UTM link is just a normal URL with a handful of extra query string parameters tacked onto the end. Analytics platforms read those parameters and use them to group your traffic into a "Source / Medium / Campaign" report, which is why every serious marketing team standardizes on this UTM builder pattern rather than inventing custom tracking on a page-by-page basis.

There are five parameters in the UTM specification, and this UTM builder covers all of them. utm_source identifies who is sending the traffic, for example google, newsletter, or facebook. utm_medium identifies the marketing channel, for example cpc, email, or social. utm_campaign names the specific promotion or initiative, for example spring-sale or product-launch. The two optional fields, utm_term and utm_content, exist to add finer detail: utm_term traditionally tags the paid keyword in a search campaign, and utm_content distinguishes between two versions of the same ad or link, such as a header banner versus a footer link, which is invaluable when A/B testing creative.

Without consistent UTM tagging, analytics tools fall back to guessing where traffic came from using the HTTP referrer header, and that guess is often wrong or missing entirely. Traffic from a native mobile app, a PDF, a QR code, or most email clients arrives with no referrer at all, so it gets dumped into a vague "direct" bucket that hides real performance. A UTM builder solves that blind spot by embedding the source and channel directly in the link itself, so the data survives no matter how the click happens. That is also why consistent tagging matters more than clever tagging: a UTM builder is only as useful as the discipline behind it, and a source labeled "Newsletter" in one campaign and "newsletter" in another will show up as two separate rows in your reports.

This tool builds the URL the same way any well-behaved UTM builder should. It parses your base URL with the standard URL constructor, which means it correctly handles a link that already has its own query parameters, like a product page with a ?variant=blue on it, without breaking or duplicating anything. It then appends each utm_ parameter using URLSearchParams, which automatically percent-encodes spaces, ampersands, and other characters that would otherwise corrupt the link. The result is a URL you can trust to paste directly into an ad platform, an email service provider, or a social scheduling tool.

When to use it

  • Tagging links in a paid search or paid social ad so Google Analytics attributes clicks to the correct campaign and ad set.
  • Tracking which email newsletter, subject line variant, or send date drove the most website visits and conversions.
  • Comparing performance across social platforms by tagging the same landing page link differently for Instagram, LinkedIn, and X.
  • Measuring the ROI of a QR code on printed packaging, a poster, or a business card that would otherwise show up as "direct" traffic.
  • Running an A/B test on two versions of the same ad creative using utm_content to separate the click data.
  • Sharing a campaign link with an affiliate, influencer, or partner so their referred traffic is clearly separated from your other channels.

How to use the UTM Builder

  1. Paste your website or landing page URL into the Website URL field. The scheme (https://) is added automatically if you leave it off.
  2. Fill in Campaign source, Campaign medium, and Campaign name, the three required fields that Google Analytics uses to group your traffic.
  3. Optionally add Campaign term (for paid keywords) or Campaign content (to tell two versions of the same link apart).
  4. Copy the finished URL from the output box with one click and use it in your ad, email, or post exactly as shown.

Formula & method

final_url = base_url + "?" + URLSearchParams({ utm_source, utm_medium, utm_campaign, [utm_term], [utm_content] }).toString(), where existing query parameters on base_url are preserved and every parameter value is percent-encoded automatically.
https://example.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=august-saleWho sent itWhat channelWhich campaignAnalytics groups every click by source, medium, and campaign,so consistent UTM tags turn scattered clicks into clear reports.

Worked examples

You are sending an email newsletter promoting an August sale and linking to your landing page at https://example.com/landing.

  1. Base URL: https://example.com/landing (no existing query parameters).
  2. Set utm_source = newsletter, since the traffic is coming from your email list.
  3. Set utm_medium = email, the channel type.
  4. Set utm_campaign = august-sale, the specific promotion name.
  5. The builder appends the three parameters in order with URLSearchParams, producing a clean, encoded query string.

Result: https://example.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=august-sale

You are running a Google Ads search campaign targeting the keyword "running shoes" and testing two ad headlines, tagging the second one as variant B, linking to a product page that already has ?color=red in its URL.

  1. Base URL: https://example.com/shop/shoes?color=red, which already carries one query parameter.
  2. Set utm_source = google and utm_medium = cpc, since this is a paid search click.
  3. Set utm_campaign = running-shoes-launch, the campaign name in Google Ads.
  4. Set utm_term = running+shoes to record the target keyword, and utm_content = variant-b to identify the ad headline.
  5. The URL constructor parses the existing ?color=red first, so URLSearchParams appends the five utm_ parameters after it instead of overwriting it.

Result: https://example.com/shop/shoes?color=red&utm_source=google&utm_medium=cpc&utm_campaign=running-shoes-launch&utm_term=running%2Bshoes&utm_content=variant-b

The five UTM parameters and typical values

ParameterRequiredAnswersTypical examples
utm_sourceYesWho sent the trafficgoogle, facebook, newsletter, partner-name
utm_mediumYesWhat channel type it came throughcpc, email, social, referral, affiliate
utm_campaignYesWhich specific promotion or initiativespring-sale, product-launch, webinar-2026
utm_termNoWhich paid keyword was targetedrunning+shoes, waterproof+jacket
utm_contentNoWhich version of an ad or link was clickedheader-link, footer-link, variant-a, variant-b

Common source and medium pairings by channel

Channelutm_sourceutm_medium
Google Ads searchgooglecpc
Facebook or Instagram adsfacebook (or instagram)paid-social
Organic Facebook postfacebooksocial
Email newsletternewsletter (or your ESP name)email
Affiliate or partner linkpartner-nameaffiliate
Printed material or QR codeprint (or flyer, poster)qr

Common mistakes to avoid

  • Inconsistent capitalization or spelling across campaigns. Google Analytics treats utm_source values as case sensitive, so "Newsletter", "newsletter", and "NewsLetter" show up as three separate rows in your reports instead of one. Pick a lowercase, hyphenated naming convention (google, cpc, spring-sale) and stick to it across every team member and every tool, including this UTM builder, so historical data stays comparable.
  • Tagging internal links between pages on your own site. UTM parameters are meant to track how someone arrived at your site from an outside source, not how they move around once they are already there. Adding UTM tags to your own navigation menu or internal buttons overwrites the original campaign data in the visitor session and makes it look like they arrived fresh from that internal link, corrupting your source attribution.
  • Forgetting that the base URL already has a query string. If your landing page URL already includes parameters, such as a product variant, referral code, or discount, a UTM builder that naively concatenates "?utm_source=..." onto the end will break the link by producing two question marks. This tool avoids that by parsing the base URL first and using URLSearchParams to append parameters correctly, whether or not one already exists.
  • Using utm_campaign for the channel and utm_medium for the campaign name. It is easy to mix up which field means what, especially under deadline pressure. Remember the order: source is who, medium is what kind of channel, campaign is which specific push. Swapping medium and campaign values is one of the most common reasons a "Campaigns" report in Google Analytics ends up full of channel names instead of promotion names.

Glossary

UTM parameter
A key-value pair added to the end of a URL as a query string, used by analytics platforms to record where a click came from.
utm_source
The specific site, publication, or platform that sent the traffic, for example google, facebook, or a newsletter provider name.
utm_medium
The general category of channel the traffic came through, for example cpc for paid search, email, or social.
utm_campaign
The name of the specific marketing initiative or promotion the link belongs to, used to group related traffic together.
Query string
The part of a URL after the question mark, made up of one or more key=value pairs separated by ampersands.
Percent encoding
The process of converting characters like spaces or ampersands into a safe %XX format so they do not break the structure of a URL.

Frequently asked questions

What is a UTM builder used for?

A UTM builder appends standardized tracking parameters to a URL so analytics tools like Google Analytics can identify exactly which source, channel, and campaign sent a visitor, instead of lumping that traffic into a vague "direct" or "referral" bucket.

Which UTM parameters are required?

utm_source, utm_medium, and utm_campaign are required for a link to be trackable in Google Analytics reports. utm_term and utm_content are optional and only needed when you want extra detail, such as a keyword or an ad variant.

Will UTM tags break my link or change where it goes?

No. UTM parameters are just extra query string data appended to the end of the URL; the destination page loads exactly the same way. Most sites ignore parameters they do not recognize, so the visitor sees the normal page while their browser sends the tagged link.

Do UTM parameters affect my website's SEO or search rankings?

Not when used correctly for external links like ads, emails, and social posts. The concern only applies if you tag internal links between your own pages, which can create duplicate-looking URLs for search engines; avoid that by only using UTM tags on links pointing in from outside sources.

What is the difference between utm_source and utm_medium?

utm_source answers "who sent this traffic" (google, newsletter, facebook), while utm_medium answers "through what kind of channel" (cpc, email, social). A single source can use multiple mediums, for example facebook as the source with both social and paid-social as possible mediums.

Can I use a UTM builder on a link that already has query parameters?

Yes. This tool parses your base URL first and then appends the utm_ parameters with URLSearchParams, so any existing parameters, like a product variant or referral code, are preserved and the resulting link stays valid.