UTM Parameters
UTM parameters are short tags added to the end of a link that tell analytics tools where a visit came from. When someone clicks a tagged link, GA4 reads the tags and credits the visit, and any sale, to that source, medium and campaign. Without them, many clicks from WhatsApp, email and apps show up as direct traffic.
- Five tags: utm_source, utm_medium, utm_campaign, utm_content and utm_term, added after a question mark in the link.
- Three always: Source, medium and campaign go on every tagged link, while content and term are optional.
- Case sensitive: Instagram and instagram become two sources, so use lowercase.
- External links only: Tag links in ads, posts, emails and messages, never links between your own pages.
- One naming sheet: A shared template keeps everyone's tags the same, even when several people build links.
This tutorial follows one example: a family saree shop in Surat that sells online and is running a Diwali sale. It promotes the sale through Instagram ads, Instagram posts, a WhatsApp broadcast to opted-in customers, an email to its subscriber list and a few Google search ads. The owner wants to know which one brings orders, not only clicks.
Last festive season, most sale orders showed up in GA4 as direct traffic, so nobody could tell whether the WhatsApp broadcast or the Instagram reel had done the work. This year the shop wants every shared link to carry clear tags, so that the report after Diwali shows orders and revenue by channel and the budget for the wedding season can follow the results.
Prerequisites for Using UTM Parameters
- GA4 on the site: Set up as in the GA4 tutorial, with the purchase event working.
- A list of every place you share links: Ads, posts, bio link, broadcasts, emails, QR codes on printed flyers.
- A shared sheet: One Google Sheet or Excel file that holds the naming rules and every link you build.
- Opt-in lists: WhatsApp and email go only to customers who agreed to receive them, never to bought or scraped lists.
Setup: The Five UTM Parameters
| Parameter | Question it answers | Saree shop value |
|---|---|---|
| utm_source | Which site or app sent the visit? | instagram, whatsapp, newsletter |
| utm_medium | What type of traffic is it? | paid_social, social, messaging, email |
| utm_campaign | Which campaign is it part of? | diwali_sale |
| utm_content | Which ad, post or link was clicked? | reel_silk_saree, story_offer |
| utm_term | Which keyword was it? (mostly search) | banarasi_saree |
GA4 also reads a few newer optional tags, such as utm_id and utm_source_platform. Most small businesses do not need them at the start, so this lesson sticks to the five main tags.
Step-by-Step: Build a UTM Naming Convention and Links
Step 1: Write the Naming Rules
Put these rules at the top of the sheet:
- Lowercase only: instagram, not Instagram.
- Underscores, not spaces: diwali_sale, not "diwali sale", which becomes diwali%20sale in links.
- Fixed lists for source and medium: Choose values from the agreed list and never invent new ones on the day of a campaign.
- Campaign names describe the offer: Use names such as diwali_sale, wedding_collection or clearance that anyone in the shop would understand.
Step 2: Match Mediums to GA4 Channels
GA4 sorts visits into default channels, such as Paid Social, Organic Social, Email and Paid Search, using the source and medium values. If the medium does not match GA4's rules, visits land in "Unassigned".
| Where the link is shared | utm_source | utm_medium | Expected GA4 channel |
|---|---|---|---|
| Instagram ad | paid_social | Paid Social | |
| Instagram post or bio | social | Organic Social | |
| Email newsletter | newsletter | ||
| WhatsApp broadcast | messaging | Check where it lands | |
| Printed flyer QR code | flyer | offline | Check where it lands |
For values without a clear default channel, such as messaging, check where the visits land in GA4 after a test. If needed, create a custom channel group in GA4 Admin so WhatsApp gets its own channel.
Step 3: Use a Template for Every Link
Build each link in the sheet with the same pattern:
[page URL]?utm_source=[source]&utm_medium=[medium]&utm_campaign=[campaign]&utm_content=[content]The first tag follows a question mark and every other tag follows an ampersand, and if the page URL already has a question mark, start with an ampersand instead.
Keep the template in the first row of the shared sheet and build every link with a formula that joins the columns, so nobody types a link by hand. A formula cannot misspell instagram or forget an ampersand, and the sheet becomes a record of every link the shop has ever shared.
Step 4: Build the Diwali Sale Links
Here are the saree shop's links, built from the sheet:
Instagram reel ad:
https://example.com/diwali-sale?utm_source=instagram&utm_medium=paid_social&utm_campaign=diwali_sale&utm_content=reel_silk_saree
Instagram bio link:
https://example.com/diwali-sale?utm_source=instagram&utm_medium=social&utm_campaign=diwali_sale&utm_content=bio_link
WhatsApp broadcast:
https://example.com/diwali-sale?utm_source=whatsapp&utm_medium=messaging&utm_campaign=diwali_sale&utm_content=broadcast_offer
Email newsletter:
https://example.com/diwali-sale?utm_source=newsletter&utm_medium=email&utm_campaign=diwali_sale&utm_content=hero_buttonGoogle's Campaign URL Builder does the same job in a form, if you prefer not to type links by hand.
Step 5: Handle Ad Platforms
- Google Ads: Keep auto-tagging on and link the Ads account to GA4. Auto-tagging adds a click ID that gives more detail than manual tags.
- Meta Ads: Add the tags in the ad's URL parameters field. Meta can fill some values automatically with dynamic parameters such as the campaign name.
- Short links: If you shorten a tagged link for a flyer or SMS, test that the short link keeps the tags after the redirect.
Step 6: Test Before You Share
Open each link on your phone, then check Reports > Realtime in GA4 for the source and campaign. One wrong character now can hide a whole channel for the sale.
Step 7: Read UTM Tracking in GA4
After the sale starts, open Reports > Acquisition > Traffic acquisition. Change the primary dimension to Session source / medium or Session campaign and add purchases and revenue. To share results with the family every morning, build a view in the Looker Studio dashboard tutorial. For deeper questions, the same data can be queried with SQL for marketers.
Common Mistakes with UTM Parameters
- Tagging internal links: A UTM on a home page banner resets the visit's source and hides where the visitor really came from.
- Mixed case: Facebook, facebook and FB become three separate sources, which splits the results for one channel into three rows.
- Source and medium swapped: utm_source=email and utm_medium=newsletter breaks GA4's channel rules.
- Tags on Google Ads links with auto-tagging: Manual tags can conflict with the click ID data, so let auto-tagging do the work.
- No sheet: Links built from memory drift apart within a week, and the reports drift with them.
- Personal data in tags: Never put a customer's phone number or email in a UTM value, because it ends up in analytics reports that many people can see.
Next Steps
- Dashboards: Turn the campaign data into a daily view with the Looker Studio dashboard tutorial.
- Credit across channels: Learn how GA4 shares credit between touchpoints in marketing attribution models.
- Messaging: Plan opt-in broadcasts well with WhatsApp marketing.
How AI Changes UTM Tracking
What AI Automates Now
AI assistants can build dozens of tagged links from a sheet of ads in seconds, spot inconsistent values in an export, and suggest a naming convention for a new team. Ad platforms also fill some tags automatically with dynamic parameters.
What Still Needs a Human
A person must own the naming rules, decide the source and medium lists, and test links before a campaign goes out. AI tools do not know which values your past reports already use.
Risk to Watch
AI can produce links with small errors, such as a missing ampersand or a capital letter, that look correct at a glance. Test every link in GA4 Realtime before sharing it.
Do It with AI
Use this prompt to generate tagged links from your campaign list. It works in ChatGPT, Claude or Gemini.
You are a digital analytics assistant. Our UTM naming rules: lowercase only, underscores instead of spaces. Allowed sources: [list]. Allowed mediums: [list]. Campaign name: [for example, diwali_sale] Landing page: [URL] Placements: [list each ad, post, email and message where the link will be shared] 1. Build one tagged link per placement, using only the allowed sources and mediums. 2. Give a short utm_content value for each placement. 3. Return a table with columns: placement, source, medium, campaign, content, full link. 4. Flag any placement where the right source or medium is unclear, instead of guessing.
- Paste your rules, lists and placements into the prompt.
- Copy the table into your shared UTM sheet.
- Open three or four links and confirm them in GA4 Realtime.
- Share the links with the team and keep the sheet as the single source.
Check Before You Use It
- Facts: Check every link for the question mark, ampersands and spelling before it goes live.
- Brand fit: Keep campaign names consistent with past campaigns so reports compare cleanly.
- Compliance: Send WhatsApp and email links only to opted-in customers, and keep personal data out of every tag.
Quick Quiz
Pick an answer to check yourself. Nothing is saved.
Question 1 / 3
1. The saree shop sends its Diwali offer in a WhatsApp broadcast. Which utm_medium fits best?
Frequently Asked Questions
What are the five UTM parameters?
utm_source (who sent the visit), utm_medium (the type of traffic), utm_campaign (the campaign name), utm_content (which ad or link) and utm_term (the keyword). Source, medium and campaign should be on every tagged link.
Are UTM parameters case sensitive?
Yes. GA4 treats Instagram and instagram as two different sources. Use lowercase for every value and write the rules down so the whole team follows them.
Should I add UTM parameters to Google Ads links?
Usually not. Google Ads auto-tagging adds a click ID that GA4 reads when the accounts are linked, and it gives richer data than manual tags. Use UTM parameters for other platforms such as Meta, email and WhatsApp.
Do UTM parameters affect SEO?
They do not help rankings. Use them only on links you share in ads, emails, posts and messages, never on links between pages of your own site, and make sure pages have a canonical tag so tagged URLs are not treated as duplicates.
Why does my WhatsApp traffic show as direct in GA4?
Links opened from WhatsApp often arrive without referrer information, so GA4 cannot tell where they came from. Adding UTM parameters to every link you share on WhatsApp fixes this.
Related Articles
- GA4 Tutorial for BeginnersGA4 tutorial for beginners: create a property, install the Google tag, track purchases as key events and read your first reports, with a D2C store example.
- Looker Studio Dashboard TutorialLooker Studio tutorial: connect GA4, Google Ads and Sheets, add scorecards, charts and filters, and share a clear dashboard, with a Chennai clinic example.
- SQL for Marketers with AISQL for marketers: learn SELECT, WHERE, GROUP BY, CASE and JOIN on sample lead data and use AI to draft queries safely, with a Bengaluru SaaS example.
- WhatsApp MarketingWhatsApp marketing strategy step by step: build an opt-in list, segment it, pick message types and measure, with a Jaipur restaurant example and AI prompt.
- Email MarketingEmail marketing strategy for beginners: opt-in lists, SPF, DKIM and DMARC, welcome series and metrics, with a Pune SaaS startup example and an AI prompt.
- Marketing Attribution ModelsAttribution models explained: last click, first click, linear, time decay, position based and data-driven, with a rupee example to split credit fairly.