BestPractice: Google Analytics Tracking konfigurieren

Google Analytics ist wohl das bekannteste Webanalyse-Tool der Welt. Es ermöglicht die Erfassung von Seitenaufrufen der eigenen Website. Google Analytics bietet jedoch mehr als die simple Erfassung von Seitenaufrufen. Dazu gehört etwa das Tracking von Events, Downloads, Kampagnen und eCommere Transaktionen. In diesem kleinen Tutorial möchte ich anhand einer Dummysite zeigen, wo und wie die relevanten Code-Snippets konfiguriert werden müssen, um das Beste aus GA herauszuholen.

Die Dummysite

Wireframe für BestPractice: Google Analytics Setup

Abbildung1: Wireframe

  1. Basiskonfiguration im Header bzw. Erfassung des Seitenaufrufs
  2. Erfassen von Interaktionen mit Multimediainhalten
  3. Erfassen von Downloads
  4. Erfassen von eCommerce Transaktionen

1. Basiskonfiguration

Bevor man sich um die Details kümmern kann, muss erst der Basis-Trackingcode im Sourcecode integriert werden. Es wird unbedingt empfohlen den neuen asynchron arbeitenden Trackingcode zu verwenden, daher beziehe ich mich in diesem Artikel nur darauf.

Im Gegensatz zum alten Code, muss das Setup der asynchronen Methode unmittelbar vor dem </head> Tag stattfinden. Die Übermittlung zu Google erfolgt dann im Footer.

Und hier die beiden Snippets:

  // HEADER
  <script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);   // Hier wird die Account-ID der zu trackenden Domain eingetragen
  _gaq.push(['_trackPageview']);              // So wird ein Seitenaufruf erfasst
  </script>
  // FOOTER
  <script type="text/javascript">
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    // Ob HTTPS oder HTTP ist egal. Hier wird beides berücksichtigt.
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
  </script>

2. Events

Events sind Benutzerinteraktionen mit Teilbereichen einer Seite wo kein neuer Aufruf der Website stattfindet. Dies sind etwa Dateidownloads, JavaScript gesteuerte Mediaplayer wie der jPlayer oder Bilderpopups mit Lightbox.

Die Eventtrackingmethode sieht wie folgt aus und erwartet folgende Parameter:

_trackEvent(category, action, opt_label, opt_value)
  • String category: Die Kategorie der wir ein Event zuordnen wie etwa Audio, Video, Download, … . Je besser man diese Namen wählt, desto einfacher wird eine spätere Analyse.
  • String action: Die Interaktion mit einem Element wie etwa Play, Stop, View, Open, …
  • String opt_label: Dieser optionale Wert ermöglicht eine genauere Beschreibung des Events. Hier kann etwa der Titel eines Videos oder der Pfad zu einer Datei übergeben werden.
  • Int opt_value: Hier kann ein Integerwert angegeben werden. Beispielsweise wäre hier die jeweilige Downloadzeit pro Eventaufruf interessant um Performanceprobleme erkennen zu können.

Im Beispiel gibt es 2 Events. Ein MP3-Stream und ein Flashvideo. Die Events werden über  2 Links gestartet, die jeweils das “Play”- bzw. das “View”-Event anstoßen. Der Code sieht folgendermaßen aus:

// MP3-Stream
<a href="#" onClick="_gaq.push(['_trackEvent', 'Audio', 'Play', 'Mozart - Eine kleine Nachtmusik']);">Play</a>

// Video
<a href="#" onClick="_gaq.push(['_trackEvent', 'Video', 'Play', 'Pianist spielt Mozarts Nachtmusik']);">View</a>

Selbiges sollte man nun natürlich auch für die Events “Stop”, “Pause”, etc. machen. Beim Stop-Event könnte man bei opt_value die Laufzeit mitliefern, damit man z.B. die durchschnittliche Spieldauer errechnen kann.

3. Downloads

Hier gäbe es 2 Möglichkeiten der Erfassung.

  • Tracking als Seitenaufruf
  • Tracking als Event

Ich empfehle Downloads als Events zu erfassen, da viele Downloads rasch die Webstatistik hinsichtlich der Seitenaufrufe verfälschen können. Besonders unangenehm kann dies vor allem bei eCommerce KPIs auffallen. Der Durchschnittswert pro Seite beim  “£ Index” kann beispielsweise drastisch sinken wenn man verhältnismäßig viele Downloads über je einen Pageview erfasst.

Hier trotzdem beide Varianten:

Tracking als Seitenaufruf

<a href="download/example.pdf" onClick="_gaq.push(['_trackPageview', '/download/example.pdf']);">Download</a>

Tracking als Event (empfohlen)

<a href="download/example.pdf" onClick="_gaq.push(['_trackEvent', 'Downloads', 'PDF', '/download/example.pdf']);">Download</a>

4. eCommerce

eCommerce Tracking ermöglicht das Erfassen von Transaktionen in einem Webshop. der Trackingcode wird nach dem Bestellabschluss, etwa auf einer “Danke für Ihren Einkauf”-Seite, eingefügt.

“Achtung: Beim eCommerce-Tracking von Google werden Transaktionen von Benutzern ohne aktiviertem JavaScript nicht erfasst. Bei Umsatzstatistiken also lieber auf die Zahlen der Buchhaltung vertrauen!”

Eine Transaktion wird in 3 Schritten erfasst:

  1. Zuerst muss sichergestellt sein, dass die Basiskonfiguration des GA-Account im Header geladen wird.
  2. Metadaten für die Transaktion übertragen:
  3.   _gaq.push(['_addTrans',
        '1234',           // BestellID - required
        'Petshop',        // Shopname - optional
        '11.99',          // Gesamtsumme der Bestellung - required
        '1.29',           // Steueranteil - optional
        '5',              // Versandkosten - optional
        'Vienna',         // Stadt - optional (Google verwendet Geoloc, wenn leer)
        'Vienna',         // Bundesland - optional (Google verwendet Geoloc, wenn leer)
        'Austria'         // Land - optional (Google verwendet Geoloc, wenn leer)
      ]);
  4. in einem Loop folgenden Code für jedes Item erstellen:
    _gaq.push(['_addItem',
        '1234',           // BestellID ID - required
        'DD44',           // eindeutige ArtikelID - required
        'T-Shirt',        // Artikelbezeichnung - optional
        'Green Medium',   // Kategorie - optional
        '11.99',          // Stückpreis - required
        '1'               // Anzahl - required
      ]);
  5. Übermittlung der Daten
    _gaq.push(['_trackTrans']);

Nun können Detailstatistiken erstellt werden die weit über simple Verkaufszahlen hinausgehen. Sehr interessant ist der “£ Index”, welcher den anteilsmäßigen Wert jeder Seite angibt. Damit können die umsatzgenerierenden Seiten rasch erkannt werden und Verbesserungsmaßnahmen für eher mäßig am Umsatz beteiligte Seiten gesetzt werden.

Demnächst werde ich näher auf das Kampagnentracking von Google Analytics eingehen. Bis dahin. Frohes Tracken!

Über den Autor:

Dies ist nur ein Gravatar

Markus Hammerschmid - Xing | Twitter | Linkedin

Ich bin Webentwickler, SEO-, SEM und Social Media Ergebener und ambitionierter Prozessoptimierer. Hab Spaß am Bloggen und Twittern und freue mich auf jedes Feedback! Aktuell - Betreiber eines Onlineshops Circlepit Vinyl Records für Heavy Metal Schallplatten


Info