How to use this tool
- Enter the destination URL and campaign values.
- Enter the destination and required source, medium and campaign name. Add term, content or campaign ID when useful; optionally lowercase campaign values.
- Valid input updates after a brief typing pause. You can also use the main action button. Resolve errors before copying or downloading.
- Clear input keeps the conversion settings; Undo input change restores the previous inputs after clear or reverse. Reset restores the example and default settings.
Understanding the output
The builder sets one value for each entered UTM field, replacing existing values with the same name. Empty optional term or content fields remove those tags from the supplied URL. Other parameters and the fragment remain, although URL serialization may normalize their encoding.
Inspect the resulting query entries with the URL Parser when checking that existing parameters were preserved.
A newsletter link
Using https://example.com/article with source newsletter, medium email, and campaign autumn-guide produces a URL containing utm_source=newsletter, utm_medium=email, and utm_campaign=autumn-guide. Source Newsletter, medium Email, campaign Sale and ID A1 with lowercase enabled become utm_source=newsletter, utm_medium=email, utm_campaign=sale and utm_id=a1.
Use a consistent campaign naming convention
Tracking becomes difficult when one team uses email, another uses Email, and a third uses e-mail for the same medium. Choose a shared spelling and case convention before building links. This tool preserves your entered case rather than guessing which names your analytics system should treat as equivalent.
Source usually identifies the referrer or distribution source, medium identifies the channel, and campaign identifies the initiative. Optional content can distinguish creative versions or placements, while term is often used for a campaign keyword. Follow the definitions used by your own analytics setup.
Keep private information out of campaign URLs
A URL can appear in browser history, logs, messages, and analytics reports. Use campaign labels rather than personal details or secrets in UTM values. The builder only constructs a link; it does not install analytics or guarantee that a destination records the tags. Check the receiving system and test a sample visit before relying on a campaign report.
Method and supported input
The destination is parsed with the URL API and UTM values are set through URLSearchParams. Existing same-name UTM entries are replaced, and blank optional fields are removed.
Campaign ID maps to utm_id. Lowercase applies only to the entered campaign values, not the destination path, unrelated query values or fragment. Blank optional campaign fields remove their existing tags.
- The destination accepts ordinary query parameters.
Limitations
- This tool does not shorten links or verify analytics collection.
- Changing query parameters on a signed URL can invalidate its signature.
Common questions
Will this erase a product ID already in the URL?
No. Unrelated query parameters remain, although their serialized encoding can be normalized.
Does generating a link start tracking visitors?
No. The destination needs an appropriate analytics implementation to interpret the campaign parameters.
Should I percent-encode campaign values before entering them?
No. Enter the readable value, such as summer sale. The builder encodes query values for you; pre-encoding spaces as %20 would encode the percent sign again.
Sources and further reading
Reviewed on