UTM link builder and parser
Tag a campaign URL correctly the first time, with automatic lowercasing and separator rules so <em>Facebook</em> and <em>facebook</em> never end up as two rows in your report. Also works in reverse to decode a link someone sent you.
- No signup
- Runs in your browser
- Works offline
- Nothing is uploaded
- Free
UTM parameters are how analytics tools know where a visitor came from. They are just query string values appended to your URL, and their weakness is that nothing validates them: a typo, a capital letter or an underscore where the rest of the team used a dash creates a brand-new row in your reports, silently splitting one campaign into several.
This builder enforces the conventions as you type and warns about the specific mistakes that break reporting — a missing medium, a fragment that swallows your parameters, inconsistent capitalisation. The parser does the reverse, decoding a tagged URL so you can see exactly what it will record, including ad-platform click IDs.
How to use this tool
- Paste the destination URL — the page the visitor should land on, not your homepage.
- Fill in source, medium and campaign. These three are what your reports are built from; the other fields are optional.
- Use a preset for the common platforms to get the conventional source and medium values.
- Leave lowercase and dash conversion on unless you have an existing convention that says otherwise. Consistency matters more than the particular choice.
- Read the warnings. A missing medium or a URL fragment will quietly break your reporting.
- Copy the finished URL. To check a link you have been sent, paste it into the parser at the bottom.
Worked example
A newsletter link
Source newsletter, medium email, campaign autumn-sale, content header-button. Using a different content value for the header and footer links lets you see which placement people actually click, without creating two campaigns.
Finding out why one campaign appears twice
Your report shows Autumn Sale and autumn-sale as separate rows. Pasting both links into the parser shows one was tagged with capitals and a space. Lowercasing everything from now on prevents it recurring.
Common use cases
- Email newsletter and automation links
- Paid search and paid social campaigns
- Organic social posts you want to attribute properly
- Links in a PDF, presentation or printed QR code
- Affiliate and partner links you supply to someone else
- Auditing a link someone has sent you before it goes live
Common mistakes
- Inconsistent capitalisation — Analytics treats
Facebookandfacebookas two sources. Pick lowercase everywhere and never deviate. - Tagging internal links — Adding UTM parameters to links between your own pages restarts the session and overwrites the real acquisition source. Never tag internal navigation.
- Putting parameters after the fragment — Anything after
#may be ignored. Parameters belong before it. - Using medium as a second campaign name — Medium describes the channel type — email, cpc, paid_social, referral. Keep the specifics in the campaign and content fields.
Frequently asked questions
Which parameters are actually required?
Source, medium and campaign in practice. Without source and medium your traffic tends to land in direct or unassigned; without campaign you cannot compare one push against another. Term and content are optional and useful for paid keywords and A/B variants.
Do UTM parameters affect SEO?
They create additional URLs for the same content, which is why you should always set a canonical tag on the destination page. Never tag internal links, and never put UTM parameters in your sitemap.
Dashes or underscores?
Either works — consistency is what matters. Dashes are more common and read slightly better in reports. Pick one, write it down, and make the whole team follow it.
What is utm_id for?
It ties a click back to a specific campaign record in an ad platform or CRM, so cost data can be joined to sessions. Leave it empty unless something downstream asks for it.
Is the URL I enter sent anywhere?
No. Everything happens in the page, including the parser. Landing page URLs are often unreleased, so this keeps them private.
What are gclid and fbclid?
Click identifiers added automatically by Google and Meta for their own attribution. The parser shows them if present. You should not add them yourself.
Last updated 2026-09-26