Skip to content
SEO

UTM Builder

Build UTM-tagged campaign URLs with live preview and presets.

utmcampaignurltrackingmarketing
Loading tool…

About the UTM Builder

The UTM Builder assembles Google Analytics campaign URLs without the usual copy-paste errors. You supply a base URL and the three required UTM parameters — utm_source, utm_medium, and utm_campaign — plus optional utm_term for paid keyword tracking and utm_content for ad variants; the tool appends them with proper encoding and shows the final URL live in a result box with its total length. Five one-click presets (newsletter/email, Twitter social, Google CPC, Facebook Black Friday, and a GitHub referral) fill the common combinations instantly, and a Reset button clears everything. Existing query strings and hashes on your base URL are preserved, and the builder skips any parameter that already exists instead of duplicating it. Status indicators confirm the base URL is a valid http(s) address and all required fields are complete before you trust the link, and an Open tagged URL button lets you test the destination immediately. Clean UTM discipline matters for SEO-adjacent analytics: inconsistent casing or misspelled sources fragment your sessions in reports, so standardizing every campaign link through one builder keeps acquisition data — and the decisions built on it — reliable.

UTM Builder examples

Input
Base URL: "https://example.com/blog/summer-sale" · Click the preset "Newsletter / email / summer2024"
Output
https://example.com/blog/summer-sale?utm_source=newsletter&utm_medium=email&utm_campaign=summer2024
Note: The preset fills all three required fields at once. Stat tiles show Tags applied: 3, Required fields: complete, and the final URL length.
Input
Base URL: "https://example.com/blog/summer-sale" · Preset "Google / cpc / brand_keyword" · utm_term: "running+shoes" · utm_content: "top_banner"
Output
https://example.com/blog/summer-sale?utm_source=google&utm_medium=cpc&utm_campaign=brand_keyword&utm_term=running%2Bshoes&utm_content=top_banner
Note: The plus sign in the keyword value is percent-encoded as %2B, which is correct URL encoding. Tags applied reads 5 and the Open tagged URL button becomes available.
Input
Base URL: "https://example.com/blog/summer-sale?ref=home" · Preset "Github / referral / oss_boost"
Output
https://example.com/blog/summer-sale?ref=home&utm_source=github&utm_medium=referral&utm_campaign=oss_boost
Note: The existing ref=home query parameter is preserved and the UTM values are appended after it, with no duplicate parameters created.

How to use the UTM Builder

  1. 1

    Enter the Base URL — it must start with http:// or https:// or the field highlights red.

  2. 2

    Fill in the required utm_source, utm_medium, and utm_campaign fields, or click one of the five Quick presets to populate them.

  3. 3

    Optionally add utm_term for paid keywords and utm_content to distinguish ad variants.

  4. 4

    Watch the stat tiles: Tags applied, Required fields, and Final URL length update live as you type.

  5. 5

    Copy the final URL from the Tagged URL result box, or click Open tagged URL to test the link immediately.

Common use cases

  • Email newsletters — standardize source=newsletter, medium=email for every issue, varying only the campaign name.
  • Paid search reports — add utm_term per keyword and utm_content per ad variant for granular Google Ads reporting.
  • Social post scheduling — build per-network links (twitter, facebook, linkedin) before scheduling week-long campaigns.
  • Referral partner programs — give each partner a distinct utm_source and reuse the preset pattern for consistency.
  • Content repurposing — tag the same asset differently per placement to learn which channel actually drives conversions.
  • Cross-team conventions — share preset-based links so marketing and growth never invent conflicting parameter spellings.

Technical SEO best practices

  • Standardize lowercase, underscore-separated campaign names; analytics treats summersale and SummerSale as different campaigns.
  • Always set utm_source, utm_medium, and utm_campaign — sessions with a missing medium land in the "not set" bucket.
  • Use utm_term only for paid search keywords and utm_content only for creative variants; reusing them elsewhere muddies reports.
  • Keep parameter values stable across a campaign's lifetime; changing them mid-flight splits the data in reporting.
  • Shorten display URLs separately — the UTM parameters stay intact while a link shortener handles the visible copy.
  • Never tag internal navigation links with UTMs; every internal click would reset the session source in analytics.

Tips

  • Apply a preset first, then tweak — starting from consistent defaults prevents parameter drift across the team.
  • Copy the final URL into your link shortener with the query intact so analytics survive the redirect.
  • Log every tagged URL in a campaign tracker sheet so historical links stay auditable.
  • Click Open tagged URL before sending to make sure the destination does not redirect and strip the parameters.

Frequently asked questions

utm_source, utm_medium, and utm_campaign are the required trio that every tagged link should carry. utm_term is optional and designed for paid search keywords; utm_content is optional and used to distinguish ad or creative variants. The builder tracks the required fields with a status indicator and only reports the URL as ready once all three are filled.

Each preset fills source, medium, and campaign with a proven combination — newsletter/email, Twitter social, Google CPC, Facebook Black Friday, and GitHub referral — so you start from a consistent baseline instead of inventing spellings. Apply a preset, tweak the campaign name, and you get a URL that matches the naming conventions the rest of your team should already be using.

It is preserved. The builder merges UTM parameters into the existing search parameters, appending only the ones that are not already present, so a URL like /page?ref=home keeps its ref and gains the UTM values alongside it. Duplicate parameters are never created, which matters because analytics platforms resolve duplicates unpredictably.

URL encoding converts characters that are not allowed unencoded in query strings. A literal plus in a value is encoded as %2B so the server can tell it apart from a plus that represents a space. This is correct, standard behavior — analytics tools decode it back to the plus you typed, and the keyword is attributed exactly as intended.

Never. A UTM-tagged link resets the session's acquisition information, so an internal click tagged with utm_source would overwrite the real traffic source in your reports and inflate campaign numbers. UTMs belong on inbound links only — emails, ads, social posts, and partner sites. Keep internal navigation clean and let the analytics platform attribute it automatically.

They do not change rankings directly — Google indexes the URL with its parameters intact, which is why pages should declare a canonical tag pointing at the clean version. The SEO value is indirect: clean UTM discipline keeps campaign data accurate, so the traffic and conversion insights that guide your content and keyword strategy are based on trustworthy numbers.

Explore more seo tools

Browse the full collection of seo tools on the hub, or jump back to all categories.

Related tools

Did this tool help?

Anonymous — one tap, no sign-up.