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
    Page Visibility API

    One event that's always been lacking within the document is a signal for when the user is looking at a given tab, or another tab. When does the user switch off our site to look at something else? When do they come back?

  • By
    Being a Dev Dad

    I get asked loads of questions every day but I'm always surprised that they're rarely questions about code or even tech -- many of the questions I get are more about non-dev stuff like what my office is like, what software I use, and oftentimes...

Incredible Demos

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!