UTM builder tool
Build a UTM tracking URL
One link, or a whole batch at once in Bulk mode.
The full page you want to track
Where the traffic comes from — google, newsletter, meta
The channel type — cpc, email, social, organic
e.g. summer-sale-2026, product-launch-q3
What a UTM parameter actually is
UTM stands for Urchin Tracking Module, named for Urchin Software, the analytics company Google acquired in 2005 that became the foundation of Google Analytics. A UTM parameter is a small tag appended to a URL after a question mark — the page itself doesn't change, only what your analytics tool records about the visit.
https://yoursite.com/landing-page?utm_source=google&utm_medium=cpc&utm_campaign=summer-sale-2026
Same page, same content — GA4 now knows this visitor arrived from a Google CPC campaign called summer-sale-2026.
The six UTM parameters, explained
Three are required for basic attribution. Three are optional, and each earns its place for a specific reason.
utm_sourceRequiredWhere the traffic comes from — the specific platform or publisher sending it.
utm_mediumRequiredThe channel category, grouping sources so email, paid, and organic can be compared at a high level in GA4.
utm_campaignRequiredThe specific campaign or promotion name. Descriptive enough to identify in a report six months later.
utm_termOptionalFor paid search, the keyword that triggered the ad. Google Ads can auto-populate this with the {keyword} dynamic parameter.
utm_contentOptionalDifferentiates between two similar ads or links in the same campaign — useful for A/B testing creative or placement.
utm_idOptionalLinks the URL to a specific Google Ads or Campaign Manager campaign ID, tying manual UTM data back to platform-level reporting.
Google Ads auto-tagging vs. manual UTM tags
This is the nuance most UTM guides skip entirely, and it's the one that actually trips people up when a Google UTM builder is involved.
Google Ads has its own tracking mechanism called auto-tagging, which appends a gclid parameter to your destination URL automatically. That parameter is what populates the dedicated Google Ads reports inside GA4, with no manual setup required.
Manual UTM parameters solve a different problem: comparing Google Ads against every other channel, side by side, in the same report — or feeding a non-Google analytics platform that doesn't recognize gclid at all.
The two aren't mutually exclusive. Auto-tagging can stay switched on for Google's own reporting, while manual UTM tags on the same URL cover the cross-platform comparison auto-tagging alone can't provide.
Where a UTM link actually gets used
A UTM URL is just a URL — it works anywhere a normal link works, with a few platform-specific notes worth knowing.
Google Ads
Google Ads has its own auto-tagging via a gclid parameter, separate from manual UTM tags. Both can coexist on the same URL — see the section below on which one actually matters for your reports.
Meta Ads (Facebook & Instagram)
Add the UTM URL as the destination link in the ad set. Meta also supports dynamic parameters like {{campaign.name}} that auto-populate at click time.
Website builders like Tilda, Wix, or Webflow
Any platform that lets you set a custom link on a button or menu item accepts a UTM URL exactly like any other link — there's nothing platform-specific to configure.
Bitly and other link shorteners
Build the full UTM URL first, then shorten it if the platform needs a compact link. Shortening does not remove or alter the UTM parameters underneath.
Spreadsheets (Excel, Google Sheets)
Bulk mode is built for exactly this: paste a column of sources, mediums, and campaigns straight from a sheet, and export the finished batch back out as a CSV.
Five mistakes that corrupt campaign data
All five are avoidable, and all five are common.
Adding UTM parameters to internal links
Clicking a UTM-tagged internal link starts a new GA4 session attributed to that UTM source, erasing the visitor's real original referral.
Only tag external links pointing to your site — never links between your own pages.
Inconsistent capitalization across a team
Google Analytics treats UTM values as case-sensitive. Source: Google and source: google show up as two separate channels, fragmenting the data.
Turn on auto-format, which lowercases and hyphenates every value automatically, and agree on one convention as a team.
Using spaces instead of hyphens
A space in a UTM value gets encoded as %20 in the URL, so reports show summer%20sale instead of a readable summer-sale.
Use hyphens or underscores between words — never a literal space.
Reusing a campaign name for a new promotion
GA4 merges the new campaign's data with the old campaign's historical data under the same name, making both impossible to evaluate accurately.
Include a date or version in every campaign name, like product-launch-q3-2026.
Assuming Google Ads doesn't need manual UTM tags
Google Ads auto-tagging (gclid) populates GA4's own Google Ads reports, but if the destination is tracked in a different analytics tool, or you want to compare Google Ads against other channels side by side, gclid alone won't do that.
Keep auto-tagging on for Google's own reporting, and add manual UTM parameters when cross-platform comparison matters.
Tools that pair well with a UTM link
A tracking URL rarely travels alone.
Questions people ask before building a UTM link
Direct answers on meaning, Google Ads, bulk mode, and platform compatibility.
UTM stands for Urchin Tracking Module, named after Urchin Software, the web analytics company Google acquired in 2005 to help build what became Google Analytics. A UTM parameter is a small tag added to a URL that tells analytics tools where a visitor came from.
Yes. No account, no signup, no limit on how many links you build in either single or bulk mode.
Yes — the URLs this generates use the exact parameter format GA4 (and Universal Analytics before it) expects: utm_source, utm_medium, utm_campaign, plus the optional utm_term, utm_content, and utm_id.
Functionally similar for a single link, but this version adds a genuine bulk mode for building many links from a source/medium/campaign list at once, a utm_id field for Google Ads and Campaign Manager, local history, and CSV export — none of which Google's basic tool includes.
Yes, in Bulk mode. Enter the destination URL once, then add a row per source, medium, and campaign combination — paste straight from three spreadsheet columns — and export the finished batch as a CSV.
It depends on what you're trying to measure. Auto-tagging (the gclid parameter) feeds Google Ads' own reports inside GA4 automatically. Manual UTM tags matter when you need to compare Google Ads against other channels side by side, or when a non-Google analytics tool is the source of truth.
Yes. Meta is the current name for Facebook and Instagram's ad platform, and both accept a UTM URL as the destination link the same way any other channel does. The source preset list includes meta directly.
Yes. Any platform where you can set a custom URL on a button, link, or menu item accepts a UTM-tagged URL exactly like a normal link — there's nothing to configure on the builder's side.
For email and paid ads, the full UTM URL is fine since it's invisible to the person clicking. For social posts, SMS, or printed material where the link is visible, shortening it afterward improves the look without touching the UTM data underneath.
Build your first UTM link
One link, or a whole campaign's worth. No signup either way.
