UTM Builder (Campaign URL Builder)
Fill in source, medium and campaign to get a correctly encoded campaign link for GA4. The builder keeps your existing parameters and #fragment, replaces old utm_ values instead of duplicating them, and warns about the naming mistakes that split your reports. Everything happens on this page; nothing you type is sent anywhere.
This session’s links
How to use
- Paste the page you want to send people to into Website URL. A bare domain such as example.com gets https:// added.
- Pick a preset (Newsletter, Facebook post, LinkedIn ad …) or type utm_source and utm_medium yourself, then name the campaign.
- Add utm_term, utm_content or utm_id if you need to tell keywords, ad variants or campaign IDs apart.
- Read the checks: capital letters, spaces and unrecognised mediums are flagged, along with the GA4 channel the link will most likely land in.
- Copy the campaign URL or open it in a new tab to test it. To edit an existing link, paste it into Parse a tagged URL.
Examples
https://example.com/pricing?plan=pro#faq
newsletter / email / spring sale
https://example.com/pricing?plan=pro&utm_source=newsletter&utm_medium=email&utm_campaign=spring%20sale#faq
Supported formats
- Any absolute http:// or https:// URL, including ones that already have a query string, a #fragment, a port or an international domain name.
- Parameters: utm_source, utm_medium, utm_campaign, utm_id, utm_term, utm_content and the GA4 additions utm_source_platform, utm_creative_format and utm_marketing_tactic.
Privacy
This tool runs entirely in your browser. Nothing you enter or open is sent anywhere. Privacy policy.
Limitations
- The channel hint copies GA4's default channel group rules, but GA4 decides “social”, “search” and “video” sources from its own long list of sites. Only well-known names are recognised here, so treat the hint as a guide.
- International domains are written in punycode (xn--…) in the output. It is the same address, but it looks different from what you typed.
- The history of links you copied is kept in memory only, so it is lost when you close or reload the page — by design.
- It does not shorten links or check that the page exists; open the link to test it.
FAQ
Which UTM parameters do I actually need?
Use utm_source (who sent the visit, e.g. newsletter), utm_medium (the type of channel, e.g. email) and utm_campaign (the campaign name) on every link. GA4 uses source and medium to choose the channel, and the campaign name to group the results. utm_term, utm_content and utm_id are optional.
Why does capitalisation matter?
GA4 treats utm values as case-sensitive text, so “Facebook” and “facebook” appear as two different sources in your reports. Agree on one style, usually all lowercase, and use the same spelling every time.
Should I add UTM parameters to links inside my own site?
No. A UTM-tagged link starts a new attributed session in GA4, so internal links with UTMs overwrite where the visitor really came from. Tag only links that live outside your site, such as emails, ads, social posts and printed QR codes.
Do I need UTMs for Google Ads?
Usually not. Google Ads auto-tagging adds a gclid parameter that links your Ads and GA4 accounts and gives more detail than manual tags. Use manual UTMs for Google Ads only if auto-tagging is turned off or another analytics tool needs them.