After working with a client recently to improve site speed, I found myself questioning how does Google Analytics measure Site Speed and Average page load times?
It is well known in SEO and tech circles that Google is watching us all to see if we provide a great user experience for our visitors through desktop and mobile optimised versions of the site, through to the speed at which it is presented to users. Google knows that people will get bored and move on pretty quickly, so they measure speed to help decide if a user will be able to get the information they need quickly.
Google Analytics presents page timing data on 1% of visitors by default. Of all your visitors you will be collecting speed data from about 65% of the internet population based on global browser install statistics. The service only measures new visitors rather than returning visitors who will have some of your files and website cached on their machine, and thus have a faster experience.
How does Google Analytics measure site speed?
Fundamentally GA tracks the site speed and page load time through one of two methods:
- The installed Google Toolbar
- The HTML5 NavigationTiming interface
The Google Toolbar is a plugin for IE, Chrome and Firefox that has been around since about 2003, and has been the subject of many privacy concerns as it sends information such as the page you are visiting and speed information back to Google. It is installed on millions of computers and we can assume that at least some of them have these advanced features turned off, so this cuts down the number of visitors that are able to provide you with speed information.
Browser ‘NavigationTiming’ Interface
The NavigationTiming interface is part of the draft HTML5 standard, which is still being defined and adopted by the browser manufacturers. The current implementation of this specification shows most modern browsers use it, so therefore Analytics can report the speed.
Supporting browsers that will provide speed data via Google Analytics:
- Internet Explorer 9 & 10
- FireFox 7+
- Chrome 13+
- Android Browser 4+
Notable exceptions from this are:
- iOS Safari (on iPhone)
How many visitors give me speed information?
By default the sample rate set is 1% of your traffic according to the setSiteSpeedSampleRate() developer docs. This is a small sample size, and it is worth remembering when looking critically at the reports. You can increase this number to 10% by manually adding this line into your Google Analytics code.
How many of your visitors make up the 1%? The world browser market share in February 2013 looks like this:
We can conclude then that we will be receiving data from approximately 80% of visitors to our sites. But that’s not quite right.
Internet Explorer does not automatically update like FireFox and Chrome, so the number of IE users on version 9 or 10 (the browsers that support the speed timings) is actually around 15% bringing our overall sample size down to 65% of our visitors.
Measuring Speed on Mobile
So if Safari is not included in the supported browsers then how does Google produce a speed report for mobile? Well, at the time of writing this is purely based on Android mobile browsers. Safari has no implementation on iOS and is not able to report this information to Google.