UTM parameters are short tags you add to the end of a URL so Google Analytics and other tools can tell which source, medium and campaign sent each visitor. A link like ?utm_source=instagram&utm_medium=paid_social&utm_campaign=diwali_sale_2026 turns an anonymous click into a row in your campaign report.
Get them right and you can compare every channel on cost per lead or sale. Get them wrong and your paid social traffic lands in “Unassigned” or splits across five spellings of the same source. This guide covers all nine parameters GA4 recognises, a naming convention you can copy, the mistakes that break reports, and where the data shows up in GA4.
Key takeaways
- The five standard UTM parameters are utm_source, utm_medium, utm_campaign, utm_term and utm_content. Google says to always use the first three.
- GA4 also accepts utm_id, utm_source_platform, utm_creative_format and utm_marketing_tactic. Google currently says the last two are not reported in GA4.
- Values are case sensitive: “Instagram” and “instagram” become two rows. Use lowercase everywhere.
- Your utm_medium value decides which GA4 default channel a visit lands in. “paid_social” works for Paid Social; “social_paid” does not.
- Never tag internal links, and never put emails, phone numbers or names in a UTM.
What are UTM parameters?
UTM parameters are key and value pairs added after a question mark in a URL, such as utm_source=newsletter. They do not change the page the visitor sees. Analytics tools read them when the page loads and store them as traffic source dimensions, so every visit and conversion can be credited to the campaign, channel and creative that produced it.
UTM stands for Urchin Tracking Module, from the analytics company Google bought and turned into Google Analytics. The format has survived because it is simple and platform-neutral: any analytics tool, CRM or link shortener can read it.
Here is a tagged URL broken into its parts:
https://example.com/offer?utm_source=facebook&utm_medium=paid_social&utm_campaign=2026-10_diwali_sale&utm_content=reel_15s_v2
- ? starts the query string. If the URL already has a question mark, add UTMs with & instead.
- & separates each parameter.
- Each parameter is a name=value pair. Use no spaces; if you must, they become %20.
What are the 5 standard UTM parameters?
The five standard UTM parameters are utm_source (where the traffic came from), utm_medium (the marketing channel type), utm_campaign (the specific campaign or promotion), utm_term (the paid keyword or audience) and utm_content (the creative or link variant). Google recommends always using source, medium and campaign; term and content are optional but useful.
Google’s GA4 URL builder help page lists what each parameter is for. The table adds the question each one answers and the GA4 session dimension it fills.
| Parameter | Answers | Example values | Required? | GA4 session dimension |
|---|---|---|---|---|
| utm_source | Which site, platform or sender? | google, facebook, instagram, newsletter, whatsapp | Yes | Session source |
| utm_medium | What type of channel? | cpc, paid_social, email, display, affiliate | Yes | Session medium |
| utm_campaign | Which campaign or promotion? | 2026-10_diwali_sale, suv_launch_q4 | Yes | Session campaign |
| utm_term | Which keyword or audience? | running+shoes, lookalike_1pc | Optional | Session manual term |
| utm_content | Which creative or link? | reel_15s_v2, header_button, carousel_a | Optional | Session manual ad content |
Missing parameters show as “(not set)” in reports, so a link with only utm_campaign will not tell you where the click came from.
Which newer UTM parameters does GA4 support?
GA4 recognises four extra parameters: utm_id (campaign ID), utm_source_platform (the buying platform, such as Display and Video 360), utm_creative_format (such as video or native) and utm_marketing_tactic (such as prospecting or remarketing). Google currently states that utm_creative_format and utm_marketing_tactic are not reported in GA4 properties, so do not rely on them yet.
| Parameter | What it is for | Example | Reported in GA4 today? |
|---|---|---|---|
| utm_id | Campaign ID; ties a link to cost data or a campaign record | dv_4821, fb_120210 | Yes (campaign ID dimensions) |
| utm_source_platform | Platform that directed the traffic | dv360, sa360, meta_ads | Yes (manual source platform) |
| utm_creative_format | Type of creative | video, display, native, search | No, per Google’s help page |
| utm_marketing_tactic | Targeting criteria | prospecting, remarketing | No, per Google’s help page |
The reporting status comes from Google’s traffic-source dimensions help page, which lists manual dimensions for each parameter and notes that the creative format and marketing tactic parameters are not currently reported. You can still add them for other tools that read the full URL, such as your CRM or data warehouse.
Use utm_id if you import cost data from non-Google platforms. Google’s cost import joins on source, medium and date, and describes campaign ID as optional but highly recommended.
How do you build a UTM link step by step?
Start with the exact landing page URL, add utm_source, utm_medium and utm_campaign in lowercase using your naming convention, add utm_content for each creative, then test the link and check it appears in GA4 Realtime. Record every link in a shared sheet so the whole team reuses the same values instead of inventing new ones.
- Copy the final landing page URL, after any redirects, and check it loads.
- Pick source and medium from your approved list (see the taxonomy table below).
- Write the campaign name using your fixed pattern, for example
yyyy-mm_campaign_market. - Add utm_content to separate creatives or placements.
- Generate the link with a builder so the separators and encoding are correct.
- Test it: click it, then open GA4 Realtime and confirm the source and campaign appear.
- Log it in your tracking sheet with date, owner and channel.
Build your links in seconds. The free TechMachaw UTM campaign builder adds the parameters, forces lowercase, handles encoding and gives you a clean link to copy. No sign-up needed.
Worked example: one festive campaign, six links
Example: a D2C skincare brand runs “Diwali Glow 2026” in October 2026 with an $8,000 budget. Every link goes to example.com/diwali. Here are the values:
| Placement | utm_source | utm_medium | utm_campaign | utm_content |
|---|---|---|---|---|
| Instagram Reels ad | paid_social | 2026-10_diwali-glow_in | reel_15s_v1 | |
| Facebook feed ad | paid_social | 2026-10_diwali-glow_in | carousel_a | |
| Google Demand Gen | cpc | 2026-10_diwali-glow_in | dg_video_20s | |
| Email newsletter | newsletter | 2026-10_diwali-glow_in | hero_button | |
| WhatsApp broadcast | sms | 2026-10_diwali-glow_in | broadcast_1 | |
| Creator partnership | creator-name | affiliate | 2026-10_diwali-glow_in | story_link |
At the end of the month you filter GA4 by one campaign name and see every channel side by side. Say Instagram drove 180 purchases on $3,600 spend (CPA $20) and Facebook drove 60 on $1,800 (CPA $30). You now have a clear case for moving budget. Our guide to CPM, CPC, CPA, CPL and CPV shows the formulas.
Note: Google Ads auto-tagging is usually the better choice for Google Ads clicks. The Google row above is only needed if auto-tagging is off.
What naming convention should you use for UTMs?
Use lowercase only, one separator style (underscores or hyphens, not both), no spaces, and a fixed list of approved source and medium values. Build campaign names from the same ordered parts every time, such as date, campaign, market. Write the rules down, share them, and use a builder that enforces them.
- Lowercase everything. Google’s help page states parameter values are case sensitive.
- One separator. Pick underscore or hyphen for words and keep it.
- Medium is a channel type, source is a platform. Never put “facebook” in medium or “email” in source.
- Match GA4 channel rules. Use medium values that GA4’s default channel groups recognise (next section).
- Fixed campaign pattern. Date first sorts campaigns in time order.
- No personal data. Google’s guidance on avoiding PII says URL parameters, including all five UTM parameters, must be free of personally identifiable information.
| Field | Rule | Approved values (example taxonomy) |
|---|---|---|
| utm_source | Platform or sender, lowercase | google, facebook, instagram, youtube, linkedin, newsletter, whatsapp, partner-name |
| utm_medium | Channel type from fixed list | cpc, paid_social, display, paid_video, email, sms, affiliate, referral, qr |
| utm_campaign | yyyy-mm_campaign_market | 2026-10_diwali-glow_in, 2026-11_suv-launch_us |
| utm_content | format_length_version | reel_15s_v1, banner_300x250_b, hero_button |
| utm_term | keyword or audience | lookalike_1pc, retarget_30d, brand_terms |
| utm_id | Platform campaign ID | copy from the ad platform |
Campaign naming is part of the media plan, not an afterthought. Our guide on how to create a digital media plan shows where tracking fits in the planning process.
How does utm_medium decide your GA4 channel?
GA4 assigns each visit to a default channel group using rules that mostly read source and medium. Paid Social needs a known social source plus a paid-looking medium such as cpc, ppc or anything starting with “paid”. Email needs “email” as source or medium. Values that match no rule appear as Unassigned.
These rules come from Google’s default channel group definitions. A few that trip people up:
| GA4 channel | Rule (simplified) | Medium that works | Medium that fails |
|---|---|---|---|
| Paid Social | Social source AND medium matches cp, ppc, retargeting or starts with paid | paid_social, cpc | social_paid, sponsored |
| Organic Social | Social source OR medium such as social, sm, social-media | social | Any unpaid medium works if the source is a known social site |
| Source or medium is email, e-mail, e_mail or e mail | newsletter (as medium) | ||
| Display | Medium is display, banner, expandable, interstitial or cpm | display, banner | programmatic |
| Affiliates | Medium is affiliate | affiliate | influencer |
| SMS | Source or medium exactly sms | sms | whatsapp (as medium) |
If you need channels GA4 does not have, such as Influencer or WhatsApp, create a custom channel group in GA4 admin rather than inventing medium values that fall into Unassigned.
Where do UTM parameters show up in GA4?
Go to Reports, then Acquisition, then Traffic acquisition, and change the primary dimension to Session campaign, Session source or Session medium. For first visits, use User acquisition. For utm_content and utm_term, build an Exploration with the Session manual ad content and Session manual term dimensions.
- Traffic acquisition: session-scoped, answers “what brought each visit?”. Best for campaign reporting.
- User acquisition: first-user scoped, answers “what first brought this person?”.
- Explorations: free-form tables where you can combine campaign, content and key events.
- Realtime: use it to test a new link within a minute or two of clicking it.
If you run Google Ads with auto-tagging and also add manual UTMs, Google’s documentation says the auto-tagged values are used for source, medium and other traffic dimensions. On Meta, Ads Manager lets you add URL parameters with dynamic values such as {{campaign.name}}, {{adset.name}} and {{ad.name}}, which saves typing one link per ad.
What are the most common UTM mistakes?
The costliest UTM mistakes are mixed capitalisation, tagging internal links, inconsistent medium values, missing source or medium, putting personal data in parameters, and redirects that strip the query string. Each one either splits your data into duplicate rows or credits conversions to the wrong channel, which leads to wrong budget decisions.
| Mistake | What happens | Fix |
|---|---|---|
| Facebook, facebook, FB | Three rows for one source | Lowercase only, approved list |
| UTMs on internal links (banners, menus) | Visitor’s original source is replaced; conversions credited to your own site | Use events or content groups for internal clicks |
| Spaces in values | Values arrive as %20 or +, hard to filter | Use underscores or hyphens |
| Email or phone in a parameter | Breaks Google’s PII policy | Use IDs, never personal data |
| Redirect or shortener drops the query | Visit shows as direct | Test the final URL after redirects |
| Tagging organic search or direct links | Overwrites real organic data | Only tag links you control in campaigns |
On SEO: tagged URLs can create duplicate versions of a page. Google’s guidance on consolidating duplicate URLs recommends a rel=”canonical” tag pointing to the clean URL, which most CMS and SEO plugins add by default.
What this means for marketers and creators
What this means for marketers and creators
- Marketers: publish a one-page UTM taxonomy, lock the source and medium lists, and make every agency and team member build links with the same builder. Audit the Traffic acquisition report monthly for Unassigned and duplicate rows, and fix the source link, not the report.
- Creators: ask brands for a tagged link for every post, story and bio link, or build your own with the UTM builder using utm_content to mark each post. When the brand sees your exact sales in GA4, you have proof for the next, bigger deal.
Frequently asked questions
What are the 5 UTM parameters?
The five standard UTM parameters are utm_source, utm_medium, utm_campaign, utm_term and utm_content. Source is the platform or sender, medium is the channel type, campaign is the promotion name, term is the keyword or audience, and content separates creatives or links. Google recommends always using source, medium and campaign in every tagged link.
Are UTM parameters case sensitive?
Yes. Google Analytics treats utm_source=google and utm_source=Google as two different values, so they appear on separate rows and split your data. The simplest fix is a rule that every UTM value is lowercase, enforced by a link builder that converts capitals automatically before anyone copies the link.
Do UTM parameters affect SEO?
UTM parameters do not directly hurt rankings, but tagged URLs can create duplicate versions of a page. Use a rel canonical tag pointing to the clean URL so search engines consolidate signals. Most content management systems and SEO plugins add this automatically. Avoid tagging internal links and never tag links meant for organic search.
Should you use UTM parameters on internal links?
No. A UTM on an internal link, such as a homepage banner, replaces the visitor’s original traffic source, so a sale that started from a paid ad gets credited to your own website. Track internal clicks with analytics events or content groups instead, and keep UTMs for links placed outside your site.
Do you need UTM parameters for Google Ads?
Usually not. Google Ads auto-tagging passes campaign data to Google Analytics automatically, and when both auto-tagging and manual UTMs are present, GA4 uses the auto-tagged values. Add manual UTMs for platforms without auto-tagging, such as Meta, LinkedIn, email, WhatsApp, influencer posts and offline QR codes.
What is utm_id used for?
utm_id carries a campaign ID, usually the ID from the ad platform or your campaign database. It lets you join analytics data to cost data or campaign records even if campaign names change. Google describes campaign ID as optional but highly recommended when you import cost data from non-Google platforms into GA4.
Next steps: Write your taxonomy today, then build every campaign link with the free UTM campaign builder so values stay consistent. Browse the rest of our free marketing tools, and bookmark the digital media planning glossary for the terms your reports use. For more practical guides, join the free TechMachaw newsletter.
