Developer Tools

UTM Builder

Add campaign attribution parameters to a destination URL without manually assembling ampersands and percent escapes. Source, medium, and campaign are required for a consistent naming set; ID, term, and content are optional. The result remains a URL you can copy or export.

Free online tool

Loading tool…

Campaign attribution

Tagged destination

ParameterValue after decoding
utm_sourcenewsletter
utm_mediumemail
utm_campaignspring_launch
utm_idlaunch_2026
utm_contenthero_button

Existing non-UTM parameters and the fragment are retained. These six UTM parameters are replaced; leaving an optional field blank removes its existing value. Other UTM parameters are left alone.

Use consistent lowercase naming if that matches your reporting convention; values are case-sensitive and are not silently changed. Enter raw text such as “spring sale,” not pre-encoded text. Never put passwords, tokens, email addresses, or other personal data in campaign URLs. The destination is not contacted.

The tool does not shorten URLs, make a redirect, or contact the destination. Generated links are not stored or put into this page’s URL.

GET STARTED

How to use the UTM Builder

  1. 01

    Paste an absolute HTTP or HTTPS destination, including any query parameters or fragment you want to keep.

  2. 02

    Enter raw campaign values, using a consistent case and naming convention across your team.

  3. 03

    Review the decoded parameter table and generated URL, then copy or download it for the intended campaign.

Examples

An email launch

Use source newsletter, medium email, and campaign spring_launch. Set content hero_button to distinguish the main call to action from a footer link.

Keep a product filter

A destination containing ?category=herbs keeps that non-UTM filter. The new utm_source and other managed parameters are added beside it.

Encode only once

Enter spring sale as plain text. The URL serializer handles the space. Entering spring%20sale would describe a literal percent sequence and encode that percent again.

Replacement rules are explicit

The builder manages utm_source, utm_medium, utm_campaign, utm_id, utm_term, and utm_content. Existing copies of these keys are removed before new values are set. An empty optional value removes that key; unrelated query parameters and the URL fragment remain. Other UTM keys are left untouched.

Consistent values make reports easier to interpret

Capitalization is preserved, so Newsletter and newsletter can become distinct campaign values. Agree on a naming scheme before sending links. A medium describes a channel such as email, while content can distinguish two links in the same message.

A link does not install analytics

The builder creates a tagged URL, not a tracking integration. Attribution still depends on the destination’s measurement setup, consent configuration, redirects, and reporting rules. A destination that strips query parameters may lose the campaign values before analytics reads them.

What to know

  • Six supported UTM fields. The destination is not fetched or checked for measurement compatibility. Each campaign value is capped at 200 characters.

Common questions

Can I use UTMs for links within my own site?

Campaign parameters are normally used on incoming campaign links. Adding them to internal navigation can confuse campaign interpretation; follow the measurement design for your analytics system.

Why did the query formatting change?

The standard URL serializer can normalize query encoding, including representing spaces as plus signs. The decoded parameter values are what the review table shows.

Can campaign values contain personal details?

Avoid that. URLs can appear in browsing history, logs, referrers, and analytics. Use non-personal campaign labels, never passwords or access tokens.

Sources & references