Speed up Including Google Analytics

Have you ever noticed that your homepage hangs when including the Google Analytics JavaScript file? I think a few people have noticed a delay. Well, let’s try something different. Let’s create the script node dynamically using DOM methods and put a timeout on this creation so that it inserts just enough delay so that your page won’t hang (we’ll move out of the current execution path with the timeout, thus allowing your page to finish loading). The obvious benefit here is that even when the Google servers lag a little bit serving you the JavaScript file, your page will appear as if it has already finished loading. Given optimally performing Google Servers, this method will perform slower most of the time, but it shines in those rare instances where there is a bit of a delay. Give it a try, and let me know if it works any better.

Of course, remember to put near the end of your <body>, and not directly in your <head>.

<script type="text/javascript">
(function()
{
    setTimeout(function()
    {
        var node = document.createElement("script");
        node.src = 'http://www.google-analytics.com/urchin.js';
        //for SSL
        //node.src = 'https://ssl.google-analytics.com/urchin.js';
        node.type = 'text/javascript';
        document.getElementsByTagName("head")[0].appendChild(node);
        var init = setInterval(function()
        {
            _uacct = 'UA-XXXXXX-X'; // INSERT YOUR CODE HERE
            if(typeof urchinTracker != 'undefined') {
                urchinTracker();
                clearInterval(init);
            }
        }, 100);
    }, 0);
})();
</script>

Try it on my benchmark page.

VN:F [1.8.1_1037]
Rating: 4.0/5 (3 votes cast)
Speed up Including Google Analytics4.053
This entry was posted in JavaScript and tagged , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
  • Thanks for reading. If you found this article useful, and you've read through some of my previous articles, you might as well Subscribe to my content subscribe to my blog. You'll save me some bandwidth that way.

One Trackback

  1. [...] First of all, Google makes it very easy to embed metrics into your website, by copying and pasting a bit of javascript into your page. If you’re running into delays downloading the urchin.js file, you can use tricks such as Speed up Google Analytics with dynamic includes. [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Additional comments powered by BackType