UTM Builder
Paste a page URL, pick a platform or fill in utm_source, utm_medium and utm_campaign — the tagged link is built as you type. The tool checks for mistakes (case, spaces, Cyrillic, existing tags, # fragments) and shows which GA4 channel the traffic will land in.
Bulk mode: several URLs or utm_content variants
source, medium, campaign, term and id come from the form above. Every URL is combined with every utm_content variant. An empty URL list uses the URL from the form; an empty variant list uses utm_content from the form.
Recent links
How GA4 maps UTM traffic to channels
GA4 Default channel group rules as documented by Google. They are checked top to bottom and the first match wins, which is why paid channels come before organic ones. Matching is case-insensitive. Google maintains the site lists (social, search, video, shopping) itself; the tool uses part of them for its prediction.
| Channel | Condition | Example source / medium |
|---|---|---|
| Cross-network | utm_campaign contains cross-network | — |
| Paid Shopping | source is a shopping site on Google’s list or utm_campaign contains shop/shopping; medium is the paid pattern | amazon / cpc |
| Paid Search | source is a search engine on Google’s list and medium matches ^(.*cp.*|ppc|retargeting|paid.*)$ | google / cpc |
| Paid Social | source is a social site on Google’s list, medium matches the same pattern | facebook / paid_social |
| Paid Video | source is a video site on Google’s list, medium is the paid pattern | youtube / cpc |
| Display | medium is display, banner, expandable, interstitial or cpm | partner_site / banner |
| Paid Other | medium is the paid pattern but the source is on none of the lists | adnetwork / ppc |
| Organic Shopping | source is a shopping site on Google’s list or utm_campaign contains shop/shopping (medium not paid) | etsy / product_feed |
| Organic Social | source is a social site on the list or medium is social, social-network, social-media, sm, social network, social media | telegram / social |
| Organic Video | source is a video site on the list or medium contains video | youtube / video |
| Organic Search | source is a search engine on the list or medium = organic | bing / organic |
| source or medium = email, e-mail, e_mail, e mail | newsletter / email | |
| Referral | medium = referral, app or link | partner_blog / referral |
| Affiliates | medium = affiliate | cashback_site / affiliate |
| Audio | medium = audio | podcast_name / audio |
| SMS | source or medium = sms | promo_sms / sms |
| Mobile Push Notifications | medium ends with push or contains mobile or notification, or source = firebase | app / push |
| Unassigned | no rule matched | qr / offline |
Free UTM Builder for GA4 Campaign URLs
This UTM builder adds utm_source, utm_medium, utm_campaign, utm_term, utm_content and utm_id to any page URL so Google Analytics 4 and other analytics tools can tell where a visitor came from. Presets fill in source and medium for Google Ads, Facebook, Instagram, TikTok, LinkedIn, Reddit, Telegram, email newsletters and QR codes, and the built-in checks catch common mistakes before a campaign goes live. Next to the finished link you see the GA4 channel the traffic will be assigned to. It runs in your browser, free and without sign-up.
How to Use
- Paste the page URL and pick a platform preset or fill in utm_source and utm_medium yourself
- Add utm_campaign and, if needed, utm_term, utm_content and utm_id
- Review the warnings and the GA4 channel, then click “Copy”
FAQ
UTM builder basics: what a campaign URL is made of
UTM parameters are plain query-string parameters at the end of a URL. The website ignores them; your analytics tag reads them when the visit starts and stores them with the session. A link from this campaign URL builder looks like this:
https://example.com/sale?utm_source=facebook&utm_medium=paid_social&utm_campaign=black_friday_2026&utm_content=video_15s
In GA4 each parameter fills its own dimension, which you then use in the Traffic acquisition report and in explorations:
| Parameter | GA4 dimension | What to put in it |
|---|---|---|
utm_source | Session source | The platform or sender: google, facebook, newsletter |
utm_medium | Session medium | The traffic type: cpc, paid_social, email, social, referral |
utm_campaign | Session campaign | The campaign or promotion: black_friday_2026 |
utm_term | Session manual term | Keyword or audience |
utm_content | Session manual ad content | Creative variant or link placement: banner_a, header_link |
utm_id | Session campaign ID | Campaign ID — the join key for cost data import in GA4 |
GA4 also reads utm_source_platform, utm_creative_format and utm_marketing_tactic. The builder does not add them; if you need them, append them to the finished link with &.
UTM naming conventions that keep reports clean
UTM values in GA4 reports are case- and spelling-sensitive: Facebook, facebook and fb are three separate rows, and you will have to add them up by hand. Agree on a convention before the first campaign and keep it in a shared sheet:
- Lowercase only. In the builder this is the “Convert to lowercase” option, on by default.
- No spaces. A space becomes
%20or+in the link; use underscores:spring_sale. - Plain ASCII. Accented and non-Latin characters are percent-encoded into long
%C3%A9…sequences that break easily when links are pasted around. - A fixed list of utm_medium values. Medium decides the GA4 channel, so keep the set short:
cpc,paid_social,social,email,referral,display,affiliate. - A pattern for utm_campaign. For example
topic_market_period:bf_us_2026_11. Campaigns then sort and filter without cleanup.
When one campaign spans dozens of ads or landing pages, use bulk mode: put the URLs and the utm_content variants one per line, and the builder produces every combination plus a CSV for your media plan.
Why traffic lands in the wrong GA4 channel
GA4 derives the channel (Paid Social, Email, Referral and so on) from the Default channel group rules. The rules are evaluated in order and depend mostly on utm_medium and on whether utm_source is on Google’s lists of social, search and video sites. A medium counts as paid when it matches ^(.*cp.*|ppc|retargeting|paid.*)$. Common mistakes:
| source / medium | GA4 channel | Fix |
|---|---|---|
facebook / facebook | Organic Social — ads mixed with organic posts | facebook / paid_social or facebook / cpc |
facebook / social_paid | Organic Social: the pattern needs the medium to start with paid | paid_social |
mailchimp / newsletter | Unassigned | mailchimp / email |
partner_site / cpc | Paid Other: the source is not on Google’s lists | Fine for ad networks; use display for banners |
flyer / qr | Unassigned: there is no offline channel | A custom channel group with a medium condition |
| empty medium | Almost always Unassigned | Always fill in utm_medium |
The builder predicts the channel for every link. Google’s site lists are longer than the subset built into the tool, so for unusual sources with a paid medium the prediction carries a caveat.
Google Ads: auto-tagging instead of UTMs
When Google Ads is linked to GA4 and auto-tagging is on, a gclid is added to every click and GA4 takes source, medium and campaign from it by default. Manual UTMs in Google Ads are only needed if auto-tagging is off or another analytics tool needs the data.
Meta Ads, TikTok and other ad platforms
In Meta Ads, paste the tags into the “URL parameters” field; {{campaign.name}}, {{adset.name}} and {{ad.name}} insert the campaign, ad set and ad names automatically. Type the curly braces in the ad platform itself — this builder would encode them like any other character. For TikTok, LinkedIn and Reddit, use the same paid_social medium so all paid social traffic sits in one channel.
Where not to use UTM parameters
- Internal links. A tagged banner in your own header overwrites the real source of the visit: a visitor from organic search turns into an “internal campaign”. Track internal clicks with events instead.
- URLs behind a redirect that drops the query string. Some servers and link shorteners lose parameters on 301/302. Run the finished link through the redirect checker and make sure the tags reach the final URL.
- Public links without a canonical. To a search engine a tagged URL is a separate URL. If tagged links spread across forums and social networks, the page should carry
rel="canonical"pointing to the clean URL. - After the # sign. Browsers never send the fragment to the server and GA4 does not read tags from it. The builder places tags before the fragment and warns you if the URL already contains
#…?….
Reading UTM data in GA4
The Traffic acquisition report opens with Session default channel group — the channel — as its primary dimension. Switch it to Session source / medium to see the actual tag values, and add Session campaign as a secondary dimension to see which campaign drove sessions and key events. Keep two families of dimensions apart:
- Session … — the source of the current session. Use it to judge a specific email or ad.
- First user … (the User acquisition report) — the source of the user’s very first visit. Use it to see which channel brings in new audiences.
To compare ad variants, open Explore → Free form, put Session manual ad content in rows and sessions plus key events in values. This is where tidy utm_content values pay off: video_15s and video_30s compare cleanly, while Video 15 sec and video15 do not.
Remember that tagged links get forwarded: if a subscriber drops your link into a team chat, their colleagues’ visits are counted under that newsletter too. Use separate links for each ad and email rather than one link for everything.
How to test a tagged link
- Click “Open” to load the link in a private window and check that the page loads and the address bar still contains
utm_. - In GA4, open the Realtime report or DebugView — your visit should appear within a minute.
- The next day, check Traffic acquisition with Session source / medium and Session campaign. Standard reports can take 24–48 hours to process.
For print and packaging, build the tagged link first and then turn it into an image with the QR code generator, so offline visits show up separately. To decode a link that is already percent-encoded, use the URL encoder/decoder. More on the tags themselves: UTM tags in our glossary; the channel rules are documented in Google Analytics Help.
Improve search rankings
SEO problems may be costing you traffic. Cascade link building will improve site visibility in search.