
UTM parameters are short tags added to the end of a URL (utm_source, utm_medium, utm_campaign, utm_content, utm_term) that tell Google Analytics which site, channel and campaign sent each visit.
The guide below covers what each tag records and where it lands in Google Analytics 4, the newer fields such as utm_id and utm_source_platform, how GA4 turns your values into channels, a naming convention that survives a year of campaigns, examples by channel and the mistakes that break UTM tracking. If you only need to build a link right now, the UTM Builder does it in a few seconds.
What are UTM parameters?
UTM parameters are name-value pairs in a URL’s query string that describe where a click came from, so analytics tools can attribute the visit to a source, a channel and a campaign. Marketers also call them UTM codes or UTM tags, and they do not change the page the visitor sees.
What is UTM, exactly? The abbreviation stands for Urchin Tracking Module. Urchin was the web analytics company Google acquired in 2005 and turned into Google Analytics, and the utm_ prefix stayed. Today almost every analytics and CRM tool reads the same tags, so one well-tagged link works across your whole reporting stack.
A tagged link with a utm source, medium and campaign looks like this:
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026
The part after ? is the query string, and each & separates one parameter from the next. When someone clicks the link, Google Analytics 4 reads the values and reports the session as newsletter / email in the spring_sale_2026 campaign instead of “direct” or “unassigned”. The term has nothing to do with UTM map coordinates or Unified Threat Management firewalls; this article is about marketing links only.
Which UTM parameters exist and what GA4 does with them
Google Analytics 4 accepts nine UTM parameters: five classic tags that every analytics tool reads, plus four newer fields. The five classic ones carry almost all everyday reporting.
The 5 core tags
Five UTM parameters do the everyday work: three are required for a usable report (source, medium, campaign) and two are optional (content, term). Each one fills a specific dimension in Google Analytics 4.
| Parameter | What it answers | Required | GA4 dimension | Example value |
|---|---|---|---|---|
| utm_source | Which site, platform or sender? | Yes | Session source | google, facebook, newsletter |
| utm_medium | Which type of channel? | Yes | Session medium | cpc, paid_social, email |
| utm_campaign | Which campaign or promotion? | Yes | Session campaign | spring_sale_2026 |
| utm_content | Which ad, button or link inside the campaign? | No | Session manual ad content | header_button, video_15s |
| utm_term | Which paid keyword? | No | Session manual term | running_shoes |
Source and medium work as a pair. GA4 combines them into the Session source / medium dimension, for example facebook / paid_social, and uses both to decide the channel. A link with a source but no medium leaves a “(not set)” gap in the report, which is why Google asks you to always fill all three required tags.
utm_content is the most underused of the five. Use it for A/B tests and for any message with more than one link: two buttons in the same email, a 15-second and a 30-second version of the same video ad, or the bio link versus a story link on Instagram.
utm_id and the GA4-only fields
Google Analytics 4 accepts four more UTM parameters beyond the classic five: utm_id, utm_source_platform, utm_creative_format and utm_marketing_tactic. They are optional, and most small teams can ignore three of them.
- utm_id identifies the campaign with an ID. Its main job is to match sessions to cost data you import into GA4 from platforms that Google cannot pull automatically.
- utm_source_platform names the platform that directed the traffic, such as a buying platform, and fills the Source platform dimensions.
- utm_creative_format describes the creative type (display, native, video, search).
- utm_marketing_tactic describes the targeting (remarketing, prospecting).
Google’s own URL builder documentation states that utm_creative_format and utm_marketing_tactic are not currently reported in GA4 properties. Adding them costs nothing, but you will not see them in standard reports, so put that detail in utm_content if you need it today. The Ideluma UTM Builder leaves utm_id out on purpose and sticks to the five tags every analytics tool reads.
How GA4 turns UTM values into channels
Google Analytics 4 assigns every session to a default channel (Organic Social, Paid Search, Email and so on) by matching your utm_source and utm_medium values against fixed rules. Values that match no rule end up in Unassigned.
| Your source / medium | GA4 default channel | Why |
|---|---|---|
| google / cpc | Paid Search | Search engine source plus a paid medium |
| facebook / paid_social | Paid Social | Social source plus a medium starting with “paid” |
| instagram / social | Organic Social | Medium “social” |
| newsletter / email | Medium “email” | |
| partner_blog / referral | Referral | Medium “referral” |
| any / affiliate | Affiliates | Medium “affiliate” |
| qr / offline | Unassigned | No default rule matches “offline” |
The table explains why the medium value matters more than any other of your UTM parameters. “Email”, “e-mail” and “email” are three different mediums because GA4 is case sensitive, and a creative medium such as “newsletter_blast” fails every rule and lands in Unassigned. If you track offline media such as QR codes on print, create a custom channel group in GA4 so that traffic gets a channel of its own. The full rule list is in Google’s default channel group documentation.
How to set up UTM tracking for a campaign
Setting up UTM tracking takes six steps: agree on a channel list, write the naming rules down, build the links, prepare them for each format, test them and then read the results in GA4.
- List your channels and fix the medium values. Write down every channel you use and give each one a single utm_medium value: cpc, paid_social, social, email, referral, display, affiliate, offline. This list rarely changes.
- Write a naming convention. Decide the format of utm_campaign (for example, a topic plus the year: spring_sale_2026), the separator (underscore) and the case (lowercase only). Keep it in a shared sheet next to your brand guidelines.
- Build each link. Paste the landing page into the UTM Builder, pick a channel preset so source and medium match the list, and type the campaign name. Add utm_content when one message holds several links.
- Prepare the link for its format. Shorten long links for SMS or social posts after the tags are added, never before. For print, turn the tagged URL into a code with the QR Code Generator so scans stop appearing as direct traffic.
- Test the link before launch. Open it, confirm the page loads and the tags survive any redirect, then check Realtime in GA4 for your test visit with the right source and medium.
- Read the results. Open Reports, then Acquisition, then Traffic acquisition, and switch the primary dimension to Session source / medium or Session campaign. Compare sessions, engagement and key events per campaign.
UTM naming conventions that keep reports clean
A UTM naming convention is a short written rule set for UTM parameters that fixes how every value is spelled, so the same channel and campaign always appear as one row in Google Analytics 4. Without one, reports fragment within weeks.
- Lowercase everything. facebook, not Facebook. GA4 treats each spelling as a separate value.
- One separator. Underscore or dash, chosen once. spring_sale and spring-sale are two campaigns.
- Source = platform, medium = channel type. instagram / social, not social / instagram.
- Readable campaign names. black_friday_2026 still makes sense next year; promo3 does not.
- Keep the medium list short and closed. New values only for genuinely new channels.
- No personal data. Names, email addresses or customer IDs in UTM tags end up in reports and server logs.
A practical test for any convention: a colleague who joins next year should understand every campaign name in the report without asking. That same discipline helps when you map campaigns to the stages of a customer journey map.
UTM parameters examples by channel
The examples below use the same source and medium pairs as the presets in our tool and add utm_content or utm_term where they earn their place. Change the campaign names to your own.
- Google Ads search ad:
?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale_2026&utm_term=running_shoes. With auto-tagging on, the gclid parameter already passes click data to GA4, so manual tags here are a backup and must use google / cpc to match. - Meta ad, two creatives:
?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_sale_2026&utm_content=video_15sand the same link withutm_content=carousel. Paste the parameters into the URL parameters field of each ad. - Instagram bio link:
?utm_source=instagram&utm_medium=social&utm_campaign=bio_link. - Newsletter with two buttons:
?utm_source=newsletter&utm_medium=email&utm_campaign=april_issue&utm_content=header_buttonandutm_content=footer_linkfor the second one. - WhatsApp broadcast:
?utm_source=whatsapp&utm_medium=messenger&utm_campaign=restock_alert. - QR code on packaging:
?utm_source=qr&utm_medium=offline&utm_campaign=packaging_2026.
Telegram channels follow the same pattern as Instagram (telegram / social). For partner sites and guest posts, use the partner’s name as the source and referral as the medium.
Common mistakes with UTM parameters
Most broken UTM tracking comes from six mistakes, and each one is cheap to prevent once you know it: tags on internal links, mixed case, lost parameters after redirects, tags after the # anchor, conflicting Google Ads tagging and missing required fields.
- UTM tags on internal links. Internal links must never carry UTM parameters. A tagged banner on your own homepage makes GA4 start a new session with the banner as its source, so the real origin of the visit (the ad or the email) disappears. Track internal clicks with events instead.
- Mixed case and spaces. “Email” and “email” split one channel into two rows; a space becomes %20 and looks broken. Lowercase and underscores fix both.
- Redirects that drop the query string. If a tagged URL redirects to another address and the redirect does not pass the query string along, the tags never reach GA4. Test every tagged link that hits an old URL; 301 vs 302 redirects explains how redirects behave.
- Tags after the anchor. The query string must come before the fragment:
/page?utm_source=x#pricing, not/page#pricing?utm_source=x. - Fighting auto-tagging. In Google Ads, keep auto-tagging on and add manual tags only as a backup that uses google / cpc.
- Only one or two tags. A link with utm_campaign but no source or medium leaves “(not set)” in reports.
FAQ
What are UTM parameters in simple terms?
UTM parameters are labels attached to a link that tell your analytics tool where a visitor came from. They sit after the question mark in a URL, for example utm_source=newsletter, and Google Analytics 4 reads them when the page loads. The visitor sees the same page; only your reports change, showing the source, channel and campaign behind each visit.
Which UTM parameters are required?
Three tags are required for useful reports: utm_source, utm_medium and utm_campaign. Google Analytics 4 needs source and medium to assign a channel, and the campaign tag lets you compare campaigns inside one channel. utm_content and utm_term are optional and add detail about the specific ad, button or paid keyword that brought the click.
Are UTM parameters case sensitive?
Yes. Google’s documentation states that parameter values are case sensitive, so GA4 reports “Facebook”, “facebook” and “FACEBOOK” as three different sources. The fix is a rule, not a cleanup: write every value in lowercase and use a builder that converts letters automatically, so mistakes never reach the report in the first place.
Do UTM parameters affect SEO?
UTM parameters do not improve or hurt rankings directly, but tagged URLs can create duplicate addresses for the same page. Keep a canonical tag pointing to the clean URL on every page, and never use tagged links for internal navigation or in your sitemap. Search engines then index the clean address while analytics still receives the campaign data.
Should I use UTM tags on internal links?
No. A UTM-tagged link inside your own website makes Google Analytics 4 treat the click as a new campaign visit, which replaces the original source of the session and breaks attribution. Use UTM tags only on links that point to your site from outside, and measure clicks on internal banners or menus with GA4 events.
What is utm_id used for?
utm_id carries a campaign ID. In Google Analytics 4 its main use is matching sessions to cost data imported from advertising platforms that GA4 does not connect to automatically. Teams that do not import cost data can skip it; the five classic UTM parameters are enough for source, medium and campaign reports.
Where do I see UTM data in GA4?
UTM data appears in Reports, then Acquisition, then Traffic acquisition. Set the primary dimension to Session source / medium or Session campaign, and add Session manual ad content or Session manual term as a secondary dimension to see utm_content and utm_term. The same dimensions are available in Explorations and in Looker Studio.