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.

Base URL and handling

Enter a complete HTTP or HTTPS address. For security, addresses containing a username or password are rejected.

Replace removes only existing UTM parameters and inserts new values. Preserve keeps existing UTM values and fills only missing ones. Remove deletes UTM parameters while leaving other queries and the fragment intact.

Privacy: URLs and campaign values are not stored or sent to servers or analytics events. The result moves to the clipboard only when you copy it.

Campaign values

Enter the three required values and optional fields, or start with a common preset.

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.