Free tool
UTM builder: free campaign URL generator for GA4
A UTM link is your page address with utm_source, utm_medium and utm_campaign added, so Google Analytics 4 can tell which post, email or QR code sent each visit. Fill in the three required tags or start from a preset, and copy a clean, lowercase campaign URL with the GA4 channel it lands in.
Free forever plan · No credit card required · Cancel anytime
Build your campaign URL
The page people should land on. Existing query parameters and the #fragment are kept.
Start from a preset
A preset fills source, medium and content. The campaign name stays yours.
Where the visit comes from: instagram, newsletter, google.
The kind of channel: social, email, cpc, qr. GA4 files the visit by it.
The campaign, promotion or product, named the way your ad or email tool names it.
The paid keyword, for search ads.
Tells placements or creatives apart: bio, story, banner-a.
The ID you also use when importing campaign data into GA4.
Built in your browser. Nothing is sent; the last links you use stay in this browser only.
Your campaign URL appears here
Still needed: website URL, utm_source, utm_medium, utm_campaign.
Last updated:
What each UTM parameter means
UTM parameters are plain query-string tags that GA4 reads when a visit starts. Google asks for three on every tagged link and treats the rest as optional.
| Parameter | Required | What it records | Example |
|---|---|---|---|
utm_source | Yes | The site, app or publication that sent the visit. | instagram, newsletter, google |
utm_medium | Yes | The type of channel. GA4’s default channel group reads it to decide the Channel column. | social, email, cpc |
utm_campaign | Yes | The campaign, promotion or product. | black-friday-2026 |
utm_id | Recommended | A campaign ID, matched against campaign data you import into GA4. | bf2026 |
utm_term | Optional | The paid search keyword. | crm software |
utm_content | Optional | Which creative or placement was clicked. | story, banner-a |
GA4 also defines utm_source_platform, utm_creative_format and utm_marketing_tactic; Google notes the last two are not currently reported in Analytics.
UTM naming rules that keep reports clean
Most broken UTM reports are spelling problems, not tracking problems. Six rules prevent nearly all of them.
- Lowercase everything. GA4 treats utm_source=google and utm_source=Google as two different values, and Google recommends lowercase as standard practice.
- Use hyphens for spaces. "social media" and "social-media" are both on GA4’s Organic Social list, but social_media is not, which is why the builder repairs spaces with hyphens.
- One source per platform: instagram, never ig in one link and Instagram.com in the next. Google’s own best practices ask for one utm_source per platform and one utm_medium per channel.
- Name the campaign exactly as the ad platform or email tool names it, so the two can be matched later.
- Use utm_content for the placement or creative (bio, story, banner-a) instead of inventing new sources.
- Write the convention down where the whole team sees it. Five people tagging from memory produce five spellings.
How GA4 sorts utm_medium into channels
GA4’s default channel group fills the Channel column in Traffic acquisition, mostly from utm_medium. Google publishes the rules; these are the ones that matter for hand-made tags. Channel rules ignore case, but the Session medium report still shows Email and email as two rows.
| utm_medium | GA4 default channel | Note |
|---|---|---|
email, e-mail, e_mail, e mail | utm_source=email counts too. | |
social, social-network, social-media, sm, social network, social media | Organic Social | A source GA4 knows as a social site counts too, whatever the medium. |
cpc, ppc, retargeting, anything starting with paid or containing cp | Paid Search, Paid Social, Paid Video or Paid Shopping | Decided by the source (a known search, social, video or shopping site) or a campaign name with shop in it; otherwise Paid Other. |
display, banner, expandable, interstitial, cpm | Display | |
referral, app, link | Referral | |
organic | Organic Search | Visits from a known search engine count too. |
affiliate | Affiliates | |
sms | SMS | utm_source=sms counts too. |
audio | Audio | |
anything ending in push, or containing mobile or notification | Mobile Push Notifications | |
anything containing video | Organic Video | Unless the medium is also a paid one. |
anything else, such as qr, print, chat or messaging | Unassigned | Unless GA4 recognises the source. Read these visits in the Session source / medium report. |
Two campaign-name rules can win over the medium: a name that contains cross-network is filed under Cross-network, and a name with shop or shopping in it can land in a Shopping channel.
Sources, checked November 5, 2026 (Google Analytics Help): [GA4] Default channel group, URL builders and traffic-source dimensions, manual tagging and auto-tagging.
Common UTM mistakes
- Tagging links between your own pages. When a URL carries UTM parameters, GA4 takes the traffic source from them, so an internal tag overwrites where the visitor really came from. Tag only links that live outside your site.
- Leaving out one of the three. Google recommends always setting utm_source, utm_medium and utm_campaign; a missing one shows up as (not set).
- Inventing a medium. qr, chat or messaging are fine for your own filters, but the default channel group files them under Unassigned unless GA4 knows the source.
- Mixing capitals. Email and email land in the same channel, because channel rules ignore case, yet they split every source and medium report in two.
- Putting tags after the #. Everything after # is a fragment, not part of the query string that analytics reads. The builder always inserts the tags before it.
- Hand-tagging Google Ads that use auto-tagging. GA4 uses the auto-tagged values when the gclid works and falls back to UTM parameters only when it cannot use it.
Sharing the tagged page in a chat? Wrap it in a Telegram share link, or send people to a conversation instead with the WhatsApp link generator and the Instagram DM link generator.
See the visitor behind the tag
GA4 tells you which campaign sent a visit, in aggregate and after the fact. Pinlyx shows the person: its live visitors view lists who is on your site right now, page by page, with their UTM source and ad click, and analytics and reporting break conversations and conversions down by channel.
- Live visitors with UTM and ad-click attribution are on Pro ($24.99 a month) and Business.
- Advanced analytics and reporting are on Business ($99 a month).
- The Free plan is a Telegram inbox and CRM, for the conversations your Telegram links start.
Frequently asked questions
Related tools and pages
Telegram link generator
t.me links for profiles, groups, channels and bots, plus share links for a tagged page.
WhatsApp link generator
A wa.me link and QR code that opens a WhatsApp chat with your message typed.
Instagram DM link generator
An ig.me link that opens a direct-message chat, with a QR code for print.
Live visitors
Who is on your site right now, with UTM source and ad-click attribution.
Analytics and reporting
Conversations, conversions and response times broken down by channel.
Live visitors tracking guide
Install the cookieless tracker and capture UTM attribution step by step.
Ready to ship
Follow the click into the conversation
Pinlyx turns the people your campaigns bring in into contacts with their whole conversation. Start free with one Telegram account; Pro ($24.99 a month) adds live visitor tracking with UTM attribution, plus Instagram, WhatsApp and X.