Free UTM builder for GA4 campaign links
Add UTM parameters to any URL, see which GA4 channel the visit will land in, and fix what would put it in Unassigned. Then shorten it if you like. No account needed.
Runs in your browser; shortening sends the link to SendURL.
Build a campaign URL
The page people land on. https:// is added if you leave it out.
The offer or campaign. Lower case with hyphens reads best in reports.
Edit UTM fields
Where the click comes from: the site, app or sender.
The type of channel. GA4 uses it to pick the channel group.
The paid keyword, for search ads.
Which link or creative was clicked, when one campaign has several.
Advanced (GA4)
Your campaign's ID. GA4 reports it as Manual campaign ID.
The platform directing the traffic. GA4 reports it as Manual source platform.
For example display, native, video or search. GA4 accepts it but doesn't report it yet.
For example remarketing or prospecting. GA4 accepts it but doesn't report it yet.
Tagged URL
Shortening needs a website URL, where you'll share it, and a campaign name.
Rules checked against Google's GA4 help on
The parameters in brief
GA4 reads nine campaign parameters. Set utm_source, utm_medium and utm_campaign on every link; Google says to "always use" those three (URL builders). utm_term and utm_content are optional, and the four under Advanced (GA4) are extras, two of which GA4 accepts but doesn't report yet. Each fills a manual traffic-source dimension such as Manual source or Manual campaign ID (Google's dimension list).
What each parameter is for, the dimension it fills and 25 tagged examples by channel are in the UTM parameters guide. The rules behind the presets are in the UTM naming convention.
Which GA4 channel your utm_medium lands in
GA4 sorts every visit into a default channel by its source, medium and campaign. These are Google's default channel rules, simplified. "Channel definitions aren't case sensitive"; the source lists come from Google's GA4 source categories file. The builder above checks your values against the full rules. If your visits already sit in Unassigned, why GA4 puts UTM traffic in Unassigned goes through the causes and the fixes.
| utm_medium | GA4 channel | Rule |
|---|---|---|
| social, social-network, social-media, sm | Organic Social | Medium is one of these, or the source is on Google's social list (instagram, facebook, tiktok, linkedin, whatsapp…) |
| cpc, ppc, paid-social, retargeting (anything matching ^(.*cp.*|ppc|retargeting|paid.*)$) | Paid Shopping, Paid Search, Paid Social, Paid Video or Paid Other | Paid medium; the source's list (or a shop campaign name) decides which. Not on any list: Paid Other |
| display, banner, expandable, interstitial, cpm | Display | Medium is one of these. cpm also fits the paid pattern, so with a listed source it is paid: facebook + cpm shows as Paid Social, the rule Google lists first |
| email, e-mail, e_mail, e mail | Source or medium is one of these | |
| sms | SMS | Source or medium is exactly sms |
| affiliate | Affiliates | Medium is exactly affiliate |
| referral, app, link | Referral | Medium is one of these |
| organic | Organic Search | Medium is exactly organic, or the source is a search engine on Google's list |
| video, or anything containing video | Organic Video | Medium contains video, or the source is on Google's video list (youtube, vimeo…) |
| audio | Audio | Medium is exactly audio |
| push, or anything containing mobile or notification | Mobile Push Notifications | Medium ends with push or contains mobile or notification |
| qr, print, story, bio, newsletter, offline… | Unassigned | No rule matches, unless the source is on one of Google's lists |
x, insta and threads are not on Google's social list, so pair them with utm_medium=social. If Google Ads auto-tagging is on, GA4 uses the auto-tagged values over yours.
UTM examples you can copy
Instagram bio link
GA4: Organic Social
https://example.com/autumn-sale?utm_source=instagram&utm_medium=social&utm_campaign=2026-10-autumn-sale&utm_content=bio-link
Newsletter button
GA4: Email
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=2026-10-product-update&utm_content=header-button
Paid Facebook ad
GA4: Paid Social
https://example.com/autumn-sale?utm_source=facebook&utm_medium=paid-social&utm_campaign=2026-10-autumn-sale&utm_content=carousel-1
UTMs and short links
Put the UTMs on the destination, then shorten that. A SendURL short link answers with an HTTP 302 to the URL you stored, query string included, so the visitor arrives tagged and GA4 reads the campaign. Anything added to the short link itself (snu.to/abc12?utm_source=x) is not forwarded.
Before you share it, check the UTMs survive the redirect: the redirect checker names any hop that drops them. Tagging a whole list? Use the bulk UTM builder, which runs the same checks on every row.
SendURL doesn't read UTM parameters. It counts clicks on the short link, with the time, country, device and referrer of each, and counts QR scans apart from clicks, which helps when GA4 files print traffic as Unassigned.
Frequently asked questions
How do I create a UTM link?
Enter the page's URL, pick where you'll share it (that fills utm_source and utm_medium) and type a campaign name: Google says to always use those three. The tagged URL appears as you type; copy it, or shorten it first.
Is Google's Campaign URL Builder the same as a UTM builder?
Yes. Both add utm_ parameters to a URL, and the same values give the same tagged link. This one also shows which GA4 channel the visit lands in, flags values that would put it in Unassigned, and can shorten the result without an account.
Does the UTM builder send my URL anywhere?
The tagged URL, the GA4 channel and the checks are worked out in your browser, and the page's address doesn't change as you type. Shorten with SendURL sends the tagged URL to SendURL's API to create the short link, and the site's page-view analytics record a visit to /tools/utm-builder with the query string removed.
How does the builder know which GA4 channel a link lands in?
It applies Google's default channel group rules to your source, medium and campaign, with Google's lists of social, search, shopping and video sites (the file dated 9 February 2023). Your property can differ: a custom channel group changes the result, and with Google Ads auto-tagging on, GA4 uses the auto-tagged values over yours. When two rules match and Google doesn't say which wins, the builder names both.
Can I add UTM parameters to a short link?
No. A query string added to a snu.to short link is not forwarded, so snu.to/abc12?utm_source=x arrives without the tag. Tag the destination URL, then shorten that. The builder warns you if you paste a snu.to link.
Do UTM parameters still work behind a short link?
Yes, when they are in the destination: a SendURL short link redirects (HTTP 302) to the stored URL with its query string, so the visitor lands on the tagged URL.
Read next
- UTM parameters: GA4 rules, examples and templates, with 25 tagged examples by channel.
- A UTM naming convention that GA4 understands: the rules these presets follow.
- Why GA4 puts your UTM traffic in Unassigned: the causes, in the order to check them.
- UTM parameters and short links: when to use which.
Sources: Google Analytics Help, URL builders, traffic-source dimensions, default channel group, sessions and campaigns and auto-tagging; Google's GA4 source categories (file of 9 Feb 2023). All checked 15 October 2026.