Validate the signal
Test UTM Builder
Paste a URL and get a full set of test UTM links, one per channel. Click a test UTM to copy it, open it, submit the form and check every value reaches GA4 and the CRM.
Landing page
Generate test UTM links
Any existing parameters and the #fragment are kept. Old UTMs and click IDs are replaced.
Build one by hand
Skip the paste
Put the page in this tool's address and the links build on load:
firepixel.co.uk/tools/utm-builder?url=yoursite.com/contact Add UTMs to that page and the exact link is built first. Put count=20&ids=1& before url= for every channel with test click IDs.
Or drag this to your bookmarks bar and click it on any page: Test UTM this page
Your links
Test UTM links
One URL in, a channel mix out
Google Ads search comes first, then a random mix of paid social, Microsoft Ads, email, referral, affiliate and offline links.
How to test UTMs
Test your UTM tracking end to end in five minutes
- Generate test UTMs for the page with the form. Use the URL a real ad would land on, not the home page.
- Open one test UTM link in a private window. A clean browser means no old cookie or earlier session can claim the credit.
- Move to a second page, then submit the form. Most UTM capture breaks on the second page, when the parameters are no longer in the address bar.
- Check the lead, not just the analytics. The hidden fields, the notification email and the CRM record should all show the same source, medium and campaign.
- Repeat with paid social and email. Meta, LinkedIn and email links fail in different ways, and test click IDs show whether the gclid or fbclid survives too.
Questions
About test UTMs
What is a test UTM?
A test UTM is a link tagged with utm_source, utm_medium, utm_campaign and the other UTM parameters, used to check your tracking rather than to run a campaign. You open it, submit a form or buy something, then confirm GA4, your CRM and your ad platforms all recorded the same source.
How do I test that UTM parameters are working?
Generate a test UTM link for each channel you run, open one in a private window, then move to a second page and submit the form. Check that the hidden form fields hold the UTMs, that the lead in the CRM shows the same source and medium, and that GA4 Realtime shows the session under the right campaign. Repeat for a paid social and an email link, because those usually break in different places.
Can I build a test UTM straight from a URL?
Yes. Add the page to the address: firepixel.co.uk/tools/utm-builder?url=yoursite.com/contact generates the full set at once. Put UTMs on the page you pass in and that exact link is built at the top of the list. You can also drag the bookmarklet to your bookmarks bar and click it on any page.
Are the test click IDs real?
No. The gclid, gbraid, msclkid, fbclid, ttclid, li_fat_id and rdt_cid values are random strings in the right shape, so capture scripts, cookies and field length limits behave as they would on a real ad click. Google, Microsoft and Meta will not recognise them, so never upload them as offline conversions.
Will test UTMs pollute my GA4 data?
A few test sessions will appear under the campaigns you generate. Run tests from a device covered by your internal traffic filter, or use a test property, and delete test leads from the CRM afterwards so they do not reach your bidding signals.
Which UTM parameters does it add?
Every link gets utm_source, utm_medium, utm_campaign and utm_content. Search links also get utm_term, and paid channels get a utm_id. Sources and mediums follow the naming GA4 uses for its default channel groups, such as google / cpc, facebook / paid_social and newsletter / email.
Does it keep my existing query string?
Yes. Other parameters on your URL and the #fragment are kept. Any UTMs or click IDs already on it are replaced, so you never end up with two utm_source values in one link.
Is the test UTM builder free?
Yes, with no account and no limit. The links are built in your browser, so the URL you paste is never sent to Fire Pixel.
What this can and cannot tell you
Test links, not campaign tracking
The click IDs are random strings in the right shape, so capture scripts and hidden fields behave as they would on a real ad click. Google, Microsoft and Meta will not recognise them, so do not upload them as offline conversions. Use test UTMs to prove the capture path, then tag live campaigns with your own naming convention.
Turn the result into a working system
Are the UTMs reaching the CRM?
I can trace a test click from the landing page through consent, the form, the CRM and back to Google Ads, and show where the source gets lost.