Event-Tracking mit Google Analytics

Seit einiger Zeit bietet Google Analytics ein paar wirklich nette zusätzliche Funktionen an.

  • Integration der Adsense Statistiken direkt in Analytics:
    Funktioniert halbwegs und war überfällig (schnellere Freischaltung mit Bewerbung unter „interest form“ in diesem Inside Adsense Artikel)
  • Visualisieren:
    Vierdimensionale Graphen über die Zeit. Woot! Zwei Achsen, die Größe des Kreises und seine Farbe lassen sich beliebigen Metriken zuordnen
  • Erweiterte Segmente:
    Damit kann man die angezeigte Datenmenge unterteilen, mittels benutzerdefinierter Segmente sogar fast beliebig. So kann man dann jeden Report statt für alle Besuche z.B. nur für Besuche mit dem iPhone oder einem bestimmten Referrer sehen. Nett.
  • Benutzerdefinierte Berichterstellung:
    Mindestens ebenso nett wie die Segmentierung. Ermöglicht Berichte, die so nicht von Google angeboten werden, z.B. durchschnittliche Besuchsdauer und Seiten/Besuch pro Tageszeit
  • Website-Suche:
    In den Einstellungen einen Suchparameter hinterlegen und schon zeichnet Analytics die Blog internen Suchen auf. Praktisch.
  • Ereignis-Tracking/Event-Tracking:
    Statt wie bisher irgendwelche Ereignisse (z.B. Klick auf externe Links) auf eine URL zu mappen und dann als Pageview an Analytics zu schicken, kann man das jetzt als Event mit Zusatzinformationen anlegen


Und um den letzten Punkt geht es mir eigentlich. Dokumentiert ist das ganze in der API-Beschreibung und es funktioniert nur mit dem neuen Javascript, also nicht mehr urchin.js.

Die Funktion für das Tracking der Events hat 4 Parameter: eine Kategorie (z.B. Besucher klickt auf externen Link), eine Aktion (z.B. die URL des Links), ein Label (z.B. der Text des Links) und einen numerischen Wert. Damit kann man schon eine ganze Menge anfangen. Ich habe mir für’s erste gedacht, dass externe Links und abgegebene Kommentare so gezählt werden sollen. Man könnte das noch beliebig erweitern und aufzeichnen, ob ein Besucher horizontal bzw. vertikal scrollen musste, nach wie vielen Sekunden ein externer Link angeklickt wird (schon implementiert), ob ein Video abgespielt wird und vieles mehr. Und das alles ohne jedes mal einen Seitenaufruf zu generieren, der die restlichen Statistiken verfälscht. Jippie! Zunächst aber erstmal simpel ;-)

Falls jemand Ähnliches vor hat, hier mein angepasster jQuery Code, den ich von iso-100.com übernommen habe:

[code=javascript]
var trackStarttime = new Date();

$(document).ready(function(){
// Track clicks on external links that don’t include an img-tag
$(‚#mainColumn a:not(.popupwindow)‘).filter(function() {
var theHref = this;
if (theHref.hostname && theHref.hostname !== location.hostname) {
$(theHref).not(„.noAutoIcon“).not(„:has(‚img‘)“).addClass(„offSite“);
$(theHref).not(„.noAutoLink“).attr(‚target‘,’_blank‘).bind(‚click keypress‘, function(event) {
var code=event.charCode || event.keyCode;
if (!code || (code && == 13)) {

if(pageTracker){
pageTracker._trackEvent(‚External Link Click‘, this.href, this.innerHTML, (new Date()).getTime() – trackStarttime.getTime());
};

};
});
};
});

// Track comment submissions
$(‚#commentform‘).bind(’submit‘, function(event) {
if(pageTracker){
pageTracker._trackEvent(‚Comment submitted‘, this.author.value, location.href);
};
});
});
[/code]

