Guide · Digital marketing

UTM parameters: know where every sale comes from

If almost everything in Google Analytics shows up as "Direct" or "Unassigned," the problem is nearly always untagged links. UTM parameters fix that in minutes and cost nothing.

Laptop on an armchair showing an analytics dashboard with charts
Short answer

UTM parameters are tags you add to the end of a URL (utm_source, utm_medium, utm_campaign and, optionally, utm_content and utm_term) so Google Analytics 4 knows which source, medium and campaign each visit came from. Use them on every link you publish outside your website, with a consistent, all-lowercase naming convention, and never on internal links.

Key points
  • utm_source says who sent the visit; utm_medium, what type of traffic it is; utm_campaign, which campaign it belongs to.
  • GA4 is case-sensitive: "Facebook" and "facebook" are different sources.
  • The medium determines the channel in GA4; use values like cpc, paid_social, email or social.
  • WhatsApp, PDFs, QR codes and print show up as Direct if you don't tag them.
  • Never put UTMs on internal links within your own site.

What UTMs are and why you need them

UTM stands for Urchin Tracking Module, the tool Google bought and turned into Analytics. Today they're simply parameters that go after the question mark in a URL. For example, a link to your store from an Instagram ad might look like this:

yoursite.com/promo?utm_source=instagram&utm_medium=paid_social&utm_campaign=back-to-school-2026&utm_content=video-backpacks

Your page looks exactly the same; the difference is that Google Analytics 4 reads those tags and records where the visit came from. Without them, GA4 guesses based on the browser's "referrer," which many apps don't send. That's why clicks from WhatsApp, email apps, PDFs and QR codes end up as Direct traffic and you have no idea which campaign brought them in.

If you invest in ads, you can't calculate your return properly without UTMs; we explain why in ROAS, ROI and CPA explained.

The parameters, one by one

ParameterWhat it answersExamplesRequired?
utm_sourceWho is sending the visit?facebook, instagram, google, newsletter, whatsapp, flyerYes
utm_mediumWhat type of traffic is it?cpc, paid_social, social, email, qr, referral, smsYes
utm_campaignWhich campaign or promotion?buen-fin-2026, lerdo-branch-launchYes
utm_contentWhich exact ad or link?video-testimonial, header-button, blue-bannerOptional
utm_termWhich keyword or audience?dentist-torreon, retargeting-audienceOptional
utm_idCampaign ID for importing cost datac2026-014Optional

GA4 also recognizes utm_source_platform, utm_creative_format and utm_marketing_tactic, which are useful for large teams. For a small business, the first five are enough.

How GA4 assigns the channel (and why the medium matters)

GA4 groups traffic into default channels: Paid Search, Paid Social, Organic Social, Email, Referral, Direct and others. To decide the channel, it looks mainly at utm_medium and at whether the source is a known social network or search engine.

  • A medium like cpc, ppc or one starting with paid (for example, paid_social), combined with a social source, is classified as Paid Social.
  • The medium email lands in Email.
  • Mediums like social with a social source land in Organic Social.
  • A made-up medium, like "fb-ad" or "promo," can end up as Unassigned.

The takeaway: name your campaigns however you like, but use standard values for the medium. If in doubt, the free UTM builder suggests GA4-compatible mediums and builds the URL without typos.

A naming convention that won't fall apart

The mistake that damages reports the most isn't forgetting UTMs; it's writing them differently every time. "Facebook," "facebook," "fb" and "FB" are four different sources to GA4. Before you start tagging, write your convention down in a shared document:

  1. Everything lowercase, with no accents or spaces. Use hyphens: buen-fin-2026.
  2. A closed list of sources and mediums. For example: facebook, instagram, google, tiktok, whatsapp, newsletter, flyer; and cpc, paid_social, social, email, qr, sms.
  3. Campaigns with a date or season: hot-sale-2026, not "promo."
  4. A descriptive utm_content: the creative's format and angle (video-price, carousel-reviews).
  5. A log sheet with every URL generated, who created it and where it was published.

A nutrition practice in the Las Quintas neighborhood of Torreón had its Instagram traffic split across six sources because the name was spelled differently each time. Standardizing the convention took one afternoon, and since then its monthly report fits in a single table.

UTMs in ads: Meta, Google and TikTok

Google Ads

Google Ads has auto-tagging with the gclid parameter. If you link your Ads account to GA4, that's the recommended option and you don't need manual UTMs; if you don't link them or you use a different analytics tool, add UTMs with the account's tracking template.

Meta Ads

In each ad, the URL parameters field accepts dynamic parameters like {{campaign.name}}, {{adset.name}}, {{ad.name}} and {{site_source_name}}, which Meta fills in automatically. That way you don't write a link for every ad. Watch out: if your campaign names have capital letters or spaces, that's exactly what will reach GA4, so name your campaigns using the same convention. More details in our Meta Ads guide for beginners.

TikTok and other platforms

TikTok Ads also supports URL parameters in the ad. For organic social posts, use a tagged link in your bio or in the story link.

