Detecting Google Universal Analytics

By  on  

Just about everyone uses Google Analytics and why shouldn't they?  The amount of useful data you can pull from Google Analytics, especially if you use custom dimensions, is amazing.  Whether you're A/B testing, trying to increase engagement, or improve sales, Google Analytics is just about perfect.

I recently experimented with detecting external link clicks with the current version of Google Analytics called Universal Analytics.  In doing so I realized that utilities like Ghostery blocked GA, which is fine, but they also shim the ga function that I was using to detect if the third party service was loaded.  Damn.  It turns out you need to do an additional check:

if(window.ga && ga.create) {
	// Do you ga stuff
	ga('send', 'pageview');
}

Checking for the Analytics's custom create method ensures that Google's utility is there and not simply shimmed by Ghostery or a likewise service!

Recent Features

  • By
    Responsive Images: The Ultimate Guide

    Chances are that any Web designers using our Ghostlab browser testing app, which allows seamless testing across all devices simultaneously, will have worked with responsive design in some shape or form. And as today's websites and devices become ever more varied, a plethora of responsive images...

  • By
    39 Shirts – Leaving Mozilla

    In 2001 I had just graduated from a small town high school and headed off to a small town college. I found myself in the quaint computer lab where the substandard computers featured two browsers: Internet Explorer and Mozilla. It was this lab where I fell...

Incredible Demos

  • By
    Highlighter: A MooTools Search & Highlight Plugin

    Searching within the page is a major browser functionality, but what if we could code a search box in JavaScript that would do the same thing? I set out to do that using MooTools and ended up with a pretty decent solution. The MooTools JavaScript Class The...

  • By
    CSS @supports

    Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS.  What we end up doing is repeating the same properties multiple times with each browser prefix.  Yuck.  Another thing we...

Discussion

  1. > Just about everyone uses Google Analytics and why shouldn’t they?

    Google Analytics is one of the key pieces of the Orwellian world which Google is building for us. Virtually every website puts this innocent looking piece of JavaScript on all their pages. It gathers people’s browsing habits and centralizes this information in Google’s data farms. That data end up being sold on the data market and refined by data brokers such as the Acxiom company or given away for free to intelligence agencies, as everyone is now aware of. I understand why you do it and I’m not blaming you, I used to do the same until I realized what I was contributing to by doing so. I hope you’ll agree that we should thrive to make the web a tool of freedom and not a weapon of control. It’s not that people at Google are bad either, it’s just that any company that grows so big fatally end up being dehumanized. Piwik works fine ;-)

  2. Great, thanks for posting – this works well. After years of checking for _gaq comes to and end…

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!