Skip to content
Analytics

UTM Parameters: The 10-Minute Guide

TL;DR
  • UTM parameters are URL tags that tell your analytics which campaign, source, and medium sent you a visit.
  • They only take about 10 minutes to set up and they end the guesswork in your traffic reports.
  • Most small sites only need five tags: source, medium, campaign, content, and term.
  • AI answer engines and crawlers treat UTM links like any other URL, so you can track AI referrals too.
  • The payoff is knowing exactly which posts and promotions drive visitors, not just pageviews.

UTM parameters are five small text tags you add to a link so your analytics can tell you where a visitor came from, which campaign brought them, and often which specific ad or email did the work. Put one on a link in your newsletter, and the next day you know it worked. Forget to put one on, and that traffic lands in your reports as "direct" and teaches you nothing.

Why you need UTM parameters right now

You are probably losing discovery to AI answers. People still find sites through links, but more and more often the link comes from a chat answer, not a search result page. Those AI referrals are measurable if you tag the links you publish where AI assistants can see them. If you do not tag them, you are flying blind.

The old web analytics habit was to check your referrer list. That only shows you the last hop. A UTM parameter tells you the campaign, the channel, and the specific post that produced the click. That is the difference between knowing "we got visits" and knowing "the newsletter item about pricing brought 40 visitors, and 6 of them clicked the signup button."

What the five UTM parameters actually do

Every UTM parameter is a simple key-value pair appended to a URL with a question mark. The five standard tags are:

ParameterWhat it tracksExample value
utm_sourceThe platform that sent you trafficnewsletter, google, chatgpt
utm_mediumThe channel typeemail, cpc, social, ai_answer
utm_campaignThe specific campaign or initiativespring_sale, aeo_guide_launch
utm_contentWhich specific link was clickedheader_link, footer_link, blue_button
utm_termThe paid keyword that triggered an adnyc_plumber, best_crm

Only two are required for most tools, source and medium, but you might as well use all five when they apply. It costs no extra time.

Here is what a tagged link looks like:

https://yourstore.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=july_launch

The visitor still lands on your normal pricing page. Nothing changes for them. The extra text is just notes you leave for your analytics.

The 10-minute setup, in plain steps

You do not need a special tool. But you do need to be consistent.

  1. Decide your naming rules now. Use lowercase, hyphens instead of spaces, and a fixed order. utm_source=newsletter&utm_medium=email beats utm_source=Newsletter&utm_medium=E-Mail because your reports stay clean.
  2. Add the tags to every link you share manually. Your email platform, social scheduler, and paid ads tool all have fields for UTM parameters. Use them.
  3. Create a simple spreadsheet with your standard campaign names so everyone on your team uses the same labels.
  4. Check your analytics a few days later. You should see a new row for each campaign in your acquisition report.

The whole process takes about ten minutes if you do it once for your email template, your social bios, and your ad groups. After that it is a habit, not a chore.

Most analytics platforms have a URL builder built in. Kymo has one in the docs too.

What UTM tracking does not do, and what to watch for

UTM parameters are not cookies. They are plain text on a link, so analytics tools that use cookieless tracking still read them fine. Kymo counts a visit from a tagged link exactly once, even if the visitor blocks cookies, because the identifier is a server-side hash, not a browser cookie.

A few failures you can avoid:

  • Losing the tags in redirects. If your link goes through a shortener that strips the query string, the data is gone. Test your shortened links before you send them.
  • Tagging internal links. Do not put UTMs on links from your own homepage to your own pricing page. You will create "self-referrals" and muddy your data.
  • Inconsistent names. utm_source=facebook and utm_source=fb become two rows in your reports. Pick one name per channel and stick to it.
  • Forgetting the "direct" trap. If you share a link without tags in a podcast show notes or a printed flyer, it shows up as direct. That is not wrong, it is just less useful.

The part most guides miss: AI crawlers and UTM tags

