Free tool
UTM Builder
A UTM link is a label stuck on your URL: GA4 reads it to know where each visit comes from. Fill in the fields, and the tool writes the link and tells you which GA4 channel will file it, before you send it.
A UTM link is a URL with added parameters (utm_source, utm_medium, utm_campaign) that tell Google Analytics where a visit comes from. GA4 then files each visit in a channel, such as Paid Social or Email, mainly from its source and medium. Google publishes these rules, and this builder applies them to your link.
Fill in the URL, source and medium: your link appears here.
-
GA4 default channel group, based on the rules and the list of 819 sources Google publishes (read on 28 September 2026).
How GA4 reads your link
https://yoursite.com/page?utm_source=facebook&utm_medium=paid_social&utm_campaign=winter-sale
GA4 reads your link the way a sorting center reads the label on a parcel: it looks at the source and the medium, runs its rules in order and files the visit in the first channel that matches. A label no rule recognizes ends up in the lost and found, which GA4 calls Unassigned.
The medium decides almost everything. A medium that contains “cp”, starts with “paid”, or equals “ppc” or “retargeting” is paid in GA4’s eyes. The source then tells which family it belongs to, based on a list of 819 sources kept by Google: social network, search engine, video or shopping. With facebook and paid_social, the visit goes to Paid Social; with the same source and the medium social, it goes to Organic Social.
Reading that list, I found a trap: Google’s own guide suggests “insta” for Instagram, but “insta” is not on the list. An Instagram ad tagged insta and paid_social therefore lands in Paid Other instead of Paid Social. That is why this tool works out the channel before you send the link.
The settings, platform by platform
- Meta Ads: facebook, paid_social, the exact campaign name, and its ID in utm_id. I set them when I create the ad.
- ChatGPT Ads: chatgpt and cpc, the convention I use. “chatgpt” is on none of Google’s lists, so GA4 files these visits in Paid Other, apart from Google and Meta.
- Google Ads: nothing to write. Auto-tagging, the GCLID, passes the campaign on to GA4 once both accounts are linked.
- Newsletter: the medium email is enough to file the visit in Email, whatever the source. The name of the send goes in utm_campaign.
Clean links, but GA4 reports still unclear?
Visits in Unassigned, conversions credited to the wrong campaign: that is exactly what I untangle when I take over the tracking of an account.
See Clearly In GA4

