Quick answer: UTM parameters are short tags added to the end of a URL that tell Google Analytics where a visitor came from. The three you should always use are utm_source (who sent the traffic), utm_medium (the type of channel) and utm_campaign (the specific promotion). Two optional tags, utm_term and utm_content, add detail. Tag every link you control outside your own site, such as emails, social posts and paid ads that do not auto-tag, and never tag links between pages of your own site.
What UTM parameters are
When someone clicks a link to your site, Google Analytics tries to work out where they came from. Sometimes it can: a click from Google search shows as organic, and a click from another website shows as a referral. Often it cannot. Clicks from email apps, PDFs, text messages and some social apps arrive with no referrer at all, so they land in “direct” and your campaign gets no credit.
UTM parameters fix that. They are name and value pairs added after a question mark in the URL:
https://example.com/spring-sale/?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2020
When Google Analytics sees those tags, it records the visit with the source, medium and campaign you specified instead of guessing. The page itself loads exactly the same. The tags are only read by your analytics code.
The five UTM parameters
utm_source (required)
The specific place the traffic came from. Examples: newsletter, facebook, linkedin, partner_site, bing.
utm_medium (required)
The type of channel. This one matters most for reporting, because Google Analytics uses medium to sort traffic into its default channel groups. Stick to standard values where they fit: email, cpc, social, display, affiliate, referral. If you write e-mail or Email Newsletter, your traffic may land in “(Other)” instead of the Email channel.
utm_campaign (required)
The name of the promotion, product launch or offer. Examples: spring_sale_2020, webinar_september, free_audit_offer.
utm_term (optional)
Originally for paid search keywords. Many teams use it for audience or targeting details on paid social, such as lookalike_customers.
utm_content (optional)
Used to tell apart links that share the same source, medium and campaign. Useful for A/B tests of ad creative, or for knowing whether people clicked the button or the text link in an email: header_button versus footer_link.
How to tag a link, step by step
- Start with the final landing page URL. Click through it yourself and make sure it loads without redirects that might strip parameters.
- Choose your values using a shared naming sheet (more on this below).
- Build the URL. Google’s free Campaign URL Builder does this for you: paste the page address, fill in the fields and copy the result. A spreadsheet with a simple formula works just as well for teams that tag many links.
- Shorten it if needed. Long tagged URLs look messy in social posts and printed material. A link shortener keeps the tags intact behind a short link.
- Test it. Open the link in a private browser window, then check the Realtime > Traffic Sources report in Google Analytics to confirm the source and medium show up as expected.
- Log it. Add the final URL to your tracking sheet with the date and owner.
Naming rules that keep reports clean
Most UTM problems are naming problems. Google Analytics treats Facebook, facebook and facebook.com as three different sources, so one campaign can end up split across several rows. A few rules prevent that:
- Use lowercase only. Values are case sensitive in reports.
- Pick one separator. Underscores or hyphens, not both, and no spaces (spaces turn into
%20or+and look messy). - Keep a shared list of allowed values for source and medium. New values need a quick check before anyone uses them.
- Make campaign names readable months later:
product_launch_widget_2020_09beatscampaign3. - Do not put personal data in UTMs. Never include email addresses or names. Google Analytics terms forbid sending personally identifiable information.
If you already have messy values, a view filter that forces campaign fields to lowercase can tidy future data. Our guide to Google Analytics views and filters explains how to set that up on a separate view so your raw data stays untouched.
Where to use UTM parameters (and where not to)
Use them on
- Email newsletters and automated sequences, including every link in a drip campaign
- Organic social posts and bio links
- Paid social ads and display ads on networks that do not auto-tag
- Links in partner newsletters, sponsorships and guest content
- QR codes on print materials, flyers and packaging
- Links in PDFs, slide decks and email signatures
Do not use them on
- Internal links on your own site. In Universal Analytics, clicking a tagged link starts a new session with the new campaign values. That splits one visit into two and wipes out the original source, such as the organic search visit that actually brought the person in.
- Google Ads, when auto-tagging is on. Auto-tagging adds a gclid parameter that carries far more detail than UTMs can. Mixing manual tags with auto-tagging can cause conflicts. Our guide on linking Google Ads to Google Analytics covers the setup.
- Links that other sites create on their own, like a natural mention in a blog post. Those already show as referrals.
Reading UTM data in Google Analytics
Once tagged visits come in, you will find them in a few places in Universal Analytics:
- Acquisition > Campaigns > All Campaigns lists each utm_campaign value, with sessions, behavior and conversions.
- Acquisition > All Traffic > Source/Medium shows each source and medium pair.
- Acquisition > All Traffic > Channels shows how your medium values were grouped.
Add utm_content or utm_term as a secondary dimension to compare creative or audiences. To judge whether a campaign earned leads or sales, you need goals or ecommerce tracking set up first; otherwise you only see visits. Our article on conversion tracking covers that foundation.
Remember that the standard reports give credit to the last non-direct click. A newsletter that started the relationship may get less credit than you expect. The Multi-Channel Funnels reports and the Model Comparison Tool show the wider picture, and our explainer on attribution models helps you read them.
Common UTM mistakes
Tagging internal banners. A homepage promo banner with UTMs will inflate campaign numbers and break session data. Use event tracking for internal clicks instead.
Inconsistent medium values. social, social-media and sm across different team members make channel reports unreliable.
Redirects that drop the tags. Some redirects and URL shorteners strip query strings. Always test the final link.
Forgetting to tag at all. One untagged newsletter can make a whole month of email look weak, and that traffic shows up as direct instead.
Overly long campaign names. If nobody can read the value in a report, it is not helping anyone.
FAQ
Do UTM parameters affect SEO?
Not if they are used only on external links you share. Search engines generally ignore or consolidate tagged URLs, and a canonical tag on your pages points them to the clean version. Avoid tagging internal links, which can create duplicate URLs as well as bad data.
Are UTM parameters case sensitive?
Yes. Email and email appear as separate rows, so stick to lowercase.
Do I need all five parameters?
No. Source, medium and campaign are enough for most links. Add term and content when you need to tell apart audiences or ad variations.
How long until tagged traffic shows in reports?
Realtime reports show it within seconds. Standard reports usually catch up within a day.
Start tagging with a simple sheet
UTM parameters are one of the easiest ways to make your analytics more honest. Agree on naming rules, keep a shared sheet, tag every external link you control, and leave internal links alone. If you want help setting up clean campaign tracking and reports your team can trust, see how we help businesses know what’s working.