AI assistants can send you traffic too. When ChatGPT or Perplexity cites a page and a user clicks through, that is a referral you can track.

There are a couple of ways to see it.

First, tag the links you publish where AI engines read you. If you contribute to a newsletter, a directory, or a post that gets syndicated, add UTMs to your link. Use values like utm_source=chatgpt and utm_medium=ai_referral. When an assistant fetches that link for a user, the click shows up in your reports with those tags.

Second, use an analytics tool that classifies AI crawlers server-side. Kymo keeps a crawler directory that separates live answer fetches from index crawlers and training crawlers. That way you can tell the difference between a ChatGPT-User (OpenAI's live fetcher) fetching a page for one person's question, PerplexityBot crawling for its index, and ClaudeBot (Anthropic's training crawler) pulling bulk data. They are different behaviors and different opportunities.

If you want the full list, the AI crawler directory covers which bots answer, which index, and which train. That matters because blocking one does not block the others. A robots.txt rule for Google-Extended (a robots.txt control token, not a crawler) stops Gemini training, not Google Search. Applebot-Extended (a robots.txt control token, not a crawler) works the same way for Apple's AI features.

The practical point: you can measure AI-driven clicks with the same UTM discipline you already use for email and ads. The session counts as a normal visit. You see it in your reports like any other referral. Over time you learn which content AI assistants cite and which pages people actually visit from those answers.

How this connects to visibility and revenue

The common trap is tracking visits and calling it success. A UTM campaign tells you more. Pair it with goal tracking and you see which campaigns generate signups or sales.

Set up a goal for your checkout page or your contact form. Tag your newsletter links. Tag your ad links. Tag the links in your guest posts and podcast appearances. In a month you will have a small table that looks something like this:

CampaignSourceVisitorsGoal completionsRevenue
July launchnewsletter41218$540
July launchchatgpt answer966$180
July launchgoogle ads2539$270

That is the entire point. SEO still matters, and AEO explained in plain terms shows how answer engines pick sources. But AI crawlers behave differently from Google's bot, and you need data on both. UTM parameters give you that data without a data team. The AI search for small business guides walk through the shifts in more detail.

This is also where a broader plan fits. If you are just starting to make your site visible to AI answers, The Small Business Guide to AEO is a practical next read. It covers the structure and content choices that make a page easier for an AI assistant to cite. UTMs are the measurement half of that work.

The Kymo pricing reality

Kymo measures this data plainly. The Solo plan is $9 a month or $90 a year, up to 10,000 events a month. The Studio plan is $29 a month or $290 a year, up to 100,000 events a month. Every feature is included on both plans, they differ only by event volume. AI crawler tracking does not count against your event limit. If you go over, the dashboard pauses and your data is not deleted.

Both plans start with 14 days free, no card required, and there is no self-hosted version. It is a hosted product that does one job well: one dashboard for human visitors and AI crawlers.

Start with one tagged campaign

Ugly data beats no data, and simple tags beat perfect ones. If you only have ten minutes today, tag your newsletter link and your social bio link. Use source, medium, and campaign. Ignore the other two for now. Check the report tomorrow and you will know more about your traffic than you did this morning.

Then tag your ads, your guest posts, and your AI-referral links. Keep the naming consistent. Watch which campaigns produce goal completions, not just pageviews.

Do that if you want to stop guessing which content actually brings in visitors and revenue. If you want to skip the spreadsheet stage, or you worry your referrer reports are missing AI traffic, start tracking it directly.

See it in your own numbers

The fastest way to make this concrete is to look at real data from your own site. Add a few tagged links and watch which campaigns pull their weight. You get the full picture in one dashboard, human visits, AI crawlers, referrals, goals, and revenue. The documentation covers the setup in detail. If you just want a quick read on whether AI assistants can see your site at all, the free AI visibility check reads a URL from public signals, your site does not need Kymo installed, and the report arrives by email.

Start free: 14-day trial, no card required.

Published Aug 6, 2026·All posts·The AEO guide