Considering the massive amount of websites that are using Google Analytics it is of course extremely important that the Google Analytics script is always available and responding well so that website visitors will have no problems loading it.
We use Google Analytics ourselves here at Pingdom and think it’s a great tool for keeping track of our visitor traffic. Since we have included the GA script on both our main website and our blog, we were curious to see how well it performs and how reliable it is (uptime wise).
To find out, we have monitored the accessibility of both the ga.js and urchin.js scripts around the clock using our monitoring network for the last three months. Websites include either of these scripts to gather statistics for Google Analytics. We call both the “GA script” for simplicity’s sake.
No downtime to speak of, but…
We might as well say right away that during the last three months there has been extremely little downtime. This being Google, that may not be so surprising. There was some very minor downtime on November 26 when we could’t load the GA script (only a few minutes) but other than that there has been nothing to talk about.
When it comes to load time performance, though, we noticed something very interesting…
Ebb and flow load time performance
When looking at the load time data averaged over time, a clear trend emerges: the load time of the GA script differs quite a lot depending on the time of day.
(The graphs in this article are for the urchin.js script, but the ga.js script showed more or less identical numbers and the same trend, so it’s relevant for both.)
The graph below shows the script load times from all our monitoring locations combined, averaged over the entire 3-month period. The tests were performed from multiple locations in Europe and North America.
Note that Central European Time (GMT +1) is used in the first two graphs below.
This kind of uneven “load time pattern” is not uncommon for regular websites, but it’s interesting to see this happening with something run by Google.
It becomes even more interesting if we break down the monitoring results between Europe and North America.
As you can see, loading the GA script from North America is overall a bit slower than loading it from Europe. On the other hand, while the European load times are significantly faster on average than the North American ones, the performance is much more uneven over the course of the day.
The difference between the maximum and minimum load times for North America is 27%, but in Europe the difference is 97%.
It is notable that the high and low of the curve for Europe bears quite close similarities with the highs and lows of the Internet traffic volume in Europe. (For the curious, you can get an idea of the daily European traffic levels from this graph from the Amsterdam Internet Exchange, the largest IXP (Internet Exchange Point) in the world.)
If you look at the curve for North America, the load time for the GA script from North America is also faster when traffic is naturally lower, at night time. To make this easier to see, here is the North America curve again, this time adjusted to US Eastern Standard Time.
The difference is not as extreme as in Europe, but it’s there.
Does Google need to scale up Google Analytics?
The data we have uncovered seems to indicate that even with Google’s massive infrastructure at its back, access to the Google Analytics script is affected by the ebb and flow of varying website traffic.
It could be a sign that Google should start thinking about scaling up the part(s) of its infrastructure that hosts the Google Analytics script.
How does this affect site owners?
There is no real reason to worry about the load time performance of Google Analytics as it is now, but as with any external scripts included on a website, it is a good idea to make sure that the web page doesn’t try to load the external scripts the first thing it does.
Instead, load external scripts (such as GA) after loading the content of the web page; that way the web page will not freeze as a blank or almost empty page in case a script is slow to load (or doesn’t load at all).
We have shown that European web surfers have potentially faster access to the GA scripts, but the performance today seems to be hampered somewhat during peak traffic hours.
We don’t know exactly how Google is serving these scripts (though we assume they are using some form of CDN), but the difference is a fact. European web surfers will load the GA scripts almost twice as slow during the afternoon and evening (European time) compared to the rest of the day. North American users will also see a difference, but it will not be as pronounced.
Note that these are hourly averages measured over a long time. There will be variations from day to day and test to test (some load attempts will be faster, some slower).
About the survey:
The files that we loaded were www.google-analytics.com/urchin.js and www.google-analytics.com/ga.js. This would be the equivalent of a website visitor loading the script in his browser when accessing a website that uses Google Analytics.
Tests were performed once a minute over a 3-month period.
North American load times were tested from 5 different locations. European load times were tested from 4 different locations. (All test were done with the Pingdom uptime monitoring service.)