WhatsApp, QR codes, print and email: the traffic that gets lost

This is where UTMs pay off the most in Mexico, because a large share of promotion runs through channels that leave no trace:

  • WhatsApp: broadcast lists, Status updates and messages to customers. Tag with utm_source=whatsapp and a medium like referral or whichever you define, and shorten it with the link shortener so it doesn't look suspicious.
  • QR codes on flyers, menus, packaging and vinyl banners: generate the URL with UTMs, then create the code with the QR code generator. Use a different utm_content for each piece (fair-flyer, downtown-branch-banner) so you can compare which one works.
  • Email marketing: most platforms add UTMs automatically; check that the medium is email. Read our guide to email marketing for small businesses.
  • Radio, billboards and sponsorships: a short, easy-to-remember URL that redirects to a UTM-tagged URL lets you measure something that used to be a total blind spot.

Copy-ready examples: a bakery in Gómez Palacio

Picture a bakery in Gómez Palacio promoting seasonal cakes for Day of the Dead across several channels. With a clear convention, every link looks like this:

Where it's publishedutm_sourceutm_mediumutm_campaignutm_content
Instagram ad (video)instagrampaid_socialday-of-the-dead-2026video-pan-de-muerto
Facebook ad (carousel)facebookpaid_socialday-of-the-dead-2026carousel-flavors
Organic post, link in bioinstagramsocialday-of-the-dead-2026link-bio
WhatsApp broadcast listwhatsappreferralday-of-the-dead-2026customer-broadcast
Email newsletternewsletteremailday-of-the-dead-2026main-button
QR code on the cake boxpackagingqrday-of-the-dead-2026medium-box

At the end of the season, the bakery opens GA4, filters by the day-of-the-dead-2026 campaign and sees in one table how many orders came from the video, how many from the carousel, how many from the WhatsApp list and how many from people who scanned the QR code on the box. With that information it decides where to invest next year: maybe it discovers the packaging QR code drives repeat purchases nobody was tracking, or that the carousel generated lots of visits but few orders.

Notice that the campaign name is the same across every channel. That lets you see the season's total and, at the same time, break it down by source, medium and content. If you change the campaign name for each channel, you lose the big picture.

Where to see the results in GA4

In GA4, go to Reports, Acquisition and then Traffic acquisition. Change the primary dimension to "Session source / medium" or "Session campaign." To see which campaign drove purchases or leads, make sure your key events are marked (purchase, generate_lead, WhatsApp click) and add the corresponding column.

For finer analysis, use Explore with a free-form table: rows by campaign and content, with sessions, key events and revenue as metrics. That way you can compare which creative or which flyer performed best.

A practical tip: build a fixed monthly report, always with the same columns (campaign, source / medium, sessions, key events, revenue or leads), and save it. After a few months you'll have a historical series that tells you which seasons, channels and messages perform best for your business, something no ad platform gives you on its own. If your team prefers a visual dashboard, Looker Studio connects to GA4 at no extra cost and can display that same table with date and campaign filters.

If you also want to measure visits coming from ChatGPT and other AI assistants, check out our guide to tracking ChatGPT traffic in GA4.

Common mistakes and how to avoid them

  • UTMs on internal links (menus, banners on your own site): they overwrite the original source and break attribution. Use events to track internal clicks.
  • Mixing upper and lower case: it quietly ruins your reports.
  • Tagging Google Ads links by hand while auto-tagging is on, with values that contradict each other.
  • Breaking the URL: if your page already has a "?", the UTMs go after "&", not after another "?".
  • Personal data in the URL: never put email addresses or phone numbers in parameters; besides being risky, it violates Google Analytics policies.
  • Not checking that redirects keep the parameters: some platforms and link shorteners strip them. Click a test link and confirm it in the Realtime report.

If you'd like us to set up your analytics, key events and UTM convention properly, our digital marketing team does it as part of any campaign.

FAQ

Questions about this topic

What are UTM parameters?
They're tags added to the end of a URL, such as utm_source, utm_medium and utm_campaign, so Google Analytics 4 records which source, medium and campaign each visit came from.
Which UTM parameters are required?
For attribution to work well, always use utm_source, utm_medium and utm_campaign. The utm_content and utm_term parameters are optional and help you tell apart ads, links or keywords within the same campaign.
Do I need UTMs if I use Google Ads?
If your Google Ads account is linked to GA4 with auto-tagging turned on, the gclid parameter already identifies the campaign and you don't need manual UTMs. UTMs are still necessary for Meta, TikTok, email, WhatsApp, QR codes and print.
Why do my WhatsApp visits show up as Direct traffic in GA4?
Because opening a link from WhatsApp usually doesn't pass along the referring page. If you tag the links you share on WhatsApp with UTMs, GA4 records them with the correct source and campaign.
Do UTMs affect SEO?
No, as long as you only use them on external campaign links. Your page should have a canonical tag pointing to the clean URL so Google doesn't index versions with parameters.
Message us on WhatsApp