Ich rufe das in der Ready Funktion von jQuery auf, direkt nachdem ich den Tracker von Google initialisiert habe. Auch das ist vielleicht sehenswerter Code (ein paar Suchmaschinen hinzugefügt und Besuchersegmentierung mittels _setVar), naja … jedenfalls für mich und Archivzwecke hier:

[code=javascript]
// Init Google Analytics tracker
var pageTracker = _gat._getTracker(„UA-XXXX-Y“);
pageTracker._addOrganic(„suche.t-online.de“,“q“);
pageTracker._addOrganic(„suche.aolsvc.de“,“q“);
pageTracker._addOrganic(„suche.freenet.de“,“query“);
pageTracker._addOrganic(„icq.com“,“q“);
pageTracker._addOrganic(„suche.web.de“,“su“);
pageTracker._addOrganic(„suche.fireball.de“,“query“);
pageTracker._addOrganic(„suche.netscape.de“,“q“);
pageTracker._addOrganic(„bild.t-online.de“,“query“);
pageTracker._addOrganic(„suche.gmx.net“,“su“);
pageTracker._addOrganic(„search.mywebsearch.com“,“searchfor“);
pageTracker._addOrganic(„meinestadt.msn.de“,“words“);
pageTracker._addOrganic(„arcor.de“,“Keywords“);
pageTracker._addOrganic(„search.1und1.de“,“su“);
pageTracker._addOrganic(„images.google“,“prev“);
pageTracker._setVar(‚‚);
pageTracker._trackPageview();

[/code]

Und morgen kann ich euch dann auch sagen, ob dieser Code überhaupt funktioniert. Ein paar Ereignisse hat Analytics heute schon aufgezeichnet, also bin ich zuversichtlich ;-)


Beitrag veröffentlicht

in

, ,

von

Kommentare

12 Antworten zu „Event-Tracking mit Google Analytics“

  1. Avatar von jirjen?!

    Mit ‚uche.gmx.net‘ wird das aber nicht klappen ;)

    1. Avatar von Sebbi

      Tatsache. Und warum ist der Javascript Code jetzt total fuckt up, wenn ich den Text editiere? Bääääh.

  2. Avatar von Marc

    Der Suchparameter für die Website-Suche ist doch ein „s=“ bei WordPress, oder?
    Das hört sich praktisch an, gleich mal probieren!

    1. Avatar von Sebbi

      Genau, aber ohne das „=“ Zeichen.

      1. Avatar von Marc

        Merci :-)

        PS: Habe eine Mailbenachrichtigung bekommen von Dir, aber ohne Inhalt.
        Tippe auf diese Opt-In Mail, falls Du das verbaut hast.

        1. Avatar von Sebbi

          Ich habe Subscribe to Comments von der Infogurke eingebaut … funktioniert das nicht? Hmm …

          Man WordPress nervt grad. Wenn ich oben den Text editiere, dann zerstört er jedes mal den Javascript Code …

          edit: ok, lag an tinymce, benutze ich zwar nicht, aber wenn es aktiviert ist, zerstört es wohl code …

  3. […] Event Tracking neben der normalen Erfassung von Seitenaufrufen bei Google Analytics funktioniert. Ich habe gestern […]

  4. […] Besucherstatistiken folgen noch … schließlich habe ich jetzt schon über einen Monat das Ereignistracking mit Analytics am […]

  5. […] und seine Farbe lassen sich beliebigen Metriken zuordnen Erweiterte Segmente: Damit kann man die an click for more var gaJsHost = ((„https:“ == document.location.protocol) ? „https://ssl.“ : […]

  6. Avatar von Salz

    Schade das dort überall Bilderpfade anstelle von Quelltext zu sehen sind.

  7. Avatar von Sebbi

    Salz :

    Schade das dort überall Bilderpfade anstelle von Quelltext zu sehen sind.

    Ach du meine Güte … danke für den Hinweis, da muss WordPress beim letzten Editieren Mist gebaut haben :/

  8. […] den Beitrag weiterlesen: Event-Tracking mit Google Analytics | Sebbis Blog Medien zum Thema   Medien by […]