Information and advice for healthcare consumers.

Stuff we've learned

How Javascript Execution Time Affects Bounce Rate Javascript Execution Time vs Bounce Rate

It’s no secret that Google likes web pages that load quickly. In fact they offer free page speed tools to help you optimise your site and make the bold claim that “Fast and optimized pages lead to higher visitor engagement, retention, and conversions.”

We’ve no reason to doubt them either – all of our previous testing bears out these claims. However, it recently became possible for us to measure the time it takes for javascript on our pages to finish executing, so we decided to have a look again, and while the overall result wasn’t surprising, the scale of it was.

Bounce Rate Increased 15%

In short, the difference between the bounce rate at 0 ms javascript execution technically (0 – 50 ms) and 1500 ms was 15%, or in our case a rise from 41.86% to 48.26%. More than that, the rise in bounce rate was almost linear as the javascript execution time got bigger. (After 1500 ms the bounce rate flattened out.)

The data above is taken from around 150,000 visits that started on our search results pages, the most viewed pages on our site. The result is similar for visits that start on our brochure pages, although the rise in bounce rate isn’t quite as large, peaking at 6.5% up between 100 ms and 900 ms javascript execution time.

What Next?

The data indicates a very direct correlation between the time our javascript is taking to execute and the bounce rate of visitors to our site, so next we’re going to dig in a little further to work out why the javascript takes such a range of times to execute, and see if we can work out any quick wins on how to shave some precious milliseconds off our current speeds.

4 Responses to “How Javascript Execution Time Affects Bounce Rate”

  1. Laurence says:

    Worth segmenting across browsers?

  2. With Lar on his idea – segmenting by browser may show where performance differences are happening.

    What tool are you using to measure JS execution latency Philip?

  3. Simon Boyle says:

    I think total execution latency is probably a red herring here.
    Take a look for scripts that are blocking either network requests or rendering and see if you can defer execution until after the page has loaded. As ever, is a great place to start.

  4. Philip Boyle says:

    Laurence and Richard – I’ll be looking at segmenting the data later this week and let you know what I find. We’re passing the data to Google Analytics as a custom variable so it should be easy enough.

    Simon – Will run that past engineering but to the best of my knowledge they’re pretty much on top of that (or at least as much as they can be). Further segmentation analysis may reveal that the correlation is meaningless though – it could be as simple as country of origin skewing things so it’s worth looking into a bit further.


[Read More Stuff we've learned Posts]