← Back to blog
· bah.is Team

How to Use UTM Parameters Like a Pro

UTM parameters are the fastest way to know exactly where your traffic comes from. Here's what each one does, how to build them correctly, and the mistakes to avoid.

If you’ve ever looked at your analytics and seen a traffic source labeled “direct” or “(not provided)” and wondered where that traffic actually came from, UTM parameters are the solution.

They’re not glamorous. They’re a bit ugly in raw form. But they’re one of the most powerful and underused tools in digital marketing. Here’s a complete, practical guide.

What Are UTM Parameters?

UTM stands for Urchin Tracking Module — a naming convention inherited from Urchin Software, which Google acquired in 2005 to build Google Analytics. The name is legacy; the concept is simple.

UTM parameters are tags you append to URLs that tell your analytics platform where a visitor came from, how they got there, and which campaign brought them. When someone clicks a UTM-tagged link, those tags are read by your analytics tool and attributed to that session.

A UTM-tagged URL looks like this:

https://yoursite.com/landing-page?utm_source=newsletter&utm_medium=email&utm_campaign=february-promo

It’s ugly in its raw form — which is exactly why you should pair UTM parameters with a short link. The URL above becomes bah.is/feb-promo, and the UTM data is preserved in the destination URL while your audience sees something clean.

The 5 UTM Tags Explained

1. utm_source — Where the Traffic Comes From

Use the name of the platform, publication, or partner: twitter, newsletter, google, linkedin, facebook, podcast-xyz.

2. utm_medium — The Marketing Channel Type

Think of this as the category of how you’re reaching people: email, social, paid, organic, cpc, affiliate, banner. Medium is broader than source — source tells you the specific origin, medium tells you the type.

3. utm_campaign — The Specific Campaign Name

This is your internal label for the initiative: spring-sale, product-launch, q1-newsletter, retargeting-feb. Make these consistent and meaningful to your team.

4. utm_content — Which Element Drove the Click

This is useful when you’re A/B testing or running multiple versions of content. utm_content=hero-banner vs utm_content=sidebar-ad tells you which placement performed better. Essential for email A/B testing.

5. utm_term — Paid Search Keywords

Primarily used for paid search campaigns: utm_term=url+shortener. Less relevant for most social or email campaigns.

How to Build UTM URLs Correctly

The simplest approach: use a UTM builder. Google’s Campaign URL Builder is free and produces correctly formatted URLs. Paste your destination URL, fill in the fields, and copy the result.

A few rules to follow:

  • Use lowercase consistently. Analytics tools are case-sensitive. Twitter and twitter are counted as two different sources.
  • Use hyphens instead of spaces. Spaces become %20 in URLs, which is valid but ugly. spring-sale is cleaner than spring%20sale.
  • Be consistent with naming. If you call it email this month and newsletter next month, you’ll never be able to compare campaigns accurately. Write down your naming conventions and stick to them.
  • Don’t use UTM parameters on internal links. UTM tags reset the session in most analytics tools, meaning an internal UTM link looks like a new visit. Only use them on external-to-your-site links.

Common UTM Parameter Mistakes to Avoid

Skipping utm_medium. Source without medium leaves your data hard to slice. Always include both.

Inconsistent naming. This is the biggest one. Twitter, twitter, tw, and t.co will appear as four separate sources. Pick a convention and document it. For team link management, a documented naming guide is essential.

Putting UTM parameters in the visible URL. Your audience doesn’t need to see your campaign tracking. Put the UTM-tagged URL as the destination when you create a short link on bah.is. What they see is clean; what you track is comprehensive.

Not using utm_content for A/B tests. If you’re running two versions of an email or two ad creatives, utm_content is the only way to know which one drove results.

How bah.is Works with UTM Data

When you create a short link on bah.is and your destination URL contains UTM parameters, bah.is passes those parameters through to your analytics platform. Your Google Analytics (or Plausible, or Fathom, or whatever you use) receives the full UTM attribution data, correctly attributed to the session.

You get two layers of analytics:

  1. bah.is link analytics — total clicks, geographic data, device breakdown, referrer, all on the short link
  2. Destination analytics — UTM attribution data in your existing analytics platform

Together, these give you a complete picture from click to conversion.

A Simple UTM Starting Template

If you’re new to UTMs, start simple. Use these three for every external link you share:

ParameterNewsletterTwitter postPaid ad
utm_sourcenewslettertwittergoogle
utm_mediumemailsocialcpc
utm_campaignfeb-2026feb-2026feb-2026

Keep the campaign consistent across channels so you can see total campaign reach, then break it down by source to compare performance. For social media campaigns, create a unique short link slug per platform for clean source separation.

Build your first tracked short link on bah.is →