Build UTM-tagged URLs with validated parameters for analytics. Fully client-side — no account, uploads, or remote storage.
Added Apr 26, 2026
Input
Result
Enter a value for destination url to see your result.
Builds a properly URL-encoded campaign tracking link by appending Google Analytics UTM parameters (utm_source, utm_medium, utm_campaign, plus optional term/content/id) to any destination URL.
tagged_url = base_url + (already_has_query ? '&' : '?') + URLSearchParams(utm_*)
All three required UTM parameters present, no existing query string on the destination, no optional fields used.
Inputs
Result
Spaces become underscores, values get lower-cased, the existing ref=blog query is preserved and the #anchor stays at the end of the URL.
Inputs
Result
utm_source, utm_medium, and utm_campaign are required by Google Analytics for a campaign to register correctly. utm_term, utm_content, and utm_id are optional and used for paid keywords, A/B variants, and joining offline campaign metadata.
Use lowercase consistently. UTM values are case-sensitive in GA4 — `Email` and `email` would show up as separate sources. The 'Lowercase' switch in this tool helps enforce that.
No. UTM parameters are query string parameters and do not affect a page's content. To avoid duplicate-content concerns from search engines, set rel=canonical on the destination URL pointing to the un-tagged version.