You post the same link on Instagram, in a newsletter, and in a Slack community, and a week later Google Analytics just shows a pile of traffic labeled “direct” or “referral” โ no way to tell which post actually worked. That’s the exact problem UTM links solve, and once you’ve built your first one, you’ll wonder why you didn’t start sooner. I use these on nearly every link I share externally, and it’s saved me a lot of guesswork on what’s actually driving traffic.
What You’ll Need
Nothing complicated here โ just a live URL and access to your Google Analytics property.
Step 1: Understand the UTM Parameters
UTM stands for Urchin Tracking Module โ a leftover name from the analytics company Google acquired back in 2005, though nobody actually calls it that anymore. A UTM link is just your regular URL with a few extra tags stapled onto the end, and each tag tells Google Analytics something specific about where the click came from.
- utm_source โ where the traffic is coming from, like newsletter, instagram, or facebook
- utm_medium โ the type of channel, like email, social, or cpc
- utm_campaign โ the name of the specific push, like summer-sale or july-newsletter
- utm_term โ optional, mainly used for paid search keywords
- utm_content โ optional, useful when you’re A/B testing two versions of the same ad or link
In my experience, source and medium are the two that matter most day-to-day. Campaign is a close third once you’re running more than one promotion at a time.
Step 2: Build the Link
You’ve got two real options here โ use a purpose-built tool that assembles the link for you, or type the parameters onto the URL by hand. I’d recommend the software route if you’re tagging more than the occasional link, but it’s worth knowing how to do both.
Option A: Use a UTM Builder Tool
This is the method I use for almost everything now. Google’s free Campaign URL Builder is the obvious starting point โ you fill in your website URL, source, medium, and campaign name into labeled fields, and it assembles the full link for you, correctly formatted every time. No stray spaces, no missing ampersands.
If you’re tagging links regularly across a team, a dedicated tool like UTM.io or Terminus is worth the upgrade. They store your past campaign names so you’re not retyping “summer-sale” slightly differently every time, they can auto-shorten the link in the same step, and most let you export a history of every link you’ve created โ handy when someone asks “wait, which link did we use for that email?” three months later.
Option B: Build It by Hand
Honestly, this is easier than it sounds once you’ve done it a couple of times, and it’s worth knowing in case you need to tweak a link quickly without opening another tool. Here’s the pattern to follow:
Start with a question mark after your URL, then join each parameter with an ampersand. No spaces โ if a value needs one, use a hyphen or underscore instead.
Step 3: Shorten and Organize Your Links
UTM links get long and ugly fast, which is fine in an email but awkward on Instagram or a printed flyer. Run the finished link through a shortener like Bitly or your website’s own redirect tool, and it’ll look clean while still carrying all the tracking data underneath.
Honestly, this is easier than it sounds once you build a habit around it. I keep a simple spreadsheet with columns for the destination URL, source, medium, campaign, and the shortened link โ that way I’m never guessing whether I already used a campaign name for something else.
Step 4: Track the Results in GA4
Once people start clicking your link, head into Google Analytics and open Reports, then Acquisition, then Traffic acquisition. Your source and medium values will show up as their own row in the session source/medium table, and clicking into it lets you filter by campaign name too.
This step trips up a lot of people because data doesn’t appear instantly โ GA4 usually takes a few hours to process new sessions, so don’t panic if your link shows zero clicks five minutes after you send it out.
| GA4 Report | What It Shows |
|---|---|
| Traffic acquisition | Sessions grouped by source/medium and campaign |
| Conversions | Which campaigns actually led to sign-ups or purchases |
| Explore reports | Custom breakdowns if you want to compare campaigns side by side |
Pro Tips & Common Mistakes
Wrapping Up
Now every link you share can tell you exactly where your traffic is coming from, instead of leaving you to guess. It’s a small habit that pays off fast โ within a week or two, you’ll have a much clearer picture of which channels are actually worth your time. Once you’re comfortable with the basics, it’s worth exploring GA4’s Explore reports to compare campaigns side by side.