Anonymisiertes Google Analytics mit jQuery

14 Jul 2010 0 Comments , , , , Estimated reading time: 2 minutes read

Ich ben­utze auf meinem Blog Google Ana­lyt­ics zum Webtrack­ing. Nur ist der Ein­satz von Google Ana­lyt­ics bis vor kur­zem nicht mit den Vor­gaben des Düs­sel­dor­fer Kre­ises ver­ein­bar gewesen.

Als Lösung habe ich bei mir ein OptOut aus dem Webtrack­ing mit jQuery real­is­iert. Google hat zudem ein AddOn für die meisten Browser entwick­elt, das Ana­lyt­ics grundsätz­lich deakt­iviert.

Aber vor ein paar Wochen hat Google nachge­bessert und Google Ana­lyt­ics den Vor­gaben ange­passt, und die Anonymis­ier­ung der IP-Adressen ermög­licht. Dam­it erfüllt Ana­lyt­ics dieses Kri­teri­um und ist in Deutsch­land wohl prob­lem­los nutzbar.

Um Google Ana­lyt­ics ein­zu­bind­en, ver­wende ich das jQuery Plu­gIn GeekGA von Willem van Zyl. Ich habe die Ver­sion 1.1 so erweit­ert, dass es jet­zt mög­lich ist, das Track­ing zu anonymis­ier­en. Per Default ist die Anonymis­ier­ung akt­iv.

/*
 * jQuery plugin for Google Analytics
 * 
 * Version 1.0
 * 
 * This plugin extends jQuery with two new functions:
 * 
 *   - $.GATrackPage(options)
 *       Track a pageview of the current page.
 *       options: account_id -> Your google Analytics Account
 *                anonymize  -> Flag to enable anonymous stats, defaults true
 * 
 *   - $.GATrackEvent(category, action, label, value)
 *       Track an event with a category, action, label and value.
 *  
 *   - $.GATrackPageview (page)
 *       Track a pageview of page.
 * 
 * 
 * This code is in the public domain.
 * 
 * This jQuery plugin is based on GeekGA 1.1 by
 *
 * Willem van Zyl
 *  Spamprotected E-Mail:  0a6bbf2will8bddefem631917f@b1490ge9aa47ek03e9d0olof6b18d57gy.cdd7o.zad68d5341
 * www.geekology.co.za/blog/#
 *
 * Fork by
 * Martin Gude
 * onygo.org
 */
 
(function($){
  var pageTracker;

  $.GATrackPage=function(options){
    var host       = (("https:"==document.location.protocol)?"https://ssl.":"http://www.");
    var src        = host+'google-analytics.com/ga.js';
    var account_id = options["account_id"];
    var anonymize  = (options["anonymize"] == undefined) || options["anonymize"];
    $.ajax({
      type:'GET',
      url:src,
      success:function(){
        pageTracker=_gat._createTracker(account_id); 
        if (anonymize) {
          _gat._anonymizeIp();
        } 
        pageTracker._trackPageview();
      },
      error:function(){
        throw"Unable to load ga.js; _gat has not been defined.";
      },
      dataType:'script',
      cache:true
    });
  };
  
  $.GATrackEvent=function(category,action,label,value){
    if(typeof pageTracker!=undefined){
      pageTracker._trackEvent(category,action,label,value);
    }else{
      throw"Unable to track event; pageTracker has not been defined";
    }
  };
  
  $.GATrackPageview=function(page){
    if(typeof pageTracker!=undefined){
      pageTracker._trackPageview(page);
    }else{
      throw"Unable to track event; pageTracker has not been defined";
    }
  };
})(jQuery); 

Das Skript kann dann in $(document).ready fol­gen­der­maßen aufgerufen wer­den:

$.GATrackPage({account_id:'UA-000000-0', anonymize:true});
 

Die Account ID (UA-000000-0) muss natür­lich durch die ents­prechende ID erset­zt wer­den.

Als näch­ster Sch­ritt muss noch die Datens­chutzerklärung ange­passt wer­den. Ein Vorsch­lag hier­für fin­d­et sich bei der Gründer­szene.

Your comment

Your Gravatar