The UTM grader checks a UTM-tagged link you already have β one you're about to publish, or one that's already live in an email, ad, or social post β and grades it for the mistakes that quietly break campaign tracking. Paste the full URL, and the tool parses every utm_ parameter, checks whether the two required ones are present, flags inconsistent capitalization, catches unencoded spaces and special characters, and hands back a letter grade from A to F along with a plain-English list of exactly what to fix.
This is a validator, not a builder β if you need to construct a brand-new tagged link from scratch, use our UTM builder instead, which generates a clean URL for you field by field. The grader exists for the links you already have, to catch problems before they fragment your analytics reports.
What the UTM Grader Checks
Every UTM parameter is just a string, and Google Analytics and every major ad and email platform treat those strings literally β which means a single typo, an extra capital letter, or an unencoded space silently creates a brand-new, separate traffic source in your reports rather than triggering an error. The grader runs five checks on the URL you paste:
- Required parameters. Confirms utm_source and utm_medium are both present β these are the only two truly required parameters for GA4 and most analytics platforms to categorize a visit correctly.
- Recommended parameters. Flags whether utm_campaign, utm_content, and utm_term are missing, since skipping them loses valuable segmentation even though they aren't strictly mandatory.
- Case consistency. Detects capital letters inside parameter values, the single most common UTM mistake, because "Facebook" and "facebook" are two different sources to an analytics platform even though they mean the same thing to a human.
- Spaces and unencoded characters. Flags raw spaces or special characters that should be URL-encoded (a space should be %20 or a plus sign, not a literal space breaking the URL).
- Naming-convention warnings. Looks for underscores mixed with hyphens, mixed separators, or overly long values that suggest an inconsistent naming pattern across your campaigns.
How to Use the UTM Grader
- Paste the full URL. Copy the entire link including everything after the question mark β the tool needs the complete query string to parse each utm_ parameter correctly.
- Click Grade This Link. The tool parses the URL client-side in your browser; nothing is sent anywhere or stored.
- Read the grade and detail panel. The big letter grade gives you the headline verdict; the detail panel below spells out every specific issue found, parameter by parameter.
- Fix and re-paste. Correct the flagged issues in your original link (lowercase the values, replace spaces with hyphens, add any missing required parameter) and re-grade until you land on an A.
- Need a clean link from scratch instead? Use the UTM builder to construct one field by field so these mistakes never happen in the first place.
How the Grade Is Calculated
The grader starts every link at a perfect score and deducts points for each issue found: a missing required parameter (utm_source or utm_medium) is the heaviest deduction, since without both, Google Analytics 4's campaign reporting can't reliably categorize the traffic at all. Missing recommended parameters, capitalization inconsistencies, and unencoded characters each cost smaller, weighted amounts. The remaining score maps to a letter grade β A for a clean, fully-tagged link with no issues, down to F for a link missing one or both required parameters. The issue count shown alongside the grade is a simple tally of every individual problem found, so you can see at a glance whether you're fixing one small thing or several.
The #1 UTM Mistake: Case Sensitivity
UTM parameters are case-sensitive strings, full stop β Google Analytics does not normalize "Facebook," "FACEBOOK," and "facebook" into one source. Each variant shows up as its own distinct row in your Acquisition reports, silently splitting what should be a single channel's traffic and conversions into two, three, or more fragments. This is the single most common UTM error, and it's almost always invisible until months later, when someone tries to answer "how much revenue did Facebook drive us this quarter?" and the honest answer is scattered across four differently-capitalized rows that nobody thought to merge.
The fix isn't a clever workaround β it's discipline. Every UTM value in every link your team publishes should be lowercase, every time, with no exceptions for "just this one campaign." Building that habit into whatever process generates your links (a spreadsheet template, a builder tool, a shared naming doc) is worth far more than trying to clean up mixed-case data after the fact in GA4's reporting, which is painful and often incomplete.
Spaces, Special Characters, and Why Encoding Matters
A raw space inside a UTM value β like utm_campaign=Summer Sale instead of utm_campaign=summer-sale β is technically invalid in a URL and gets encoded inconsistently depending on where the link is clicked from: some platforms encode it as %20, others as a plus sign, and some email or social apps mangle the link entirely, breaking the click. The safe, universal convention is to never use raw spaces in a UTM value at all β replace them with hyphens (summer-sale, not summer_sale or "summer sale") so the link is clean and unambiguous everywhere it's clicked, on every device and every app.
The same logic applies to other special characters: ampersands, question marks, and other reserved URL characters inside a parameter value need proper percent-encoding or they'll be misread as part of the URL's structure rather than as data, potentially breaking the entire link or truncating the parameter silently.
Building a Naming Convention That Actually Sticks
Individually, none of these mistakes look serious β one campaign with mixed case, one link with a stray space. The damage compounds because dozens of people across marketing, sales, and agencies typically create tagged links independently over time, and without an enforced convention, every person invents their own small variation. A naming convention that actually holds up needs to be simple enough that nobody skips it:
- Always lowercase, with zero exceptions, for every UTM value across every channel and every team member.
- Hyphens, not spaces or underscores, as the word separator inside multi-word values β pick one and enforce it everywhere.
- A shared source list (facebook, google, newsletter, linkedin) that everyone references instead of freehand-typing the source name each time, so "ig" and "instagram" don't end up as two different sources.
- A campaign naming pattern like {quarter}-{campaign-name}, e.g. q3-summer-sale, so campaigns sort logically and stay comparable across time periods.
- A single source of truth β a shared UTM builder or spreadsheet the whole team uses, rather than everyone hand-typing parameters from memory.
Google's own guidance on campaign tracking in GA4 recommends exactly this kind of consistent, documented tagging convention, precisely because inconsistent UTMs are one of the most common causes of unreliable channel reporting that analysts encounter.
Required vs. Optional UTM Parameters
Five standard UTM parameters exist, but they aren't equally mandatory:
- utm_source (required) β identifies where the traffic came from: google, facebook, newsletter.
- utm_medium (required) β identifies the marketing medium: cpc, social, email, referral.
- utm_campaign (strongly recommended) β identifies the specific campaign or promotion: spring-sale, product-launch.
- utm_content (optional) β differentiates similar content or links within the same ad or campaign, useful for A/B testing two ad creatives or two links in the same email.
- utm_term (optional, mostly for paid search) β identifies paid search keywords, largely legacy now that most platforms auto-tag keyword data.
utm_source and utm_medium are genuinely the only two parameters analytics platforms require to bucket a visit into a channel correctly β everything else adds valuable detail but isn't strictly necessary for basic channel reporting to work.
Arb Digital sets up the tracking, naming conventions, and reporting dashboards behind every campaign we run β so channel data stays trustworthy instead of quietly fragmenting across a dozen slightly different UTM values.
Explore Our Services Build a Clean UTM LinkCommon Mistakes to Avoid
- Mixing capitalization across campaigns. "Newsletter" this month and "newsletter" next month silently splits one channel into two in every report.
- Leaving utm_campaign off "just this once." It's the parameter most often skipped, and it's the one that makes campaign-level comparison possible later.
- Typing spaces instead of hyphens. Spaces get encoded inconsistently across platforms and sometimes break the link outright.
- Not having a shared source list. Without one, "fb," "facebook," and "Facebook Ads" all become separate sources over time.
- Never auditing old links. Grading links only at creation misses mistakes already live in old emails, ads, and social posts still driving traffic today.
Related Free Tools From Arb Digital
Already have a clean link and want to build a new one from scratch? Use the UTM builder. Once your campaigns are tagged correctly, size up what that traffic is worth with the traffic value calculator, or model the impact of a better click-through rate with the CTR improvement calculator. If you're also tightening up ad copy, check character limits with the Google Ads character counter or the Facebook Ads character counter. Browse the full free online tools hub for more.
Frequently Asked Questions
A UTM grader is a tool that checks an existing UTM-tagged URL for common tracking mistakes β missing required parameters, inconsistent capitalization, and unencoded spaces or special characters β and returns a letter grade with a detailed issue list.
A UTM builder helps you construct a brand-new tagged link field by field. A UTM grader checks a link you already have β one you're about to publish or one that's already live β and flags mistakes in it. Use the builder to create; use the grader to validate.
Yes. Google Analytics and most platforms treat "Facebook" and "facebook" as two entirely separate traffic sources. This case-sensitivity trap is the single most common UTM mistake and silently fragments campaign data.
Only utm_source and utm_medium are truly required for analytics platforms to categorize traffic into a channel. utm_campaign is strongly recommended, and utm_content and utm_term are optional but useful for deeper segmentation.
Use hyphens. Raw spaces are invalid in URLs and get encoded inconsistently across platforms, sometimes breaking the link. A consistent hyphenated, all-lowercase convention (e.g. summer-sale) is the safest standard.
Yes, completely free with no sign-up. The URL is parsed entirely in your browser and nothing you paste is stored or transmitted anywhere.