All posts / Analytics

The Complete Guide to UTM Parameters for Marketers

Learn how to set up UTM parameters correctly, avoid common mistakes, and get clean campaign data in your analytics platform.

Truthylink Team · · 7 min read

UTM parameters are five small pieces of text you append to any URL. When someone clicks that URL, your analytics platform reads those parameters and records exactly where the traffic came from, what medium drove it, and which campaign it belonged to. Without UTMs, most traffic from email or social media shows up as "direct" in your dashboard — meaning you have no idea what actually worked.

This guide explains how to set them up correctly, what common mistakes look like, and how to pair them with a branded link shortener to keep URLs clean enough to share.

What the five parameters do

Each parameter answers a specific question about a click:

  • utm_source — Where is the traffic coming from? (e.g. newsletter, instagram, google)
  • utm_medium — What type of channel? (e.g. email, social, cpc, organic)
  • utm_campaign — Which specific campaign? (e.g. q2-launch, black-friday)
  • utm_term — Which keyword triggered the ad? (paid search only, optional)
  • utm_content — Which variant of a link or ad? (useful for A/B testing CTAs)

A complete UTM URL looks like this:

https://yoursite.com/product?utm_source=newsletter&utm_medium=email&utm_campaign=q2-launch

The problem is obvious: that URL is 80+ characters long and looks alarming in an email. That's where a branded link shortener comes in — you create the UTM URL, then shorten it to something like truthylink.com/q2-offer.

The most common UTM mistakes

1. Inconsistent naming

UTM values are case-sensitive and exact. Newsletter and newsletter appear as two separate sources in Google Analytics. Pick a convention (lowercase, hyphens for spaces) and stick to it across your entire team. Create a shared spreadsheet or Notion doc with your approved source/medium/campaign taxonomy before you start.

2. Using UTMs on internal links

Adding UTMs to links that go from one page to another on your own site resets the session in GA4. Every internal UTM click appears as a new session, which corrupts your traffic source data. Only add UTMs to links that point to your site from somewhere else.

3. Over-specifying with utm_content when utm_campaign is vague

If your campaigns are named things like july or promo, adding utm_content variants doesn't help much. Fix the campaign naming first — make it descriptive enough that you'll understand a report six months from now without context.

4. Not shortening before sharing

Raw UTM URLs in email bodies and social posts look suspicious and may get filtered by spam systems. Always pass your UTM URL through a link shortener before distributing it.

A simple naming convention to start with

For most teams, this taxonomy covers 95% of use cases:

SourceMediumWhen to use
newsletteremailLinks in your email newsletter
instagramsocialInstagram bio link or Stories
twittersocialTwitter/X posts
linkedinsocialLinkedIn posts or articles
googlecpcGoogle Ads (auto-tagged, but useful as backup)
partner-namereferralCo-marketing or affiliate links

How to use Truthylink's free UTM builder

Rather than building UTM URLs by hand, use Truthylink's free UTM builder. Paste in your destination URL, fill in the source, medium, and campaign fields, and it generates the complete UTM URL. You can then shorten it directly to a branded Truthylink link.

The UTM data passes through the redirect intact — the click analytics in your Truthylink dashboard show real human clicks, and your GA4 dashboard shows the correct campaign attribution.

Checking your setup works

Before sending to your whole list or running a campaign, test the full flow:

  1. Create your UTM URL using the builder
  2. Shorten it with Truthylink and note the short link
  3. Open a private/incognito browser window
  4. Click the short link and confirm it redirects to the right page
  5. Check GA4 Realtime → Traffic → Session source/medium shows your expected values

If the source shows as "direct" instead of your UTM values, the redirect is stripping parameters. A well-implemented link shortener (including Truthylink) preserves UTM parameters across the redirect, but some platforms and email clients strip query strings — test the specific platform before you scale.

Free plan available

Start shortening links for free

50 links, QR codes, and bot-filtered analytics — no credit card needed.

Create free account →