1001Ferramentas
📊Utilities

UTM URL Builder

Add utm_source, utm_medium, utm_campaign, utm_term and utm_content to a URL. Ready for Google Analytics and GA4. Everything in your browser.

Create links with UTM parameters

To find out where a campaign's traffic comes from, you have to tag links with UTM parameters, and building them by hand, respecting the correct encoding, is tedious and full of traps. This generator adds those tags to any URL in an organised way.

The five standard parameters are covered (utm_source, utm_medium, utm_campaign, utm_term and utm_content), the ones Google Analytics and GA4 read to attribute each visit to the right source. Instead of typing the ? and the & by hand, you fill in the fields and walk away with the final URL ready for emails, ads and posts.

The build runs in the browser. And it's that consistent tagging that later lets you compare campaigns with confidence in your traffic report.

Frequently asked questions

Do I have to fill in all five UTM parameters?
No, only what you type ends up in the URL. The utm_source, utm_medium and utm_campaign fields carry an asterisk because Google Analytics recommends those three, but nothing is enforced here: leave utm_term and utm_content empty and they simply stay out of the final link. The fields open with a sample filled in (google, cpc, lancamento_2026) so the format is visible; clear them and write your own. Clear everything and the raw URL comes back, without even the question mark.
What happens if my URL already has a question mark?
The tool spots it and joins the parameters with "&" instead of "?". It looks for a question mark anywhere in the address; if one turns up, it assumes a query string exists and concatenates. What it will not do is tidy the URL: a fragment (#section), a stray space or a utm_source already present stay exactly as pasted, and the new tags land at the end, after the fragment, where Analytics cannot read them. Strip the fragment before pasting.
Do accents and spaces in the campaign name break the link?
No. Every value goes through encodeURIComponent before entering the URL, so a utm_campaign written as "café verão" turns into caf%C3%A9%20ver%C3%A3o and the link stays valid. Encoding applies to the parameter values only; the base address goes out exactly as typed, untouched. Even so, the usual habit is to keep UTM values lowercase and unaccented, since GA4 treats "Summer" and "summer" as different sources and splits the report into two rows.

Related Tools