UTM link checker
Paste your tracking links and check them all at once, before they go live. It catches the small mistakes that split your reports in GA4: capital letters, spaces, missing tags, two spellings of the same source, and campaign names that break your naming convention. Works with links from any ad platform.
Free, no signup. Everything runs in your browser: nothing you paste is sent to us. Your convention is saved only in this browser. We only count which buttons get used, with no cookies.
Welcome back.
What we catch
Pick one to see it caught in a real link.
1 Set your naming pattern
Your names are built from parts, like Brand, Platform and Geo. Tick the parts you want and use the arrows to put them in order. You only do this once: this browser remembers it.
Campaign name
Ad set name
Who sees the ad and where. Paste it into the ad set name (Google calls it the ad group).
Ad name
What the ad shows. Paste it into the ad name.
Your names will look like this Updates as you change the parts above
Campaign
Ad set
Ad
Which macros go in your links
Each platform in your campaigns is listed below with the usual choice already set, so you can skip this. Change one only if your reports need something else, or pick None to leave that tag out.
Saved in this browser only. Export it as a small file to use on another computer or share with your team, then load that file there with Import. Import only reads files exported from this tool.
2 Add your campaigns
Add one row for each campaign. Fill in the parts you chose in step 1 and the page people should land on. You don't write the campaign name yourself: step 3 puts the parts together for you. When you choose a platform, the source and medium fill in by themselves. Cells with a small arrow have a list of common choices: click the cell to see it, or type your own.
Paste your sheet as it is. Your columns can be in any order and have your own header names: we match them by name, and you check the match before anything is added.
Copy rows from Excel or Google Sheets, with your header row if you have one, and paste them here.
No sheet yet? (optional) with the columns from step 1.
3 Copy your names and links
Made from your rows in step 2, and updated as you type. Paste each name into your ad platform's campaign name, and each link into the ad's website address.
Already have links? Check them for mistakes before launch.
Check your links4 Check links you already have
Paste tracking links, one per line, from an ad platform export, a sheet or a brief. Tags on their own (like utm_source=facebook&utm_medium=paid_social from Meta's URL parameters field) work too. They are checked against your naming convention, and Macros for Meta, Google, Microsoft Ads, TikTok, DV360 and CM360 are checked by name for the platform in utm_source. Nothing is saved or sent anywhere.
The fixed list only makes safe changes: lowercase, spaces turned into _, restored macro braces and exact duplicate tags removed. Anything else is left for you to decide.
Coming next: the pre-flight checker for Meta and Google
Upload your Ads Manager or Google Ads export, tell it what you meant, and it flags what launched wrong: wrong geo, an extra zero on the budget, a missing end date, the wrong creative. Your file stays in your browser.
What the checker looks for
- Missing utm_source, utm_medium or utm_campaign, and tags left blank.
- Capital letters, so
Facebookandfacebookdo not split your reports. - Different spellings of the same thing, like
paid_social,paid-socialandpaidsocial, orfbandfacebook. - Spaces and characters that are not encoded for a link.
- The same tag twice, a second
?in the link, or tags placed after a#where analytics cannot see them. - Campaign names that do not match your convention: wrong number of parts, empty parts or the wrong separator.
- Macros with the wrong braces, a misspelt name or the wrong platform, for Meta, Google, Microsoft Ads, TikTok, DV360 and CM360. The Trade Desk's macros are kept exactly as typed and marked for a quick look, because its list is not public.
Need new links instead?
The campaign naming and UTM builder makes names and links in bulk from the same convention, so they pass this check the first time.
Running Google Ads?
Read tracking template vs final URL suffix: where UTM tags go in Google Ads, with a suffix you can copy.
FAQ
Questions, answered
Why UTM links break, how to test them before launch, and what this checker looks for.
Still stuck? Email hello@weekendproof.com
Are UTM parameters case sensitive?
Yes, the values are. Google Analytics 4 reports utm_source=Facebook and utm_source=facebook as two different sources, so one campaign shows up split across two rows. Old data cannot be merged afterwards. Use lowercase for every value; the link checker flags capital letters and can fix them for you.
How do I test UTM parameters before a campaign goes live?
Paste your links above, one per line, and press Check links. Each link is marked Ready, Fixed, Needs a look or Action needed, with the reason. It checks missing or empty tags, capital letters, spaces, duplicate tags, tags after a #, different spellings of the same source or medium, and campaign names that break your naming convention.
Why are my UTM parameters not showing in GA4?
The most common causes are tags placed after a # in the link, a second ? in the link, a missing utm_source or utm_medium, and a redirect that drops the query string. The first three are caught by pasting the link into this checker. A redirect has to be tested by opening the link and checking the address that loads.
Does it work for TikTok, LinkedIn and other ad platforms?
Yes. The checks on tags, capital letters, spaces and spellings work on links from any ad platform, email or social post. Macros are checked by name for Meta, Google, Microsoft Ads, TikTok, DV360 and Campaign Manager 360, against each platform's own help pages, and a macro from the wrong platform is flagged. LinkedIn's dynamic parameters, like {{AD_NAME}}, are checked for capitals and for the names LinkedIn retired in October 2025. The Trade Desk's macros, like %%TTD_CREATIVEID%%, are kept exactly as typed and marked for a quick look, because its list is behind a login.
Can it check links against my naming convention?
Yes. Set your convention once in step 2, and every utm_campaign is checked for the right number of parts, empty parts and the right separator. The convention is saved in this browser and shared with the campaign naming builder.
Which Meta ads URL parameters can fill in names automatically?
Meta Ads Manager fills in eight dynamic parameters at click time: {{campaign.id}}, {{campaign.name}}, {{adset.id}}, {{adset.name}}, {{ad.id}}, {{ad.name}}, {{placement}} and {{site_source_name}}, plus {{media_type}} for Advantage+ catalog ads. They need double curly braces and the exact spelling. The link check flags single braces and misspelt names, which Meta would not fill in.
Does my data leave my browser?
No. Names, links and your naming convention are built and checked in your browser and saved only in this browser. We count which buttons get used, with no cookies and nothing you type.
Is it free?
Yes, with no signup and no limit on links.