A UTM builder is a tool that adds campaign tags such as utm_source, utm_medium and utm_campaign to a landing page URL, so Google Analytics 4 can credit each visit to the right source, medium and campaign. Google's free Campaign URL Builder tags one link at a time, while spreadsheets and ad platforms tag at scale.
The tool you pick matters less than the values you type into it. GA4 sorts tagged traffic into channels with fixed rules, so a creative medium name can quietly move paid clicks into the wrong channel. This guide covers the parameters, the steps, the builder options and a naming convention that holds. It is part of our analytics, tracking and privacy hub.
What does a UTM builder do, and which parameters does it add?
A UTM builder takes a destination URL and a few campaign values and returns one tagged link with those values as query parameters. GA4 reads the parameters when the visitor lands and stores them as the session's source, medium and campaign. Without tags, GA4 relies only on the referrer, or counts the visit as Direct.
UTM parameters are query string tags that start with utm_ and describe where a click came from. Google's URL builder documentation lists nine of them:
- utm_source: the referrer, such as
google,newsletter4orbillboard. - utm_medium: the marketing medium, such as
cpc,banneroremail. - utm_campaign: the product, slogan or promo, such as
spring_sale. - utm_id: a campaign ID. Google says to use the same IDs you use when you upload campaign data.
- utm_term and utm_content: the paid keyword, and a value that separates creatives or links in one message.
- utm_source_platform: the platform that sends the traffic, for example Search Ads 360 or Display & Video 360.
- utm_creative_format and utm_marketing_tactic: creative type and targeting. Google states that GA4 does not report either one yet.
Google says you "should always use utm_source, utm_medium, and utm_campaign", and that missing tags show up as "(not set)" in reports.
How do you add UTM parameters to a URL with Google's Campaign URL Builder?
To add UTM parameters to a URL, open Google's free Campaign URL Builder, paste the landing page URL, fill in source, medium and a campaign name or ID, then copy the generated URL. The tool builds the query string for you, so you never have to type ampersands or question marks by hand.
The field labels below come from the tool's open source code on GitHub, as of October 2026.
- Paste the landing page. Enter the full address in "website URL", including
https://. The tool warns you if the URL is invalid or points to an app store. - Set the source. Type the referrer in "campaign source", for example
linkedinornewsletter. This field is required. - Set the medium. Type the channel in "campaign medium", for example
paid_socialoremail. This field is required too. - Name the campaign. Fill in "campaign name", "campaign ID" or both. The helper text says one of the two is required.
- Add detail only where it helps. Use "campaign content" to tell two links in one email apart.
- Copy the generated URL. Use the copy button next to "generated URL". Leave "Set campaign parameters in the fragment portion of the URL" unchecked, since the tool itself labels that option "not recommended".
Which UTM builder fits your team?
The right UTM builder depends on how many links you tag and how many people tag them. Google's Campaign URL Builder suits one person tagging a few links. A shared spreadsheet suits teams, because it can enforce a fixed list of values. Ad and email platforms suit recurring campaigns, because they can tag every link automatically.
| Option | Fits | Enforces a naming convention | Cost |
|---|---|---|---|
| Google Campaign URL Builder | One person, a handful of links | No, free text fields | Free |
| Shared spreadsheet template | Teams tagging many links by hand | Yes, with dropdowns and formulas | Free with Google Sheets or Excel |
| Builders inside ad platforms | Paid social, Microsoft Advertising | Partly, with dynamic values | Included in the platform |
| Builders inside email tools | Newsletters and automations | Partly, with default values | Included in the email tool |
| Dedicated link management tools | Agencies and large teams | Yes, with rules and approvals | Paid, prices vary by vendor |
Platform builders differ in what they fill in for you. Meta's URL tags accept dynamic values such as {{campaign.name}} and {{ad.name}}, but the name is a snapshot from when the ad was first published. Constant Contact can add utm_source=constant_contact once you switch on its UTM tracking toggle. For email, connect tagging to your email automation workflows so every automated message carries the same values.
How should you name UTM parameters so GA4 channels stay clean?
A clean UTM naming convention uses lowercase values from a fixed list, one source per platform and one medium per channel, chosen so each medium matches a GA4 default channel rule. GA4 assigns channels from those values, so the convention is what decides whether a click lands in Paid Social, Email or Unassigned.
Google's default channel group rules are fixed and "can't be edited".
| Traffic | utm_source | utm_medium | GA4 default channel |
|---|---|---|---|
| Paid LinkedIn or Meta ads | linkedin, facebook, instagram | paid_social or cpc | Paid Social |
| Organic social posts | linkedin, facebook | social | Organic Social |
| Newsletter and automations | newsletter, hubspot | email | |
| Partner or affiliate links | partner name | affiliate | Affiliates |
| Banner and programmatic | network name | display | Display |
| SMS messages | sms | sms | SMS |
Worked example, hypothetical. A team tags LinkedIn ads with utm_medium=social_paid. Paid Social requires a medium that matches ^(.*cp.*|ppc|retargeting|paid.*)$. The value social_paid contains no "cp" and does not start with "paid", so the clicks fall through to Organic Social. In the same account, utm_medium=newsletter misses the Email rule, which needs email, e-mail, e_mail or e mail as source or medium.
Channel rules ignore case, but reports do not. Google notes that utm_source=google differs from utm_source=Google, so mixed spellings split one source into several rows.
When should you skip UTM parameters?
Skip UTM parameters wherever another system already identifies the click, or where a tag would overwrite better data. The three main cases are Google Ads with auto-tagging, links between pages of your own site, and clicks from AI assistants and other platforms that add their own tags.
- Google Ads with auto-tagging. Auto-tagging adds a
gclidto each click and "is turned on by default for new accounts". GA4 gives it priority over manual tags, with no override option. Google's traffic-source documentation adds that only manualutm_contentandutm_termstill fill their own dimensions. For extra detail, use ValueTrack parameters such as{campaignid},{keyword}and{device}in the tracking template. Tracking setup is the first area a Google Ads audit should check. - Microsoft Advertising with UTM auto-tagging. PPC Land reported in June 2026, ahead of the planned September 2, 2026 start, that Microsoft Advertising's auto-tags would differ by campaign type, for example
msadswithcpmfor Audience ads. Do not stack your own tags on top. - Internal links. A tag on a homepage banner tells GA4 that a new campaign started and pushes the real source out of the attribution.
- AI assistant clicks. Assistants add their own tags. Read how Gemini referral traffic is tagged before you write rules around it.
How do you check that tagged links land in the right channel?
To check a tagged link, click it yourself, open the GA4 Realtime report, and confirm the source, medium and campaign appear as typed. Then check the "Traffic acquisition" report a day later and confirm the sessions sit in the intended default channel, not in Unassigned or Organic Social.
Four checks catch most errors:
- Test every template once. One test click per source and medium pair is enough.
- Read the right dimension. Google says UTM parameters are omitted from "Landing page + query string" and "Page path + query string". Look for the full tagged URL in "Page location".
- Watch Unassigned. A rising Unassigned channel almost always means new mediums that match no rule.
- Mind redirects. Short links and redirects must keep the query string intact, or the tags never reach the page.
GA4's attribution models can only credit the channels your tags put clicks in.
Common mistakes with UTM builders and naming conventions
Most UTM problems come from the people and processes around a UTM builder, not from the builder itself. The same few mistakes split one source into several rows, push paid clicks into organic channels or erase the real referrer, and each one has a fix that a shared value list or a platform setting can enforce.
- Typing values freehand. People spell sources differently. Fix it with dropdowns of approved values in a shared spreadsheet.
- Inventing mediums. Values like
social_paid,newsletterorinfluencermatch no GA4 channel rule or the wrong one. Map every medium to a channel before you use it. - Mixing case.
Facebookandfacebooksplit one source. Use lowercase everywhere. - Tagging Google Ads by hand. Auto-tagging already wins in GA4, so manual tags only add noise. Use ValueTrack for extra detail.
- Tagging internal links. Internal tags erase the real source. Track internal clicks as events.
- Relying on name macros after renames. Meta's name macros keep the name from first publish. Use ID macros such as
{{campaign.id}}when you rename campaigns often. - Expecting AI tags to stay stable. Search Engine Roundtable reported on October 14, 2026 that ChatGPT links lost their
utm_source=chatgpt.comtag, and updated the story when the tag came back after what was described as a bug. Background is in the ChatGPT referral traffic guide.
