Something I see popup now and then, UTM tags on internal links seem to be one of the more popular solutions for tracking internal link campaigns.
They drive me crazy sometimes, as they’re never fun trying to clean up.
Not only does the link not point to the primary page you’d like to rank, it also messes with your GA tracking data.
Yeah, canonical fixes this and that but no. No, it doesn’t.
A canonical is a suggestion to Google, that they’re following less and less.
An internal link is also a suggestion to Google about what URL you prefer for a piece of content.
Comments from John Mueller;
More from @johnmu about utm params: Our systems try to understand the different urls… so send Google clear signals. Rel canonical is a strong signal, but so are internal links. You could also be causing more crawling by using those parameters: https://t.co/vCz9gjpFTQ pic.twitter.com/y3XydkGB09
— Glenn Gabe (@glenngabe) February 19, 2019
Here’s the video:
For the analytics tracking, here’s a Google comment re: the analytics side of this;
— Daniel Waisberg (@danielwaisberg) February 20, 2019
One of the big things is it creates new sessions for every click. and will assign conversions to your internal link source rather than the initial external source like SEO or Paid Media.
No one likes when their SEO traffic conversions get reassigned!
There are a couple of alternatives, depending on what you’re actually trying to achieve;
- Use the user flow report under Audience » Users Flow
- Create onclick events for the specific links you’d like to track (can use Google Tag Manager here)
- Create a custom dimension for the events, and then use that to view the key metrics
Not my specialty here, but I can guarantee that UTM tags are not the way.
Shit happens, weird choices and mistakes happen. How do you go about cleaning it up?
Firstly, strip the internal link UTM tags immediately. That will stop the issue from growing, and help to start to correct any indexation & crawling issues.
Whilst the canonical tag technically should eventually fix it once links are removed, it doesn’t always. There’s also a quicker method.
A heap of redirects.
Provided there are mediums/sources/campaigns on there that are isolatable to only the internal links, then you can redirect the URLs to strip the params.
The 301 redirects should basically work that if one of these mediums/sources/campaigns exists, then just strip out all UTM tags with a query parameter.
That will have the least effect possible on any other UTM tags.
If there is nothing unique about these tags from any external tags, which would be weird but can happen, then you essentially have two options.
Leave it as is, and just strip out the internal link UTM tag. The other being change all of your external campaign UTM tags to ensure that there is a differentiator, and then you can just redirect the internal link versions.
This shouldn’t be a debate, as there are alternative methods.
Yeah, UTM tags are easy. But you’re messing up your data, and messing up your indexation.