UTM URL Builder
Create campaign links that distinguish traffic from ads, newsletters, and social posts. Existing queries and fragments are preserved, double encoding is prevented, and every input is handled only in your browser.
Generated URL
- utm_source
- —
- utm_medium
- —
- utm_campaign
- —
- Protocol
- —
- URL length
- —
How to build consistent UTM URLs
UTM parameters distinguish a campaign link's traffic source in analytics. Agree on source and medium naming rules as a team and keep spelling and letter case consistent to prevent reports from splitting into multiple entries.
How do I use the five UTM values?
Use utm_source for the origin, such as google or newsletter; utm_medium for the channel type, such as cpc, email, or social; and utm_campaign for the promotion name. utm_term is for a search term, while utm_content optionally distinguishes buttons or creatives within the same campaign.
Are existing queries and fragments preserved?
Yes. The standard URL API separates and preserves existing query parameters and the #fragment. Only the selected replace, preserve, or remove rule is applied to UTM parameters; other parameters are not deleted.
Can I enter an already encoded value?
Valid percent encoding is decoded once and safely placed back into the URL, preventing double encoding such as %2520. Invalid percent encoding or control characters produce an error.
Are my URL and campaign values sent to a server?
No. Building, normalization, and validation all run in the current browser memory. Inputs are not left in local storage, and analytics events record only valueless action states such as success or error.