Free tool
UTM checker: fix your links before GA4 sees them
Paste your tagged links, one per line. The UTM checker validates each one and shows what GA4 will get wrong, and how to fix it. Free, with no account.
Already in GA4? See what it split
Choose your GA4 export, or paste the table, and see which sources, mediums and campaigns GA4 is counting more than once because they were typed differently. The file is read in your browser and never uploaded.
How to export it from GA4
- Open Reports → Acquisition → Traffic acquisition.
- Change the table’s first column to Session source / medium, and pick a date range, such as the last 90 days.
- Click Share this report → Download file → Download CSV, then choose that file below.
Copying the table works too, but only copies the rows on screen, so raise Rows per page first. To check campaigns as well, add Session campaign as a secondary dimension.
Check the links on any page, in one click
The free Chrome extension runs the same check on every tagged link on the page you’re on, and outlines the problem links on the page itself. No account, and nothing leaves your browser.
What it checks
Every rule is one GA4 applies to every property, whatever your naming convention.
-
Capital letters
GA4 counts “Facebook” and “facebook” as two sources. Platform macros such as __CAMPAIGN_NAME__ are left alone.
-
The same value in two cases
Across the links you paste, “Email” in one and “email” in another split one source into two.
-
Spaces
A space arrives as “+” or “%20” depending on who built the link, so one value becomes two.
-
Missing source, medium or campaign
Without both utm_source and utm_medium, GA4 ignores the tag. Without utm_campaign, the campaign can’t be told apart.
-
Tags after the #
GA4 doesn’t read anything after the #, so tags placed there are lost.
-
Parameter names
UTM_Source isn’t utm_source. A parameter written twice is flagged too, since which one counts can’t be relied on.
-
Broken platform macros
A macro whose { } braces were URL-encoded is never filled in, and the literal text reaches GA4.
-
Length
Several ad platforms cap a URL at 2,048 characters and cut it off past that without saying so.
Questions
Do I need an account?
Do you keep the links I check?
Does it know my agency’s naming rules?
Can it check the data already in GA4?
It says “Too many checks for now”.
Fix links before they ship, not after.
Start a free trial, no card needed. Your team signs in with an email link, no passwords.