LiteStats iconLitestats
Marketing10 min read

UTM Parameters: The Complete Guide to Campaign Tracking

UTM parameters are the simplest and most effective way to track where your website traffic comes from. If you're spending time or money on marketing — email newsletters, social media posts, paid ads, partner links — UTM tags tell you exactly what's working and what isn't.

What are UTM parameters?

UTM (Urchin Tracking Module) parameters are tags added to the end of a URL. When someone clicks a link with UTM parameters, the analytics platform on the destination page reads those tags and records the traffic source, medium, and campaign name. They were originally created by Urchin Software, which Google acquired in 2005 to create Google Analytics.

A URL with UTM parameters looks like this:

https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=march-launch

The page loads normally for the visitor — they don't notice the parameters. But your analytics platform records that this visit came from your newsletter, via email, as part of the "march-launch" campaign.

The five UTM parameters

There are five standard UTM parameters. The first three are the most commonly used:

utm_source (required)

Identifies where the traffic is coming from. This is the platform or website that sent the visitor.

  • utm_source=google — from Google (paid or organic)
  • utm_source=newsletter — from your email newsletter
  • utm_source=twitter — from Twitter/X
  • utm_source=partner-blog — from a partner's blog

utm_medium (required)

Identifies the marketing medium or channel type. This categorises the kind of traffic.

  • utm_medium=email — email campaigns
  • utm_medium=social — social media (organic)
  • utm_medium=cpc — cost-per-click paid ads
  • utm_medium=referral — referral from another site
  • utm_medium=display — display/banner ads

utm_campaign (required)

Names the specific campaign. Use this to distinguish between different initiatives.

  • utm_campaign=spring-sale
  • utm_campaign=product-launch-march-2026
  • utm_campaign=weekly-digest-12

utm_term (optional)

Identifies paid search keywords. Primarily used for paid search campaigns to track which keyword triggered the ad.

  • utm_term=privacy+analytics
  • utm_term=gdpr+compliant+analytics

utm_content (optional)

Differentiates between similar content or links within the same campaign. Useful for A/B testing or when you have multiple links pointing to the same page.

  • utm_content=header-cta — clicked the link in the header
  • utm_content=footer-link — clicked the link in the footer
  • utm_content=blue-button vs utm_content=green-button — A/B test variants

Building UTM URLs

You can build UTM URLs manually by appending parameters to any URL with a ? for the first parameter and & between additional parameters:

https://litestats.io/pricing?utm_source=twitter&utm_medium=social&utm_campaign=launch-announcement&utm_content=pinned-tweet

For convenience, use a UTM generator tool that builds the URL for you and ensures consistent formatting.

Best practices for UTM parameters

1. Use lowercase consistently

UTM parameters are case-sensitive in most analytics platforms. utm_source=Twitter and utm_source=twitter will appear as separate sources. Pick lowercase and stick with it.

2. Use hyphens instead of spaces

Spaces in URLs get encoded as %20 or +, which makes your data harder to read. Use hyphens: spring-sale instead of spring sale or spring_sale.

3. Create a naming convention document

Before your team starts creating UTM links, agree on a naming convention. Document what values to use for utm_source, utm_medium, and campaign naming patterns. This prevents data fragmentation from inconsistent tagging.

Example convention:

  • Sources: google, facebook, twitter, linkedin, newsletter, partner-name
  • Mediums: email, social, cpc, display, referral, affiliate
  • Campaigns: {year}-{month}-{description} — e.g. 2026-03-product-launch

4. Don't use UTM tags on internal links

UTM parameters should only be used on links from external sources pointing to your site. Using them on internal links (e.g. links within your site) will overwrite the original acquisition source, making your campaign data inaccurate.

5. Keep campaign names descriptive but concise

utm_campaign=q1-2026-email-existing-customers-pricing-update is too long. utm_campaign=q1-pricing-update captures the essential information cleanly.

6. Test your URLs before sharing

Click the URL yourself and verify it loads correctly and that the parameters appear in your analytics dashboard. A misplaced & or typo can break tracking.

Common UTM mistakes

  • Inconsistent capitalisation: "Email" and "email" become separate mediums
  • Using spaces: They encode badly and create messy data
  • Tagging internal links: Overwrites the real traffic source
  • Forgetting utm_medium: Without a medium, your analytics can't properly categorise the channel
  • Overly generic campaign names: "spring" doesn't tell you which spring or which initiative
  • Not documenting conventions: Different team members use different naming, fragmenting your data

UTM tracking in privacy-first analytics

UTM parameters work identically in privacy-first analytics platforms. When a visitor arrives with UTM tags in the URL, the analytics script reads them and records the source, medium, and campaign alongside the pageview event. No cookies, no personal data, just clean campaign attribution.

The key advantage is accuracy: since cookieless analytics see 100% of traffic (no consent required), your UTM campaign data reflects the real numbers, not just the visitors who opted into cookie tracking.


Build UTM links in seconds. Use our free UTM Generator or read the UTM tracking docs to get started.