Zwei Google-Analytics-Tracking-Codes auf einer Website

Gelegentlich müssen die Zugriffe auf eine Webseite an zwei unterschiedliche Google-Analytics-Profile übermittelt werden. Google stellt einen leichten Weg zur Verfügung um mit dem asynchronen Tracking-Code zwei (oder mehr) Profile anzusprechen. Wir fanden die Dokumentation dazu nicht besonders ergiebig. Deswegen beschreiben wir hier kurz, wie es geht.

Der asynchrone Tracking-Code basiert darauf dem Array-Objekt «_gaq» die Befehle, was passieren soll, der Reihe nach übergeben werden. Die zwei bekanntesten Befehle sind die beiden, die mindestens nötig sind damit Google Analytics überhaupt etwas misst:

_gaq.push(['_setAccount', 'UA-XXXXXXX-Y']);
_gaq.push(['_trackPageview']);
. 
. 

Soll nun ein zweites Profil angesprochen werden, muss ein zweiter «Tracker» – wie Google das nennt – mit den folgenden Zeilen nach den ersten beiden hinzugefügt werden:

_gaq.push(['trackerB._setAccount', 'UA-AAAAAAA-B']);
_gaq.push(['trackerB._trackPageview']);
. 
. 

Es ist möglich vor jedem Befehl, der an Analytics gesendet werden soll, einen beliebigen Identifier zu setzen und durch einen Punkt vom eigentlichen Befehl zu trennen. Der Tracking-Code stellt die Verwendung eines neuen Identifiers fest und erstellt automatisch einen neuen Tracker mit diesem Namen. In dem Beispiel oben mit dem Namen «trackerB».

Ausserdem bietet Google Analytics die Verwendung des Objekts «_gat» zum Erstellen und Ansprechen von Trackern an. Dieses Objekt sollte allerdings nicht verwendet werden, weil sichergestellt sein muss, dass der Tracking-Code bereits vollständig geladen und ausgeführt wurde. Bei der Verwendung von «_gaq» ist dieser Sicherstellung nicht nötig.

Soll nun beispielsweise ein Event – gleiches gilt natürlich auch für alle anderen Funktionen, wie Ecommerce-Tracking oder Custom Variables – an beide Profile übergeben werden, muss der Push-Aufruf zweimal durchgeführt werden.

_gaq.push(['_trackEvent', 'Videos', 'Play', 'xyz']);
_gaq.push(['trackerB._trackEvent', 'Videos', 'Play', 'xyz']);
. 
. 

Bei einem in einer JavaScript-Biblothek definierten onClick-Event, das ein Google-Analytics-Event auslösen soll, kann nicht auf Google-Analytics-Besonderheiten Rücksicht genommen werden. Dort muss es möglich sein mit einem Aufruf alle Tracker zu benachrichtigen. Leider haben wir ausschliesslich mit Analytics-Boardmitteln keine Lösung gefunden durch alle Tracker zu iterieren. Aus diesem Grund haben wir ein String-Array mit allen Trackernamen global definiert. Das ermöglicht eine JavaScript-Funktion zu erstellen, die durch alle Tracker interiert und somit ist nur noch ein Aufruf bei einem onClick-Event – unabhängig der Trackeranzahl – nötig.

Die beschriebene Lösung basiert auf dem asynchronen Tracking-Code von Google Analytics und kann 1:1 nicht für den Universal-Analytics-Tracking-Code verwendet werden, der in den nächsten Monaten der Standard-Tracking-Code wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>