Blog
You post the same link in a newsletter, on LinkedIn, and in a partner's roundup. A week later your analytics reports 400 visits and gives you no way to tell which of the three did the work.
UTM parameters solve that. They are short tags you add to the end of a URL, and analytics tools read them to record where each visitor came from.
A tagged link looks like this:
https://acme.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=august-launch
Everything after the ? is the tag. The page loads the same way it always did. The visitor sees a longer address and nothing else changes.
The name comes from Urchin Tracking Module. Urchin was an analytics company Google bought in 2005 and rebuilt into Google Analytics, and the parameter names survived the rebrand.
| Parameter | Answers | Example values |
|---|---|---|
utm_source |
Which site or list sent them | newsletter, linkedin, partner-blog |
utm_medium |
What kind of channel it was | email, social, cpc, referral |
utm_campaign |
Which effort it belongs to | august-launch, black-friday |
utm_term |
Which paid keyword matched | url shortener |
utm_content |
Which version of the creative | hero-button, footer-link |
Source, medium, and campaign carry nearly all of the value, and most teams never need more than those. Term and content earn their place once you are buying search ads or running two versions of the same creative against each other.
If you would rather not assemble the string by hand, our free UTM builder puts one together in the browser. No account, nothing stored.
Inconsistent spelling. utm_source=Facebook and utm_source=facebook arrive as two separate rows in most analytics tools, and so do fb, FB, and facebook-ads. Your best channel then looks like four mediocre ones. Pick lowercase, pick one spelling per source, and write the list down.
Tagging your own internal links. A UTM on a link between two of your own pages tells Google Analytics that a brand new session just started from that source. The visit gets credited to your own footer instead of to whoever actually sent the person. Tags belong only on links pointing into your site from outside it.
Putting the campaign name in the source. utm_source=august-launch-newsletter collapses two questions into one field, and you lose the ability to compare all newsletter traffic across campaigns. Keep the source to where the click came from.
Sharing the raw tagged URL. A 140 character link in an Instagram bio looks like spam, gets truncated in some clients, and shows anyone who reads it exactly how you are bucketing them.
That last mistake is the one a short link fixes. In GoGoLink, UTM parameters are a setting on the link rather than something you paste into the URL. You fill them in once in the link editor, and they get attached to the destination at the moment someone is redirected.
Two useful things follow from that. The address you published stays short and readable, so you can put it on a slide or say it out loud. And because the tags are computed at redirect time instead of baked into the stored destination, you can correct a typo in a campaign name after the link is already out in the world.
Query parameters a visitor adds to the short link get forwarded to the destination too, so an existing ?ref= or ?plan= on the end of a shared address still arrives. Where the two collide, the UTM values you set on the link win.
If you do one thing after reading this, agree on the exact spellings your team is allowed to use for source and medium before anyone tags another link. That decision takes ten minutes and prevents most of the mess above.
There is a convention you can copy in a UTM naming convention your team will actually follow, and a builder to generate the links once you have agreed on it.