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.

Source presets
Where traffic comes from: platform, site, newsletter
Traffic type — GA4 picks the channel from it
Campaign or promotion name
Keyword or audience (optional)
Ad variant or link placement (optional)
Campaign ID — used for cost data import in GA4 (optional)
The link is built in your browser — nothing is sent to our server.

Your campaign URL

Open Make a QR code
    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-networkutm_campaign contains cross-network—
      Paid Shoppingsource is a shopping site on Google’s list or utm_campaign contains shop/shopping; medium is the paid patternamazon / cpc
      Paid Searchsource is a search engine on Google’s list and medium matches ^(.*cp.*|ppc|retargeting|paid.*)$google / cpc
      Paid Socialsource is a social site on Google’s list, medium matches the same patternfacebook / paid_social
      Paid Videosource is a video site on Google’s list, medium is the paid patternyoutube / cpc
      Displaymedium is display, banner, expandable, interstitial or cpmpartner_site / banner
      Paid Othermedium is the paid pattern but the source is on none of the listsadnetwork / ppc
      Organic Shoppingsource is a shopping site on Google’s list or utm_campaign contains shop/shopping (medium not paid)etsy / product_feed
      Organic Socialsource is a social site on the list or medium is social, social-network, social-media, sm, social network, social mediatelegram / social
      Organic Videosource is a video site on the list or medium contains videoyoutube / video
      Organic Searchsource is a search engine on the list or medium = organicbing / organic
      Emailsource or medium = email, e-mail, e_mail, e mailnewsletter / email
      Referralmedium = referral, app or linkpartner_blog / referral
      Affiliatesmedium = affiliatecashback_site / affiliate
      Audiomedium = audiopodcast_name / audio
      SMSsource or medium = smspromo_sms / sms
      Mobile Push Notificationsmedium ends with push or contains mobile or notification, or source = firebaseapp / push
      Unassignedno rule matchedqr / offline

      Source: [GA4] Default channel group — Google Analytics Help

      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.

      All GA4 fields: utm_source, utm_medium, utm_campaign, utm_term, utm_content and utm_id
      Presets: Google Ads, Facebook, Instagram, TikTok, LinkedIn, Reddit, Telegram, email, QR code
      Checks for spaces, capitals, Cyrillic, repeated parameters, existing utm_ tags and tags after #
      GA4 channel prediction (Paid Social, Organic Social, Email, Referral…) from the Default channel group rules
      Bulk mode: list of URLs × utm_content variants, copy all or download CSV
      History of the last 20 copied links, kept only in your browser

      How to Use

      1. Paste the page URL and pick a platform preset or fill in utm_source and utm_medium yourself
      2. Add utm_campaign and, if needed, utm_term, utm_content and utm_id
      3. Review the warnings and the GA4 channel, then click “Copy”

      FAQ

      Technically utm_source is enough, but useful GA4 reports need three: utm_source (where), utm_medium (traffic type, which drives the channel) and utm_campaign (which campaign). utm_term and utm_content add detail; utm_id is used for cost data import.

      GA4 found no matching channel rule — usually because utm_medium is not one it recognises (e.g. newsletter instead of email, or facebook instead of paid_social). The tool shows the predicted channel for every link, so fix the medium before launch.

      They do not affect rankings, but a tagged URL is a separate URL to a search engine. If such links are published openly, add rel="canonical" pointing to the clean URL. Never tag internal links: they overwrite the real traffic source in your reports.

      Nowhere but your browser. The link is built by a script on the page, and the history of the last 20 copied links lives in localStorage — only you see it, and one button clears it.

      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:

      ParameterGA4 dimensionWhat to put in it
      utm_sourceSession sourceThe platform or sender: google, facebook, newsletter
      utm_mediumSession mediumThe traffic type: cpc, paid_social, email, social, referral
      utm_campaignSession campaignThe campaign or promotion: black_friday_2026
      utm_termSession manual termKeyword or audience
      utm_contentSession manual ad contentCreative variant or link placement: banner_a, header_link
      utm_idSession campaign IDCampaign 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 %20 or + 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 / mediumGA4 channelFix
      facebook / facebookOrganic Social — ads mixed with organic postsfacebook / paid_social or facebook / cpc
      facebook / social_paidOrganic Social: the pattern needs the medium to start with paidpaid_social
      mailchimp / newsletterUnassignedmailchimp / email
      partner_site / cpcPaid Other: the source is not on Google’s listsFine for ad networks; use display for banners
      flyer / qrUnassigned: there is no offline channelA custom channel group with a medium condition
      empty mediumAlmost always UnassignedAlways 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

      1. Click “Open” to load the link in a private window and check that the page loads and the address bar still contains utm_.
      2. In GA4, open the Realtime report or DebugView — your visit should appear within a minute.
      3. 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.

      Cascade link promotion for your site $30 bonusBacklinks 5→50→5000 across 100+ platforms. From $30 to start, plus a $30 bonus for newcomers.