Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
A UTM validator checks that a campaign URL has a valid destination, the expected tracking fields, non-empty values, and no duplicate or inconsistent tags. For a typical tagged URL, start with Google’s recommended fields—utm_source, utm_medium, and utm_campaign—then compare the values with your team’s naming rules. A clean validation result is a useful pre-launch check, not proof that GA4 will attribute a visit: redirects, analytics setup, consent choices, browser controls, or platform tagging can still affect collection.
What a UTM validator checks
A UTM validator parses a destination URL and checks its campaign parameters before someone publishes or distributes it. Depending on the validator, it may also flag duplicate parameters, blank values, unexpected capitalization, or names that do not match an approved campaign dictionary. Google Analytics documents these campaign parameters: utm_id, utm_source, utm_medium, utm_campaign, utm_source_platform, utm_term, utm_content, utm_creative_format, and utm_marketing_tactic. Google notes that the last two are not currently reported in some Analytics properties.
Google’s recommendation for tagged URLs is: “When you add parameters to a URL, you should always use utm_source, utm_medium, and utm_campaign.” Treat those as the usual minimum, not a universal schema for every organization. Your analytics import process or internal governance may impose additional requirements.
How to validate a campaign URL
- Check the destination. Confirm the URL has a supported scheme, such as
https, and a hostname. Make sure it points to the intended landing page, not a staging or obsolete address. - Check required parameters. For ordinary campaign tagging, verify that
utm_source,utm_medium, andutm_campaigneach appear and have a value. Requireutm_idas well if your campaign-data import or governance rules call for it. - Check for duplicates. Each UTM key should generally appear once. If a builder appends tags to a URL that already contains them, a URL can end up with multiple values for the same key. Flag this rather than assuming every analytics system will interpret it as intended.
- Compare names with your conventions. Check approved source and medium values, campaign spelling, capitalization, separators, and any naming pattern your team uses. A validator can only enforce those rules if you define or configure them.
- Review optional fields. Use
utm_contentwhen you need to distinguish creatives or placements andutm_termwhen you need to identify a paid keyword or term. Add optional tags consistently rather than filling them with arbitrary values. - Resolve dynamic macros where needed. Ad platforms can substitute macros when a campaign runs. Check that the platform will replace the macro and that the destination or import workflow can handle the resulting value. Google advises resolving dynamic values at the advertising-platform level for campaign-data import.
- Test the live route. Open the final URL and inspect its redirect destination. Confirm the query string survives and that the landing page loads. URL syntax checks alone cannot verify redirects or analytics instrumentation.
UTM parameter reference
| Parameter | Typical purpose | Validation question |
|---|---|---|
utm_source |
Identifies the source, such as a platform or publisher. | Is it present, non-empty, and spelled exactly according to your source dictionary? |
utm_medium |
Identifies the marketing medium or channel classification. | Does it use your approved medium value and capitalization? |
utm_campaign |
Identifies the campaign. | Does it match the campaign name or naming pattern used by the team? |
utm_id |
Provides a campaign identifier. | Is it included when required for an import workflow or internal governance? |
utm_content |
Can distinguish ads, links, or creative variants. | Is the value meaningful and consistent with your creative naming convention? |
utm_term |
Can identify a paid search term or keyword. | Is it populated or dynamically supplied as intended for this campaign? |
utm_source_platform |
Records a source platform where used. | Does your implementation use and report this field as expected? |
utm_creative_format and utm_marketing_tactic |
Additional campaign descriptors. | Check whether your Analytics property currently reports these fields before relying on them. |
Case sensitivity and naming consistency
UTM values are case sensitive. For example, utm_source=google and utm_source=Google are distinct values. Capitalization variants such as Meta and meta can therefore divide reporting into separate values instead of one consolidated source. Google recommends using one consistent value for each platform and channel, one exact campaign name, and consistent conventions for content and term.
#1 Best Overall
- Half Meeting Half Note: 1.MEETING PLANNING: Date, Location, Topic & Attendees 2.MEETING MINUTES: Agenda, Quick Notes & Other 3.NOTES AREA: Lined Page 4.ACTION ITEMS: Action Steps, Person, Due Date & Check Box 5.NEXT MEETING: Date, Time & Location 6.INDEX PAGE: Date, Title, Page Number, which will help create more effective meetings and good results.
- Premium Quality Notebook for Work: Golden spiral binding is sturdy and flexible, with easy-to-turn pages. Hot-stamped cover is water-resistant and not easy to bend. Bonus Bookmark and Pockets. Perfectly hold up well to frequent transfers in and out of backpacks, briefcases, and cars.
- Fight Ink-bleeding & Great Size: The high-end 100gsm paper could prevent ink bleeding through or feathering, handle double-sided writing and most daily use pens pretty well. The office/business work notebook measures 8.5"x 11"(similar to A4 size), Generous size provides ample space to jot down your meeting notes.
- Each 160 Pages Per Book: Provide ample space for note taking & planning and with the date section at the top for tracking them. With 160 pages for meeting minutes, the manager notebook will cover more than half a year, even in daily use. Also provides index pages for organizing this office planner.
- Better Tool Drives Better Meetings: The hassle of organizing the chaotic meeting notes VS this professional meeting notebook. Definitely a step up! Everything is neatly zoned on each page makes it a breeze to fill them out and ensure all you need are accounted for.
Choose a naming policy before campaign links are made. A practical policy might specify lowercase values, an approved list of sources and mediums, a campaign pattern such as product_launch_region_quarter, and a consistent separator. The exact vocabulary is an organizational choice; do not assume a validator’s default list matches your analytics setup. For imported campaign data, capitalization and values must exactly match what Analytics logs.
Run a small Python validator locally
This standard-library script checks scheme and host, required tags, blank values, repeated UTM keys, and lowercase values. It deliberately does not claim to validate your naming dictionary, follow redirects, resolve advertising macros, or test GA4. Add approved values or naming-pattern checks to match your own rules before using it as a team gate.
Rank #2
- Easily Stay On Track & Make The Most Of Your Time: ZICOTOs’ daily planner makes it easier than ever for you to stay organized, reduce stress & enjoy more free time! Arrange your schedule, priorities, to do’s and jot down plans & ideas on the daily notes section
- Smartly Plan Ahead & Boost Your Productivity: Absolutely clever & efficient! With the planner notebook you can break down your daily tasks into half-hourly focus blocks and map out priorities & follow-up duties to keep your day on track and enhance productivity
- Plenty Of Space For Efficient Planning: Stay focused & manage your time wisely! The 8.4x6.1” work planner & organizer notebook offers ample space for 105 days of life-changing planning with each day being spread across 2 pages - set yourself up for purposeful days
- Now Is The Best Time To Start: The daily planner is undated so you can start to add structure to your schedule and cultivate new planning habits right away! Beat procrastination, boost happiness & make each day count with the hourly planner
- Adds Beauty To Daily Planning: A gorgeous dark blue art paper cover, chic golden letters, a gold ring wire and a clean, easy-to-use layout, elastic band - enjoy the lovely and modern design of the undated daily planner!
from urllib.parse import urlsplit, parse_qsl
REQUIRED = {"utm_source", "utm_medium", "utm_campaign"}
UTM_KEYS = {
"utm_id", "utm_source", "utm_medium", "utm_campaign",
"utm_source_platform", "utm_term", "utm_content",
"utm_creative_format", "utm_marketing_tactic",
}
def validate(url):
errors = []
parsed = urlsplit(url)
if parsed.scheme not in {"http", "https"} or not parsed.hostname:
errors.append("Destination must have an http(s) scheme and hostname.")
pairs = parse_qsl(parsed.query, keep_blank_values=True)
values = {}
for key, value in pairs:
if key in UTM_KEYS:
values.setdefault(key, []).append(value)
for key in sorted(REQUIRED):
if key not in values:
errors.append(f"Missing required parameter: {key}")
elif all(value.strip() == "" for value in values[key]):
errors.append(f"Empty required parameter: {key}")
for key, items in sorted(values.items()):
if len(items) > 1:
errors.append(f"Duplicate parameter: {key}")
for value in items:
if value.strip() == "":
errors.append(f"Empty value: {key}")
if value != value.lower():
errors.append(f"Uppercase character in {key}={value!r}")
return errors
if __name__ == "__main__":
candidate = (
"https://example.com/offer"
"&utm_medium=email&utm_campaign=fall_launch"
)
problems = validate(candidate)
if problems:
print("FAIL")
for problem in problems:
print("-", problem)
else:
print("PASS: structural checks only; verify redirects and analytics separately.")
Save as validate_utm.py and run python validate_utm.py. The sample should print PASS. Replace the sample URL with the link under review. The lowercase rule is intentionally strict: remove or adapt it if your approved naming convention permits uppercase values. If your policy requires utm_id, add it to REQUIRED. For an automated publishing workflow, make the script return a nonzero exit status on failure and supply URLs from a file or campaign builder rather than editing code by hand.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Why UTMs may not appear in GA4
A structurally valid URL is only one part of attribution. If campaign values are absent or unexpected in reports, check the journey and implementation in order:
Rank #3
- Half Meeting Half Note: 1.MEETING PLANNING: Date, Location, Topic & Attendees 2.MEETING MINUTES: Agenda, Quick Notes & Other 3.NOTES AREA: Lined Page 4.ACTION ITEMS: Action Steps, Person, Due Date & Check Box 5.NEXT MEETING: Date, Time & Location 6.INDEX PAGE: Date, Title, Page Number, which will help create more effective meetings and good results.
- Premium Quality Notebook for Work: Golden spiral binding is sturdy and flexible, with easy-to-turn pages. Hot-stamped cover is water-resistant and not easy to bend. Bonus Bookmark and Pockets. Perfectly hold up well to frequent transfers in and out of backpacks, briefcases, and cars.
- Fight Ink-bleeding & Great Size: The high-end 100gsm paper could prevent ink bleeding through or feathering, handle double-sided writing and most daily use pens pretty well. The office/business work notebook measures 7.5"x 10"(similar to B5 size), Generous size provides ample space to jot down your meeting notes.
- Each 160 Pages Per Book: Provide ample space for note taking & planning and with the date section at the top for tracking them. With 160 pages for meeting minutes, the manager notebook will cover more than half a year, even in daily use. Also provides index pages for organizing this office planner.
- Better Tool Drives Better Meetings: The hassle of organizing the chaotic meeting notes VS this professional meeting notebook. Definitely a step up! Everything is neatly zoned on each page makes it a breeze to fill them out and ensure all you need are accounted for.
- Inspect the actual landing URL. Follow every redirect and check whether the final address still contains the intended query parameters. A redirect that drops the query string defeats a correct initial URL.
- Verify analytics loads on the destination. A landing page without the relevant Analytics instrumentation cannot send the expected campaign data.
- Consider consent and browser controls. Consent choices or browser-level restrictions may prevent analytics collection even when the URL is correct.
- Check platform tagging. Google says that when GCLID or DCLID cannot be used as intended, Analytics derives cross-channel traffic-source dimensions from UTM parameters that are present. Auto-tagging and manual tags can therefore affect what source data is available; inspect the actual setup rather than expecting a validator to infer attribution.
- Compare exact values. Check capitalization, spelling, and duplicate tags against the value logged by Analytics. For campaign-data imports, the imported values must match logged values exactly.
Choosing a validator or campaign-link workflow
A one-off checker is suitable when a small team needs to catch missing tags and obvious typing errors. A larger team benefits from a shared campaign dictionary and repeatable approvals. Before choosing a tool or building an internal workflow, check these capabilities:
- Can required fields be configured, including when to require
utm_id? - Does it flag duplicates, blank values, capitalization differences, and naming-pattern violations?
- Can it enforce your source and medium dictionary rather than a generic default?
- Does it support the dynamic macros your ad platforms use, and make clear when they are unresolved?
- Can it inspect redirects and the final landing page, or does it only parse the URL string?
- Does it support bulk review or an API if links are generated at scale?
- Can reviewers see governance history and export results?
- How are submitted URLs and query-string data stored and handled?
Keep link creation and validation in the same controlled process where possible. A shared builder or review step reduces hand-edited variants, while a validator catches errors before publication. Neither replaces a live redirect and analytics check for high-impact campaigns.
Rank #4
- Easily Stay On Track & Make The Most Of Your Time: ZICOTOs’ daily planner makes it easier than ever for you to stay organized, reduce stress & enjoy more free time! Arrange your schedule, priorities, to do’s and jot down plans & ideas on the daily notes section
- Smartly Plan Ahead & Boost Your Productivity: Absolutely clever & efficient! With the to do list notebook / notepad you can break down your daily tasks into half-hourly focus blocks and map out priorities & follow-up duties to keep your day on track and enhance productivity
- Plenty Of Space For Efficient Planning: Stay focused & manage your time wisely! The 8.4x6.1” work planner & organizer notebook offers ample space for 105 days of life-changing planning with each day being spread across 2 pages - set yourself up for purposeful days
- Now Is The Best Time To Start: The daily planner is undated so you can start to add structure to your schedule and cultivate new planning habits right away! Beat procrastination, boost happiness & make each day count with the hourly planner
- Adds Beauty To Daily Planning: A gorgeous dark green linen cover, chic golden letters, a gold ring wire and a clean, easy-to-use layout, elastic band - enjoy the lovely and modern design of the undated daily planner!
Or skip the browser setup
For a separate visual check of the landing page after you validate its URL, ScreenshotNeo can capture a screenshot or PDF through one GET request. It is not a UTM validator: use it to inspect what the destination renders, not to prove attribution. See the ScreenshotNeo API documentation for request options.
Recommended Free Tools
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/offer -o shot.webp
ScreenshotNeo removes known cookie/consent banners, newsletter popups, and chat widgets before capture; those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. See ScreenshotNeo for the service details, and sign up free for 1,000 screenshots a month with no card.
Common validation failures and fixes
- Missing required field: add the missing source, medium, or campaign key and check the final link, not just the builder form.
- Empty value: remove an unused tag or supply a real value; a parameter name followed by
=is not useful campaign identification. - Duplicate UTM key: check whether the destination was already tagged before a builder appended another set. Keep one intended value per key.
- Campaign appears split in reports: compare capitalization and spelling across URLs. Standardize the canonical value and use it consistently in future campaigns.
- Dynamic macro appears literally: confirm the advertising platform is configured to replace it and whether the import workflow requires a resolved value.
- Tags vanish after opening the link: inspect each redirect and configure the destination route to preserve the query string.
- URL passes but attribution is absent: separately verify Analytics instrumentation, consent behavior, browser controls, and any auto-tagging interaction.
Frequently Asked Questions
Should I put UTM parameters on internal links between pages on my site?
The validation rules here concern campaign links that identify an external source or campaign. For internal navigation, use your analytics implementation’s guidance rather than treating every page-to-page link as a new campaign.
Best Value
- Easily Stay On Track & Make The Most of Your Time: ZICOTOs’ daily planner makes it easier than ever for you to stay organized, reduce stress & enjoy more free time! Arrange your schedule, priorities, to do’s and jot down plans & ideas on the daily notes section
- Smartly Plan Ahead & Boost Your Productivity: Absolutely clever & efficient! With the planner notebook you can break down your daily tasks into half-hourly focus blocks and map out priorities & follow-up duties to keep your day on track and enhance productivity
- Plenty Of Space For Efficient Planning: Stay focused & manage your time wisely! The 9.3x6.3” (inner pages) work planner & organizer notebook offers ample space for 80 days of life-changing planning with each day being spread across 2 pages - set yourself up for purposeful days
- Now Is The Best Time To Start: The daily planner is undated so you can start to add structure to your schedule and cultivate new planning habits right away! Beat procrastination, boost happiness & make each day count with the hourly planner
- Adds Beauty To Daily Planning: A gorgeous champagne pink cover, chic gold foil letters, a golden ring wire and a clean, easy-to-use layout - enjoy the gorgeous and modern minimalist design of the undated daily planner!
Do I need every documented UTM parameter?
No. Google’s stated recommendation for tagged URLs names source, medium, and campaign; additional fields serve particular reporting, creative, platform, or import needs.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →

