UTM Campaign Builder — Build Tracking URLs
Add UTM parameters to any link so Google Analytics 4 can tell you which campaign, channel and ad brought each visitor. Fill in the fields, watch the URL build live, then copy it.
Try an example
Campaign details
The page visitors land on. Existing query parameters are kept — the UTM tags are appended after them.
Channel presets
One click fills source and medium. These are common conventions, not a rule — adjust them to match how your team already names channels.
Where the traffic comes from. Appears as "Session source" in GA4. Required.
The type of channel. Appears as "Session medium" in GA4 and drives the default channel grouping. Required.
The campaign this link belongs to. Appears as "Session campaign" in GA4. Required.
Optional. The paid keyword, mainly used with paid search (cpc).
Optional. Tells two links in the same campaign apart, e.g. two buttons or ad variants.
Optional. A campaign ID that ties the link to a row in the imported campaign table in GA4.
Live preview
Fill in at least one UTM field to see the tracking URL.
Save as template
Saved locally in this browser only — nothing leaves your device (§25 TDDDG). Use the ✕ to delete a template.
Already have tagged links? Read them out, spot errors and fix inconsistent spellings with the UTM checker
What is a UTM campaign URL?
UTM parameters are small tags you add to the end of a link — utm_source, utm_medium, utm_campaign and a few optional ones. When someone clicks the link, Google Analytics reads those tags and files the visit under the right campaign, channel and source.
Without them, most campaign traffic lands in buckets like "direct" or "referral" and you cannot tell which newsletter, ad or post actually worked. A consistent set of UTM tags is what makes campaign reporting in GA4 trustworthy.
The five parameters (plus utm_id)
utm_source names where the traffic comes from (google, newsletter), utm_medium the channel type (cpc, email, social), and utm_campaign the specific campaign. These three are required — GA4 needs them to attribute a visit.
utm_term and utm_content are optional. utm_term holds the paid keyword; utm_content tells two links in the same campaign apart. utm_id is an optional campaign ID that links the URL to imported campaign cost data in GA4.
Naming conventions that stay clean
Pick one spelling and stick to it: always lowercase, use a single separator (a hyphen or an underscore) instead of spaces, and keep a short list of allowed source and medium values. Analytics is case-sensitive, so "Facebook" and "facebook" become two rows in your report — inconsistent naming is the fastest way to make campaign data unreadable.
For the exact fields GA4 reads, see Google's reference on custom campaign URLs.
Also useful
Running the same campaign across languages? Generate the matching tags with the hreflang generator
Frequently asked questions
What are UTM parameters?
Which UTM parameters are required and which are optional?
Why should I lowercase everything?
Hyphen or underscore between words?
Why should I not tag internal links?
Where do I see the UTM data in GA4?
What is utm_id?
How long can a campaign URL be?
What is a sensible naming convention?
Related tools
UTM Checker — Validate Your Campaign URLs
Read out, validate and clean up existing UTM campaign URLs — and catch spellings that split into separate sources.
Hreflang Generator
Build valid, reciprocal hreflang tags in HTML, XML sitemap or HTTP header format — free, no account.
Open Graph / Meta Tag Generator
Generate Open Graph and Twitter/X Card meta tags for correct link previews.
Sitemap Validator — Check Your XML Sitemap
Validate an XML sitemap, find a site's sitemap, test URL status, hreflang and media sitemaps. Free, no account.
XML Sitemap Generator — Create a sitemap.xml
Crawl your site and create a sitemap.xml, HTML sitemap and URL list. Free, no account.
AI Search Readiness Checker
Score how ready your site is for ChatGPT, Perplexity and AI Overviews.
