blog post details

Can You Rely on a Naked Bounce Rate?


So what is a Naked Bounce Rate? Well, probably something I just made up. But it does describe a very real scenario!

Naked Bounce Rate is when you have a website with the Google Analytics API integrated, and you only rely on the default pageview event to measure your bounces.

It’s my interpretation, and many other SEO professionals as well, that Bounce Rate is supposed to measure visitor engagement.

The problem is that the implementation of the metric itself is too simplistic to get an accurate measurement of engagement. Funny thing, this is actually quite evident from Google’s own documentation on Bounce Rate. They offer an explanation of what issues bounce rate has, and then they offer advice on how to fix the problems.

They key thing to me is what the page actually measures, and that’s clicking on an internal link. That’s it. But it’s supposed to measure interaction.

 In fact, Here’s the definition directly from the documentation:

Bounce Rate is the percentage of single-page sessions (i.e. sessions in which the person left your site from the entrance page without interacting with the page).

The italic emphasis was mine. But you see it, interaction. This is what we’re supposed to be measuring. These days the SEO folks and marketing guru’s like to call that Engagement. Not like getting married engagement, but people doing stuff on your website.

The problems described and the solutions offered in Google’s Bounce Rate Definition page really do seem to infer that the intention of the bounce rate is indeed for the purpose of measuring engagement.

The problem is that the metric itself mostly relies on the user clicking a link to another page in the website. This is a highly outdated measurement of engagement for several reasons:

  • Some websites are just one page websites, and while the visitor may be engaging with the website, it will look like the visitor is NOT engaging because there’s no internal links to click. This is a false positive for a website exit.
  • Bookmarking. If a user lands on your website, likes what they see but wants to read it later; they might just bookmark the page and leave. This is an engagement! But it will look like an exit and will register as a bounce. If you have a lot of returning traffic matching a previous visit that was short, this could be happening on your site.
  • Time on page. Most digital marketers that I speak with agree that time-on-page is most certainly a form of user engagement. If your visitors are consuming your content but not clicking anything, this still counts as engagement.

There’s a simple way to tell Google Analytics that there’s been an engagement to help prevent a false positive for a bounce.

This is to add a time based event to your website header. 

First you need to find the Google analytics JavaScript code in your page and add a line to it (I’ll give you that code in a moment). Or, if you’re thinking something like “yeah, I’m NOT doing any of that coding stuff”, then you’ll want to have one of your nerdy friends read this and help you out. Or just call me, and I’ll do it for a #16 from Jimmy Johns!

Anyway, find the code in your website that looks similar to this snippet:

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
ga('create', 'UA-YOUR-GOOGLE-ID', 'auto');
ga('send', 'pageview');

This is the line of code you will need to copy and paste to your Analytics code:

Select and copy the line of code above, then paste between:
ga('send', 'pageview'); and </script>

Now you’ll need to replace the values inside the square brackets with your own values.

For [label] replace the text AND brackets with a value that has meaning to you. This will show up in your Analytics report under events so give it a unique value that will let you know exactly what event this is. You could call it something like Time on Site Engagement. It’s completely up to you.

For [description] replace the text AND brackets with a description that matches the label. I like to use a description that indicates the amount of time you prefer to wait to kick off the event. You could use something like Time on Page 45 Seconds or More. There’s no confusing the meaning of that description.

For [time] you need to replace the text AND brackets with the time you want to wait to fire off the event. The time must be in milliseconds. To calculate how many milliseconds you need to use, just multiply how many seconds you want to wait by 1,000. So a 45 second wait will be 45 x 1000 = 45,000 milliseconds.

Make sure you don’t include any commas or decimals in this field at all, just numbers.

How many seconds you enter is up to you. Ideally, you should find out how much time on your site counts as a meaningful engagement. A good metric is the average time on site. Users that spend any time on your site is a good measurement of engagement, so this is a solid number.

If you get a lot of enter, bookmark, and leave visitors, you can shorten this value if you want. Just understand that not waiting long enough can run the risk of creating the opposite problem where you count a legitimate bounce as an engagement, and skew your numbers in the wrong direction.

You could use any duration of time you want though. Just keep in mind that you want the most accurate measurement of engagement possible, otherwise you’re just gaming yourself.


Getting the most accurate bounce rate is really dependent on understanding how users actually interact with your website and making adjustments to measure those interactions accurately. Depending on the Naked Bounce Rate to measure user engagement and relevance is likely going to skew your numbers towards a bounce rate that’s too high.

Using the method above will prevent most false positives for a website exit and help you get a more accurate rate.

Do you have anything to add or any questions? Leave a comment below and let me know!

Leave a Reply

Your email address will not be published. Required fields are marked *