UTM URL Builder

Build URLs with UTM parameters for analytics campaign tracking. Source, medium, campaign, content, term — all the standard fields plus optional shortening URLs via a paste-and-shorten flow. Works with Google Analytics, Plausible, Mixpanel, and any other analytics tool that respects the convention.

How to use the UTM URL Builder

Fill in the destination URL and at minimum source/medium/campaign. The tagged URL updates live. Convention: keep source/medium/campaign lowercase and consistent so reports group cleanly — "Newsletter" and "newsletter" become two different rows in most analytics dashboards.

UTM parameter conventions

UTM (Urchin Tracking Module) parameters predate Google Analytics — they're a 1996-era convention that became universal because every analytics tool decided to respect them. The five standard parameters:

  • utm_source — where the link is published (newsletter, twitter, partner-site)
  • utm_medium — channel type (email, social, cpc, organic, referral)
  • utm_campaign — the campaign name (spring-launch, q4-promo)
  • utm_content — which element clicked (header-cta, footer-link) — for A/B tests
  • utm_term — keyword for paid search

Discipline matters. A campaign with inconsistent UTMs is harder to analyze than one with no tracking at all. Pick a naming scheme (lowercase, hyphens for spaces, no special characters) and stick to it.

Frequently asked questions

Which UTM parameters are required?

Source, medium and campaign are the core three most analytics tools expect. Content and term are optional, used for A/B tests and paid-search keywords.

Why force lowercase?

Analytics treats "Newsletter" and "newsletter" as different values, splitting one campaign across rows. Consistent lowercase keeps reports clean.

Does the tagged URL work in any analytics tool?

Yes. UTM parameters are a universal convention, so Google Analytics, Plausible, Mixpanel and most others read them automatically.
Embed this tool on your site

Free to embed, no attribution required (but appreciated). Paste this where you want the tool to appear: