Adjusting Bounce Rate in Google Analytics

 

If majority of people come and leave your website without completing the actions/goals you desire then you can’t have a good conversion rate.

But what if people come and leave your website from the landing page but still complete your desired goals. How you will determine such conversions?

In other words you are getting conversions through bounced sessions. But since it is a bounced session (visit) you have no idea how valuable your bounced sessions could be.

Generally a high bounce rate indicates that the landing page is not relevant to your users.

But what if the landing page is relevant to your users but it gets 100% bounce rate majority of the time because it satisfies visitors’ query and there is no need to explore your website any further?

This is usually the case with content rich websites like blogs, news site, publishing sites etc.

 

Why you need to Adjust Bounce Rate?

People come to your site, consume contents and then leave the website from the landing page without browsing any further.

Since Google analytics by default can report time spent on a webpage only when a visitor navigate to other web page on the site, we can never know how much time is spent on a particular page and whether 100% bounce rate is good or bad.

We often do experimentation and testing of a landing page on the basis of its bounce rate. High bounce rate is bad. Something is wrong with the page. That’s the general opinion of marketers/analysts.

But what if nothing is wrong with the page and in fact you bounce rate calculations are all wrong.

Imagine how dangerous it could be to take business decisions on the basis of a faulty bounce rate metric. 

The landing pages you think stink, don’t stink in the first place and yet you continue to optimize them.

 

What should not be considered as BOUNCE?

Before we fix the bounce rate of our website, we need to decide what should not be considered as a bounce.

“When a person completes a goal or a transaction on your website then his/her visit should not be counted as bounce even if that visit is a single page visit.”

This is because our primary reason of running a website is to get conversions and transactions and not to optimize bounce rates.

Once we have done this we have achieved our goals. No crappy bounce rate should mislead us.

Now the next question that comes up is

How we can determine the Users’ behavior that should not be considered as bounce?

For this, follow the steps below:

Step-1:  Head to the Engagement report (under Audience > Behavior) in your Google Analytics main view.

Step-2: Set date range of your report to the last 4 months.

Step-3: Apply the advanced segment ‘Sessions with Conversions

sessions with conversions

If you look at the screenshot above you can easily determine that majority of conversions take place when visitors spend more than 1 minute (61 – 180 seconds +) on the website.

So if I want a user to convert on the website, I need to make him stay at least for 1 minute on my website. Because if he stays that long, then it is highly likely that he will convert.

I call this engagement as profitable engagement because it leads to conversions.

 

If you run/manage an e-commerce websites then you should also apply another advanced segment called ‘Sessions with transactions’ to determine profitable engagement:

sessions with transactions

From the report above, we can conclude that majority of conversions and transactions take place when visitors spend more than 3 minutes on the website.

So if I want a user to convert on the website, I need to make him stay at least for 3 minutes on my website. Because if he stays that long, then it is highly likely, that he will convert.

3 minutes visit duration is pretty much standard but it may be different in case of your website/niche. So I would strongly suggest you to determine the minimum time it takes for majority of your website users to profitably engage with your website.

 

Adjusting Bounce Rate in Google Analytics

Once you have determined the minimum time required to profitably engage with your website users, you need to make some adjustment to your bounce rate, so that you can see true bounce rate metric in your Google Analytics report.

Remember, the bounce rate metric will still not be 100% accurate (more about it later) but would be still significantly better than the bounce rate you currently see in your reports.

Add following line of code to your Google Analytics Tracking code on each page of your website:

setTimeout(“ga(‘send’,’event’,’Profitable Engagement’,’time on page more than 3 minutes’)”,180000);

The complete Google Analytics Tracking Code may look like the following:

<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’,’//www.google-analytics.com/analytics.js’,’ga’);

ga(‘create’, ‘UA-XXXX-XX‘, ‘auto’);
ga(‘require’, ‘linkid’, ‘linkid.js’);
ga(‘require’, ‘displayfeatures’);
ga(‘send’, ‘pageview’);
setTimeout(“ga(‘send’,’event’,’Profitable Engagement’,’time on page more than X minutes‘)”,XXXXX);
</script>

#1 Replace the ‘UA-XXXX-XX’ with your Google Analytics property number

#2 Replace X minutes with the minimum time required to profitably engage with your website users in minutes.

#3 Replace XXXXX with the minimum time required to profitably engage with your website users in milli seconds.

 

The setTimeout() is a JavaScript function (method) which waits for specified number of milliseconds before it executes the specified function.

Syntax: setTimeout(“javascript function”,milliseconds);

The javascript function that I am using for the setTimeout() method is:

ga(‘send’,’event’,’Profitable Engagement’,’time on page more than X minutes’)

Through this function, I have set up:

#1 Event category: Profitable Engagement

#2 Event Action: Time on page more than X minutes

