UTM Parameters Validator
Validate URL with UTM params (utm_source, medium, campaign, content, term). Checks presence, format (lowercase), no spaces.
UTM parameters: the de facto standard for marketing attribution
UTM parameters are five query-string fields appended to a URL to tell analytics tools where a visitor came from, how they got there and which campaign drove the click. They were invented in 1995 by Urchin Software for its analytics platform; Google acquired Urchin in 2005 and the acronym (Urchin Tracking Module) survived inside Google Analytics. Today every major analytics platform โ GA4, Adobe, Matomo, Plausible, Mixpanel โ reads UTMs out of the box, and they have become the closest thing to a universal attribution standard.
A typical tagged URL: https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=black-friday-2026&utm_term=running-shoes&utm_content=ad-variant-a. This validator parses such URLs, checks the five fields, flags case-sensitivity slips and reports missing required parameters.
The five canonical fields and what each one means
- utm_source โ where: the platform or publisher (
google,facebook,newsletter,partner-blog). - utm_medium โ how: the marketing channel (
cpc,email,social,organic,display,affiliate). - utm_campaign โ which: the specific promotion (
black-friday-2026,spring-launch,winback-q2). - utm_term โ what keyword: typically the paid-search keyword (
running-shoes). Mostly used by Google Ads. - utm_content โ which creative: useful for A/B testing creatives or differentiating multiple links inside the same campaign (
cta-buttonvsheader-link).
Only utm_source is technically required by Google Analytics; without it, the rest are discarded. A pragmatic minimum is source + medium + campaign.
Naming conventions that prevent attribution chaos
- Always lowercase โ UTM values are case-sensitive.
utm_source=Facebookandutm_source=facebookappear as two separate sources in reports. - Use hyphens, not spaces or underscores โ spaces become
%20or+and pollute reports; hyphens read cleanly. - No special characters โ keep to
a-z0-9-. Accents and emoji break URL encoding in older email clients. - Standardise medium values โ pick a closed vocabulary:
cpc,email,social,display,affiliate,referral. Don't let one analyst writesocial-mediaand anothersocial. - Document the convention โ keep a shared spreadsheet or wiki page so marketing, paid media and CRM teams write the same tags.
Beyond UTMs: gclid, fbclid, msclkid and friends
Each major ad platform also appends its own click identifier alongside UTMs:
gclidโ Google Click ID, set automatically when auto-tagging is on in Google Ads. Enables GA4 to import Ads cost data.fbclidโ Facebook Click ID, used by Meta to attribute conversions back to ads through the Conversions API.msclkidโ Microsoft Click ID for Bing Ads.ttclidโ TikTok Click ID.dclidโ DoubleClick (Display & Video 360) Click ID.
These IDs are opaque tokens, not human-readable. They coexist peacefully with UTMs and should be preserved end-to-end. iOS 14 App Tracking Transparency broke a lot of fbclid attribution; first-party UTMs survived because they live in the URL itself.
Tools for building and managing UTM links
- Google Campaign URL Builder โ the official free form (
ga-dev-tools.google/campaign-url-builder). - UTM.io / Terminus โ paid tools that enforce a controlled vocabulary across the marketing team.
- Bitly, Rebrandly, Short.io โ link shorteners that auto-append UTMs and rotate landing pages.
- Spreadsheet templates โ many teams maintain a Google Sheet with a CONCAT formula building tagged URLs from columns.
In Brazilian agencies, UTMs are the backbone of monthly client reports โ without them, conversions from organic social, email and influencer links land in direct/none and the campaign looks worthless.
GA4, attribution models and multi-touch
Google Analytics 4 replaced Universal Analytics in 2023. UTMs still feed the Traffic acquisition reports, but GA4 layers on a default channel grouping that maps utm_medium values to channels (Paid Search, Email, Social, etc.). If your medium is non-standard, GA4 dumps the traffic into Unassigned.
For multi-touch attribution (first-touch, last-touch, linear, time-decay, data-driven), GA4 uses the chain of UTM-tagged sessions per user. The more consistent and complete your UTMs, the better the model. Bonus: anti-spam filters on email and chat apps sometimes flag very long UTM-laden URLs โ keep tags short and consider link shorteners for end-user-visible URLs.
FAQ
Are UTM parameters case sensitive? Yes. utm_source=Google and utm_source=google are two different sources in GA4. Stick to lowercase.
Are there other tracking params besides UTM? Yes โ gclid (Google), fbclid (Meta), msclkid (Microsoft), ttclid (TikTok), dclid (DV360). They complement, not replace, UTMs.
Which UTMs are required? Only utm_source is required by Google Analytics; without it, the others are ignored. A practical minimum is source + medium + campaign.
Do UTMs slow down page load? No โ they are simple query strings parsed instantly by analytics SDKs. They do, however, force a fresh server cache key if the CDN is not configured to ignore query params.
Will UTMs survive a redirect? Only if your redirect preserves the query string. Most shorteners (Bitly, Cloudflare) do; some legacy 301 chains strip them โ test before launching a campaign.
Related Tools
CPF Validator
Validate Brazilian CPF numbers instantly using the official algorithm. Useful for testing document validation in applications. No data sent to servers.
Batch CPF Validator
Validate a list of CPFs (one per line) and see which are valid and which are not. No data sent to servers.
Batch CNPJ Validator
Validate a list of CNPJs (one per line) with a summary of valid, invalid and total. No data sent to servers.