Google Analytics #Anchors mit tracken

Juni 29th, 2011 | Tags: , , , , ,
Anzeige

Auf einigen Seiten ist es wegen des Einsatzes von JavaScript nötig mit Anchor-Urls oder auch Sprungmarken zu arbeiten. Beispielsweise bei der dynamischen Einblendung von Inhalten. Dummerweise werden diese klicks von Google-Analytics nicht getrackt. Doch zum erfassen dieser speziellen Seiten gibt es bei Google Analytics einen Weg.

Kleine Einführung in Anchors

#Anchors (Anker) werden normalerweise in der Webentwicklung zum setzen von Sprungmarken genutzt. Mit ihrer Hilfe kann man schnell auf bestimmte Bereiche einer Webseite verweisen. Spezielle Abschnitte die weiter unten oder oben auf einer Seite sind können mit diesen Links direkt angesteuert werden. Dazu wird am ende der URL, getrennt mit dem Hashtag (#) ein Ankerwort angegeben, so das die URL in etwa so aussehen könnte.

http://de.wikipedia.org/wiki/Doppelkreuz_%28Satzzeichen%29#In_der_Informatik_und_IT

In der heutigen Webentwicklungs-Welt werden die hashtags aber gerne auch als Zielmarken für Dynamische JavaScript-Seiten (Ajax) verwendet. Damit werden zum Beispiel Zustände einer Seite festgehalten.

Anmerkung: Für eine Suchmaschinen Optimierte (eng. Search Engine Optimized, SEO) AJAX Seite empfehle ich die Verwendung  des Shebangs (#!). Warum siehe siehe FAQ von Google.

Anker-Seiten mit Google Analytics als Seitenaufruf erfassen.

Wie bereits angerissen endet das tracking von URLs bei Google-Analytics vor der Raute.  Um dieses verhalten zu ändern kann man Google Analytics mitteilen, es soll unbedingt den hash wieder mit aufnehmen. Im Asynchronen-Tracking schaut der entsprechende Code dann wie folgt aus.

_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview', location.pathname + location.search + location.hash]);

Eigentlich wird diese Methode für virtuelle Pageviews genutzt, sie kann aber auch für diesen Zweck benutzt werden. Nach der Veränderung des Trackingcodes werden die URLs jetzt “Ankergenau” angezeigt.

Die Grenzen dieser Technik: Interne Sprungmarken.

Wie in den Kommentaren zu einem ähnlichen Artikel zu erkennen ist, funktioniert diese Art der “URL-Erweiterung” nur, wenn von einer externen Seite mit einem Anker verlinkt wird, weil _gaq.push() nur ausgeführt wird, wenn die Seite geladen wird. Eine mögliche Lösung gibt es auch in den Kommentaren.

<a href="#somewhere" onclick="_gaq.push(['_trackPageview', location.pathname + location.search + '#somewhere']);">somewhere</a>

Die Gefahr die ich darin sehe

Der inflationären Gebrauch von virtuellen Pageviews sorgt für eine Verzerrung bei der Auswertung der eigenen Besucherstatistik. Auf ein mal kann es zu zahlreiche neue Seitenaufrufen kommen, nur weil ein Benutzer immer wieder den Anker mit dem Ziel “oberer Seitenanfang” nutzt. Viel mehr würde ich die Variante 2. aus den Lösungen in oben genannten 2. Kommentar bevorzugen. Das tracken von internen Ankern mit Hilfe von Analytic Events. Diese können an einer separaten Stelle in Google Analytics eingesehen werden. (Content -> Ergeinis-Tracking)

Der passende Code dazu wäre aus meiner Sicht:

<a href="#Ankerziel" onclick="_gaq.push(['_trackEvent', 'Anker', 'click', 'Ankerziel']);">Text</a>

Weiter lesen


  1. on24
    Mai 29th, 2013 at 12:38

    gibt es Vorteile die vieleicht in dem Ankertext aus SEO Sicht
    vorhanden sind?

  2. Mai 29th, 2013 at 14:26

    Da bin ich mir nicht sicher. Ich weiß nicht wie Google und Co. damit umgehen… ob sie noch zur URL gezählt werden oder nicht.

Kommentieren