However, GA will not send the event tracking data to its server unless X minutes have elapsed because of the setTimeout method.

So long story short, I fire an event on a web page when more than 3 minutes have elapsed.

This will give me a good idea of whether or not visitors are profitably engaging with contents on the site despite of their single page visits. So if visitors are profitably engaging with the site contents then I will treat their visits as non-bounce visit.

Remember the geek definition of bounce rate:

Bounce rate is the percentage of single page visits/sessions in which only one GIF request is sent to the Google Analytics server.

So if you want to make a visit a non-bounce visit then you need to pass more than one GIF request to the Google Analytics server within a single session.

Every Google analytics tracking code sends at least one GIF request to the Google Analytics server.

If your Google Analytics tracking code also fire an event tracking code then two GIF requests will be send to the Google Analytics server in a single session.

Since more than one GIF request is sent to the Google Analytics server in a single session, the visit will no longer be treated as bounce visit by Google Analytics.

 

What will happen next?

Once you have adjusted your bounce rate metric by editing your Google Analytics Tracking code, the overall bounce rate of your website will most probably go down within few days and you will see a bounce rate which is a better representative of true bounce rate.

After adjustment, the bounce rate of my website went down from the whooping 78.72% to 27.74% within a week.

That’s a massive difference. Isn’t it? I will take different marketing decision on the basis of 27% bounce rate than on the basis of 78% bounce rate.

 

Tracking conversions through Bounced Sessions

If people are converting in a single page visit then you need to track this behavior. But how?

One answer is tracking events as goals.

For example let us say that when a visitor spends more than 3 minutes on your website he/she is most likely to convert. So I can configure the setTimeout() method to capture the event once a visitor has spend say 3 or more minutes on a web page.

The code for this is the same as above:

setTimeout(“ga(‘send’,’event’,’Profitable Engagement’,’time on page more than 3 minutes’)”,180000);

Here ‘profitable engagement’ is the event category, ‘time on page more than 3 minutes’ is the event action.

To know more about event tracking in Google Analytics, check out this article: Event Tracking in Google Analytics.

Set up this event as a goal in your analytics view with following specifications:

profitable engagement event goal

 Once you have set up this goal and starts collecting goals data you will see a report (Conversions > Goals > Goal URL) like the one below:

goal completion location

 

Adjusting the Bounce Rate (Advanced way)

In order to get bounce rate as accurate as technically possible, I would suggest you to determine profitable engagement duration for each section or content type of your website and then adjust your bounce rate accordingly.

What that means, you need to add different tracking code to different pages on your website which record bounce rate differently.

If you are not using Google Tag Manager, then it is going to be very time consuming to track bounce rate per website section. But that’s the only way to get bounce rate as accurate as technically possible.

People spend different amount of time on different type of contents.

For example you can’t expect visitors to spend 3 or more minutes on a ‘contact us’ page, support page or ‘about us’ page or on a small infographic or article.

So you need to adjust your bounce rate for different sections or type of contents on your site accordingly.

In the end it all depends upon how accurate you want your bounce rate calculations to be and how much bounce rate impact your marketing decisions.

To learn about adjusting bounce rate in Google Analytics via Google Tag Manager, check out this article: Adjusting Bounce Rate via Google Tag Manager

Other Posts you may find usefulAnalytics Case Study: When your Conversions don’t matter

 

Quick Announcement about my new books

maths and stats bottom banner email analytics bottom banner attribution modelling bottom banner

Book #1: Maths and Stats for Web Analytics and Conversion Optimization - This expert guide will teach you, how to leverage the knowledge of maths and statistics, in order to accurately interpret data and take actions, which can quickly improve the bottom-line of your online business.

Book #2: Master the Essentials of Email Marketing Analytics - This book focuses solely on the ‘analytics’ that power your email marketing optimization program and help you in dramatically reducing your cost per acquisition and increasing marketing ROI, by tracking the performance of the various KPIs and metrics used for email marketing.

Book #3: Attribution Modelling in Google Analytics and Beyond - Attribution modelling is the process of determining the most effective marketing channels for investment. This book has been written to help you, in implementing attribution modelling. It will teach you, how to leverage the knowledge of attribution modelling, in allocating marketing budget and understanding buying behaviour.

Himanshu Sharma

Certified web analyst and founder of OptimizeSmart.com

My name is Himanshu Sharma and I help businesses in finding and fixing their Google Analytics and conversion issues.
  • More than ten years' experience in SEO, PPC and web analytics
  • Certified web analyst (master level) from MarketMotive.com
  • Google Analytics certified
  • Google AdWords certified
  • Nominated for Digital Analytics Association Award for Excellence
  • Bachelors degree in Internet Science
  • Founder of OptimizeSmart.com and EventEducation.com
I am also the author of the book Maths and Stats for Web Analytics and Conversion Optimization If you have any questions or comments please contact me