Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A JavaScript proxy class for Google Analytics, which allows you to test event tracking in development mode.
Branch: master
Pull request Compare This branch is even with planetargon:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


What’s GoogleAnalyticsProxy?

This class allows you to test event tracking in a development environment without throwing JavaScript errors because google analytics isn’t loaded. When Google Analytics is loaded, it’ll trigger the corresponding pageTracker functions as you’d expect in a production environment.

Example Usage

Just execute this after google analytics is loaded.

  _gap = new GoogleAnalyticsProxy();

  _gap._trackEvent('Video', 'Play', 'Homepage video');
  _gap._trackEvent('Video', 'Pause', 'Homepage video');
  _gap._trackEvent('Button', 'Click', 'Call to action X');

Initializing GoogleAnalyticsProxy

The following example is for Ruby on Rails to demonstrate how I load google analytics only in production, but GoogleAnalyticsProxy is loaded all the time.

<% if RAILS_ENV == 'production' -%>
  <!--// Google Analytics //-->
  <script type="text/javascript">
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "' type='text/javascript'%3E%3C/script%3E"));
  <script type="text/javascript">
  var pageTracker = _gat._getTracker("UA-XXXXXX-1");
<% end -%>

<script type="text/javascript">
  var _gap = new GoogleAnalyticsProxy();


All the files related to GoogleAnalyticsProxy can be found in the src folder.

More information

You can learn morea bout the Google Analytics API here:

Something went wrong with that request. Please try again.