2 Google Analytics Konten auf einer Seite

Feb 17, 2011 von

2 Google Analytics Konten auf einer Seite

Es gibt Situationen, in denen eine Seite auf zwei unterschiedliche Google Analytics Konten getrackt werden soll. Etwa wenn nur ein bestimmter Bereich einer Seite erfasst werden soll, oder auch mit dem Google Websiteoptimizer – der verwendet zum Tracken nämlich auch den GA-Code.

Möchte man eine Seite mit zwei unterschiedlichen Analyticskonten zählen, kann man nicht einfach den JavaScript-Code zweimal einfügen. Man muss den Standardcode um einen zweiten Aufruf erweitern – der Aufwand hält sich in Grenzen:

_gaq.push(
  ['_setAccount', 'UA-XXXXX-1'],
  ['_trackPageview'],
  ['b._setAccount', 'UA-XXXXX-2'],
  ['b._trackPageview']
);

Jetzt produziert jede Seite zwei getrennte (asynchrone) Aufrufe. Wichtig dabei: Aktionszählungen wie Events oder (Shop)-Transaktionen gelten immer nur für das Standardkonto, also den Aufruf mit “pageTracker”. Im Help-Eintrag von Google selbst wird die Default-Var pageTracker für den Optimizer verwendet, firstTracker für Analytics. Das habe ich bei mir umgedreht, eben damit man nicht noch diverse Onclick-Methoden anpassen muss.

Für den “b-Tracker” müsste man diese Aufrufe dann ein zweites mal ausführen. Daher empfiehlt sich diese Methode nicht in allen Fällen. Möchte man etwa nur einen Unterbereich analysieren, ist ein gefiltertes Profil für eine vorhandene Domain die bessere Wahl.

Einbindung beim (alten) synchronen Trackingcode

Für das erste Konto wird der Trackingcode ganz normal eingebaut, für das zweite Konto müssen wir einen neuen Variablennamen vergeben, um nicht den ersten Tag zu überschreiben:

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-******-1");
pageTracker._trackPageview();
var secondTracker = _gat._getTracker("UA-******-2");
secondTracker._trackPageview();
} catch(err) {}

1 Kommentar

  1. Nach meinen bisherigen Erfahrungen auch auf größeren Seiten funktioniert das Tracken in mehere Konten über den asynchronen Code allerdings nicht so sauber wie mit dem alten Code.

    Bei meinen Versuchen kam es immer wieder zu extrem erhöten Visit Zahlen (eindeutige Besucher blieben konstant) -> es sah irgendwie so aus, als ob die beiden Tracking Objekte sich in irgendeiner Form gegenseitig die Cookies überschrieben haben.

Einen Kommentar schreiben