Append standardized UTM parameters to any URL for GA4 — auto-lowercased, one consistent separator, no more Facebook vs facebook. Built in your browser.
The landing page the link points to. No https://? We add it. Existing ?params and #fragments are preserved.
WHO sent the traffic — the platform or referrer. This is the field most prone to the Facebook/facebook/FB split.
HOW it arrived. This drives GA4's channel grouping — pick from the list to avoid (Other)/Unassigned. Note: organic is non-standard for paid links — GA4 identifies organic search by the source (e.g. google), not a medium value.
The specific campaign or promotion. Groups all of a campaign's links together in reports.
Paid-search keyword.
A/B creative variant.
Only for GA4 cost-data / Data Import. Most users leave this blank.
GA4 is case-sensitive. Lowercase is the core fix.
Replaces spaces. Pick one, apply everywhere.
This free UTM link builder appends standardized campaign parameters (utm_source,
utm_medium, utm_campaign and the optional utm_term, utm_content,
utm_id) to any destination URL so Google Analytics 4 can attribute the click correctly.
Its whole reason to exist is consistency: it auto-lowercases every value and substitutes a single word separator, so
Facebook, facebook, and FB stop fragmenting one campaign into three report rows. Everything
runs in your browser — nothing you type is sent anywhere or stored.
You enter the destination https://shop.com/pool-care, source Facebook, medium
paid_social, campaign Summer Sale 2026, with lowercase style and the
hyphen separator. The tool trims, lowercases, swaps spaces for hyphens, and percent-encodes each value,
producing:
https://shop.com/pool-care?utm_source=facebook&utm_medium=paid_social&utm_campaign=summer-sale-2026
The breakdown shows utm_source = facebook, utm_medium = paid_social,
utm_campaign = summer-sale-2026; the channel preview reports Paid Social; and the
standardization note records Facebook → facebook (lowercased) and Summer Sale 2026 →
summer-sale-2026 (spaces → hyphen).
GA4 sorts traffic into a Default Channel Grouping using fixed regex rules that "aren't case sensitive and can't be edited." The medium drives most of them:
email|e-mail|e_mail|e mail^(.*cp.*|ppc|retargeting|paid.*)$ (so cpc, ppc, paid_social, cpm qualify)social|social-network|social-media|smaffiliate · Display ← display|banner|expandable|interstitial|cpm · Referral ← referralChannel assignment also weighs whether the source matches Google's internal Search/Social/Shopping source lists, so the preview here is a best-effort indication of the medium rule, not a guarantee of final GA4 attribution.
utm_source=Facebook, =facebook, and =FB are three distinct sources. Lowercase-everything is the single highest-impact rule.utm_* keys are lowercase by convention; only the values are normalized.newsletter or Facebook fall into (Other)/Unassigned — use email for newsletters, social/paid_social for Facebook.%20) and non-ASCII.Embeddable in one line — copy the ready-made snippet from the box below.
They are tags appended to a URL so GA4 can attribute a visit to a campaign. GA4 values are case-sensitive, so Facebook, facebook, and FB are three sources — splitting one campaign across three rows. Forcing lowercase with one separator is the core fix this tool applies.
Three: utm_source (who), utm_medium (how), utm_campaign (which). utm_term, utm_content, and utm_id are optional and only added when filled.
Source is WHO sent the traffic (facebook, newsletter); medium is HOW it arrived (cpc, email, social). Swapping them breaks channel grouping. Medium should come from the recognized vocabulary.
GA4 assigns channels via fixed regex on utm_medium. A free-typed medium like "newsletter" matches nothing. Use email for newsletters and social/paid_social for Facebook. The channel preview flags this before you ship.
Non-UTM params (gclid, ref) are kept and joined with "&", never a second "?". Existing utm_ keys are overwritten, not duplicated. A #fragment is split off and re-attached at the very end.
No — tagging links between your own pages starts a new GA4 session and corrupts source/medium attribution. Only tag links that bring people to your site from outside.
Built locally in your browser. Nothing you type — URLs, campaign names, sources — is ever sent, logged, or stored.