Why using UTM parameters on internal links is a very bad idea!
Using Google’s UTM parameters on internal links is one of the easiest ways to cause a whole host of problems with your Google Analytics data, which can significantly complicate analysis of marketing performance. As David McCandless says - Information is Beautiful. But if your information is tangled up with incorrect attribution and sloppy sessions, your learnings are limited. Here we look at how to use UTM parameters effectively, and what can go wrong when they're implemented incorrectly.

How it works
When a page is loaded in the browser it makes an HTTP request to a web server to deliver that page. This request includes the HTTP Referrer which contains the source of the page which linked to the one being loaded. This way, Google Analytics knows how a session arrived - perhaps via Google.co.uk or the BBC.co.uk - and can then class this as Organic or Referral traffic, depending on the source. Sometimes the HTTP Referrer isn’t available. For example, someone accessed your site directly rather than via a link – in these instances the sessions are classed as Direct traffic.
What you need to know about UTM parameters
- UTM stands for Urchin Tracking Modules
- They help you to track the effectiveness of your marketing campaign, allowing you to become a super marketer. Maybe
- They usually look a little something like this:https://www.example.com/?utm_source=facebook&utm_medium=email&utm_campaign=winter-sale UTM parameters are added to the end of a destination URL in a marketing campaign, and contain information on:
- Source (Required) – The source which sent the traffic (e.g. Facebook)
- Medium – What type of link was used (e.g. email)
- Campaign – The promotional campaign name (e.g. winter-sale)
- Term – The search term (if relevant)
- Content – What was clicked (e.g. banner ad)Using the above URL as an example, when Google Analytics tracks the above page view it will ignore the HTTP Referrer - instead, the session will be assigned to the source and medium specified within the UTM parameters. In this case, Google Analytics would derive the visitor has come from a paid ad campaign on Facebook, promoting a winter sale. All excellent information you need to know to prove your campaign was better than Sandra's.
Why should you use them?
By default, if you were running a campaign on Facebook it would be difficult to isolate its performance in Google Analytics, as your paid and unpaid traffic would be reported as one. By using UTM parameters on your ad URLs you can identify your paid traffic by assigning it a different source, medium and campaign name.
Why shouldn’t you use them on internal links?
UTM parameters are onlyintended for external links which point to your site (in the above example, this is Facebook), as they cause Google Analytics to ignore the HTTP Referrer. Once a visitor has arrived on your website there’s no reason to change the referrer when they start navigating through internal links on your site. Doing so causes a lot of problems which we investigate in more detail below, based on the following scenario:

The above shows two potential scenarios - one involving the presence of UTM parameters on internal links of your site (Step 3a) and another which doesn’t (Step 3b). Let’s see what the impact of both of these is…
Inflates Sessions
The presence of UTM parameters will start a new session. So, if a visitor arrives via Google that is one session and one page view (as shown in Steps 1 & 2) attributed to Google. If they then click an internal link on your site which contains UTM parameters (Step 3a), that second page view (Step 4) will be attributed to a new session as the source and medium has been changed to “Internal”. Therefore, your session count will be artificially inflated as one visitor’s session has suddenly been split into two separate ones, both consisting of just a single page view. If, however, there were no internal UTM parameters (Step 3b) then that second page view would be attributed to the original traffic source and medium, which in this case would be “Google / Organic” based on Step 1, and this would just be a single session consisting of two page views - an accurate picture of your web traffic, giving you a better understanding of the success of that particular web page.
Inflates Bounce Rate
As mentioned above, the presence of internal UTM parameters prematurely cut sessions in half. If that happens immediately after the first page view (Step 2) then that session will consist of just a single page view and will therefore be classed as a bounced session - again, making it difficult to understand whether your audience are engaging with the content on your website. In reality, the visitor will be looking at another page on your site (Step 4), but because of Step 3a that second page view is being attributed to a new session, where it’s then considered the first page view.
Skews Session Duration
Google Analytics calculates average session duration based upon the amount of time which has lapsed between the first and last page views which occur within a session – however for this to work they need at least two page views. Therefore, in the above scenario where Step 3a ends the initial session after just one page view, a session duration of 0 seconds will be recorded. If however the visitor instead went via Step 3b then a second page view would be recorded as part of the same session, and therefore the session duration would be calculated. Success, data!
Leads to Incorrect Conversion Attribution
Creating a new session by setting a new source/medium halfway through an existing session will mean any subsequent conversions will be incorrectly attributed. For example, in the above scenario if the visitor converted after Step 3a then the conversion would be attributed to “Internal” – although really it should be attributed to “Google / Organic”, which would have happened had the visitor gone via Step 3b instead.
What have we all learnt from this?
Don’t use UTM parameters on internal links. Ever. It will render your Google Analytics data meaningless and inaccurate, and you'll be unable to understand how to better your campaigns and website. If you think you might have UTM parameters set up on internal links, get in touch and we'll perform a free health check and come back to you with results on our findings.