Bounce rate is a very important metric that we like to keep an eye on to see if our content is what the visitor is looking for and if it’s keeping them engaged or not.
But did you know that the bounce rate score you see in Google Analytics can often be horribly skewed and misleading?
What is a bounce?
Google’s definition of a bounce goes as follows:
“A bounce is a single-page session on your site. In Analytics, a bounce is calculated specifically as a session that triggers only a single request to the Analytics server, such as when a user opens a single page on your site and then exits without triggering any other requests to the Analytics server during that session.”
Seems straight forward enough right? Now imagine this scenario, a visitor comes to your site and leaves 5 seconds later without clicking anything else after not finding what they were looking for. A second visitor then comes to the same page, loves the content there and spends the next 10 minutes reading and afterwards also leaves the site. Obviously these two visitors did not have the same interaction with your site and yet they are both counted as a bounce!
The problem with Google Analytics is that unless there is some other form of interaction by the user on your site (such as clicking an internal link to another page) then with it’s default setup it’s very difficult for the tracking code to tell the difference (in terms of bounce rate anyway) between the above two cases. There are some other engagement metrics that Google uses to try and estimate the time spent on the page as explained very well by Justin Cutroni here but there are ways of filtering this yourself too.
How to change Google Analytics tracking for bounce rate
Let’s say you have a blog or content site, you may have calls to action for selling products or downloading pdfs and so on and all these can be counted and tracked as engagements. However, even a visitor staying on your site for a reasonable length of time and reading your content should be counted as an engagement and that needs to be tracked.
A good way of getting a rough idea of what a reasonable engagement time is by going into your Google Analytics dashboard and then going to Audience > Behaviour > Engagement and then looking at the session duration vs sessions and page-views, if a large number of your sessions and page-views are for say the 61-180 seconds session duration then this a firm indicator of a reasonable amount of time for a visitor who is engaged with your content.
You can now use this number to make a change to your tracking code as follows:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXX', 'auto');
ga('send', 'pageview');
setTimeout(“ga(‘send’,’event’,’Engaged User’,’time on page more than X minutes‘)”,XXXXX);
</script>
Your tracking code will most likely look the above, you add the last line just before the </script> code, the text in bold is for the following:
UA-XXXXXXX – this is your Google Analytics tracking code, it should already be present so you don’t need to change that.
Engaged User – here we are creating an event for Google Analytics to track
X minutes – is the number of minutes we want to track, so for this example it might be 3 minutes
XXXXX – this is the same number as above but in milliseconds, so for 3 minutes that is 180 seconds so 1800 milliseconds.
Once you have that setup Google Analytics will now count users that have been on any page for more than 3 minutes as an ‘Engaged user’ and the more of these events are triggered
the less number of visitors will be counted as a bounce even if they only visit a single page and your overall bounce rate should drop.
Do note that it will most likely take at least 48 hrs before you see any changes to your bounce rate.