I wanted to track where traffic to my blog posts was coming from, especially whether it originated from LinkedIn or other sources. Using HTTP_REFERER wasn’t reliable, since some traffic comes from apps where the referrer isn’t passed through. That’s when I learned about UTM (Urchin Tracking Module).
UTM parameters are simple tags you add to a URL, like this:
?utm_source=linkedin&utm_medium=social&utm_campaign=blog_promo
They let you track where your traffic is coming from. They don’t directly affect SEO, but they’re useful for measuring performance.
How they work
- utm_source → where the traffic comes from (e.g. google, newsletter, twitter)
- utm_medium → the channel (e.g. cpc, email, social)
- utm_campaign → the specific campaign name
- (optional) utm_term → keywords (for paid search)
- (optional) utm_content → differentiates versions of links (A/B tests, buttons vs banners, etc.)
Example
Let’s say you’re sharing your blog post on LinkedIn. You can attach UTM parameters to the link like this:
https://yourblog.com/post-name?utm_source=linkedin&utm_medium=social&utm_campaign=blog_promo
If you also share the same post in a LinkedIn comment or a different post format, you can tweak it slightly:
https://yourblog.com/post-name?utm_source=linkedin&utm_medium=social&utm_campaign=blog_promo&utm_content=comment
When people click these links, tools like Google Analytics will show you not just that the traffic came from LinkedIn, but also which specific version of the link performed better.
Why it matters
- See which channels actually drive traffic
- Measure campaign performance
- Make data-driven marketing decisions