Klicktracking

Von | 24. Januar 2012

SiteCatalyst und die meisten anderen Webanalyselösungen sind dafür geeignet, eine Vielzahl verschiedener Aktivitäten im Web zu tracken. Sicherlich am häufigsten wird man Webanalyse auf Websites einsetzen, viele Kunden tracken aber auch Apps oder sogar Desktopapplikationen.

Auch auf einer Webseite gibt es prinzipiell zwei ganz unterschiedliche Möglichkeiten:

  1. Tracken wenn eine Seite geladen wird
  2. Tracken wenn eine Aktion ausgeführt wird, z.B. ein Klick auf ein Banner

Anwendungsfälle für die zweite Möglichkeit sind z.B. Links auf andere Websites oder zu Downloads. Da ich in dem Fall das Ziel der Aktion nicht tracken kann, registriere ich stattdessen einfach die Aktion selbst, also den Klick. Auch in Formularen wird Klicktracking gerne eingesetzt, hier geht es darum zu verfolgen, an welcher Stelle die Besucherin die Formulareingabe abbricht.

Beiden Möglichkeiten gemeinsam ist, daß man mit props, eVars und events quasi beliebig komplexes Tracking machen kann. Der große Unterschied ist, daß beim Klicktracking (Englisch: custom link tracking) kein Seitenaufruf (Page View) für eine Seite gezählt wird.

Ein Beispiel:

Angenommen ein Besucher lädt die Seite für Produkt XY, dann kann ich in SiteCatalyst im Pages Report einen Page View für diese Seite sehen. Dann klickt der Besucher auf den Link zum PDF Handbuch und das Handbuch wird heruntergeladen. Den Klick tracken wir natürlich, aber im Pages Report steht nachwievor eine 1 bei der Produktseite.

Der Klick selber taucht in einem der Reports unter Site Contents > Links auf, und zwar je nach Typ im Custom Links Report (das sind meist Klicks, die per Tagging im OnClick Handler getrackt werden), Exit Links Report (Links die von meiner Website weg auf eine andere verweisen) oder File Downloads Report (Links auf Dokumente wie PDFs, DOCs oder PPTs, ZIPs und dergleichen). Den eben genannten Link für das Handbuch sehen wir also im file Downloads Report.

[Screenshot]

File Downloads Report

Warum?

Wenn es doch schon die drei Reports gibt, warum braucht man dann überhaupt noch Klicktracking?

Klicktracking ist wenn im OnClick Handler eines Links (vulgo: „wenn der Benutzer den Link anklickt“) Tracking ausgelöst wird. Wie oben gezeigt macht SiteCatalyst das zum Teil von sich aus (für Downloads und Exit Links), aber das Ergebnis ist eben auch nur der Report oben, der die Anzahl der Klicks auflistet, sonst aber keine weiteren Informationen.

Dabei gibt es bei vielen Klicks eine Vielzahl von Zusatzinformationen, die man gerne tracken wollen würde:

  • Oft möchte man einen success event mitsenden, z.B. wenn ein Benutzer auf einen „Share“ oder „Like“ Button klickt
  • Auf welcher Seite wurde der Link geklickt?
  • Für Handbücher: welche Sprache wurde heruntergeladen?
  • Bei der Formularanalyse: welches Feld wurde zuletzt geändert?

Wenn ich den Link entsprechend tagge, kann all dies mitgetrackt werden.

Beispiel: auf meiner Seite habe ich vor kurzem (endlich) einen „Tweet this“ Button eingebaut. Ein Kollege im Marketing arbeitet viel mit Twitter und er möchte wissen, ob der neue Button angenommen wird. Außerdem möchte er wissen, welche Art von Content die Benutzer verbreiten. Und nicht zuletzt ist auch interessant, ob Besucher über die verbreiteten Links auf meine Seite kommen oder nicht.

Das sind dann also drei Wünsche auf einmal! Kein Problem für Linktracking!

Wir brauchen einen event (den wir „Tweet Klick“ nennen), eine eVar („Content Type“) und einen tracking code, der an alle Links zurück zu meiner Seite angehängt wird.

Als Ergebnis erhalten wir folgende Berichte:

[Screenshot]

Tweet Klicks und Content Types

Die (fiktive) Verteilung der Klicks auf den „Tweet this“ Button zeigt hier, daß die Besucher meiner Seite am ehesten über Videos tweeten. Fotos und Artikel folgen allerdings dicht auf.

[Screenshot]

Campaigns und Shared Content

Die meisten Benutzer auf die Website bringen wiederum die Tweets über Videos, interessanterweise führen aber Klicks auf Tweets über Artikel zu mehr Page Views. Es scheint, als ob die Texte interessant genug sind, daß sie überdurchschnittlich viele Benutzer in den Bann ziehen und zu mehr Seitenaufrufen animieren.

„Campaigns“ und „Shared Content Type“ sind übrigens jeweils eine per SAINT hochgeladene Classification der tracking code Variable, auf die wir auch noch genauer eingehen werden.

Wie?

Der Trackingcall beim Laden einer Webseite wird per JavaScript erzeugt und dann mit der Funktion s.t() abgeschickt. Klicktracking funktioniert ganz ähnlich:

  1. erzeugt man ein „s“ Objekt
  2. weist man den Variablen Werte zu
  3. schickt man den Trackingcall ab (in diesem Fall mit s.tl())

Der folgende Code greift das Beispiel von oben auf und sendet eine eVar und einen event.

  var s = s_gi('myreportsuiteid');
  s.events = "event28"; // "Tweet Klick" Event
  s.eVar42 = "Artikel"; // "Content Type" eVar
  s.linkTrackVars = 'eVar42,events';
  s.linkTrackEvents = 'event28';
  s.tl(this, 'o', 'Tweet Klick');

Anmerkungen zum Code:

  • s.linkTrackVars und s.linkTrackEvents benutzt man beim Klicktracking, damit nicht jedesmal alle vorher beim Laden der Seite gesetzten Variablen wieder übertragen werden. s.linkTrackVars sagt dem System, welche Variablen es senden soll (in diesem Fall events und eVar42), s.linkTrackEvents welche events (in diesem Fall event28).
  • Der „this“ Parameter bezieht sich auf das geklickte Objekt. Alternativ kann hier null stehen. Im ersten Fall wartet das System nach dem Senden des Trackingcall 500ms, in zweiten nicht. Je nach Browser kommt der Call ohne die Wartezeit durch oder auch nicht, das sollte man ausgiebig testen.
  • Das ‚o‘ an der zweiten Stelle sagt dem System, daß dies ein Custom Link ist. Alternativ kann hier ein ‚e‘ stehen (das wäre dann ein Exit Link) oder ein ‚d‘ (für einen File Download).
  • Der Name des Links, „Tweet Klick“, erscheint nachher genau so im Custom Links Report.

13 Gedanken zu „Klicktracking

  1. Pingback: TagManager und taggen ohne Javascript « Webanalyse auf Deutsch

  2. Pingback: Tech Tip: Fehlersuche « Webanalyse auf Deutsch

  3. Pingback: Tracking mit Javascript « Webanalyse auf Deutsch

  4. Pingback: Apps tracken « Webanalyse auf Deutsch

  5. bgoebel

    Standard Link Tracking vs. Custom Link Tracking
    Auf unserer Webseite werden die Clicks der Downloads per default automatisch getrackt:
    -> s.trackDownloadLinks=true; s.linkTrackVars=“None“; s.linkTrackEvents=“None“.

    Der Link auf ein Whitepaper soll jetzt im Gegensatz zu anderen File-Downloads per „custom link tracking“ als purchase incl. product-Variable getrackt werden. Das Custom Link Tracking führt hier immer zu Kollisionen mit dem Standard Link Tracking, wobei das Standard Link Tracking immer zuerst ausgeführt wird.
    Um ein doppeltes Tracking der Downloads zu vermeiden, gibt es laut Doku die Möglichkeit, daß nur das Standard Link Tracking durchgeführt wird:

    var lt=obj.href!=null?s.lt(obj.href):““;
    if (lt==““) { s.tl(obj,’d‘,’downloadwp‘); }

    Ist es möglich, das Standard Link Tracking zu verhindern und hier nur das Custom Link Tracking durchzuführen?
    Oder alternativ das Standard Link Tracking beim Onclick-Event um diese Variablen zu ergänzen?

    Antworten
    1. Jan Exner

      Hallo,

      Beide Möglichkeiten führen zum Ziel.

      Man kann dem Standardlinktracking Variablen „unterjubeln“ und dann s.linkTrackVars und s.linkTrackEvents entsprechend setzen, sodaß die zusätzlichen Variablen auch übermittelt werden.

      Oder man implementiert Custom und sorgt dafür, daß der globale Eventhandler nicht mehr aufgerufen wird. Dazu genügt es, im onclick handler des Links Tags den Wert „false“ zurückzugeben. Siehe auch http://stackoverflow.com/questions/128923/whats-the-effect-of-adding-return-false-to-an-onclick-event

      Hilft das?

      Antworten
      1. bgoebel

        Hallo Jan,

        dem Standardlinktracking die Variablen „unterjubeln“ funktioniert immer erst mit dem 2. Klick auf den Download. Die Variablen linkTrackVars und linkTrackEvents werden im Onclick-Event gesetzt, was aber offensichtlich zu spät ist!?
        Wie geht das?

        Viele Grüße
        Bernhard

        Antworten
  6. Jan Exner

    Das sollte aber funktionieren. Gerade mal getestet:

    <a href=“links.pdf“ onclick=“var s=s_gi(‚jexnermentest1′);s.linkTrackVars=’eVar10,events‘;s.linkTrackEvents=’event10′;s.eVar10=’link tracking pdf‘;s.events=’event10′;s.tl(this,’d‘,’Link PDF‘,null,’navigate‘);return false;“>Link 2</a> (custom tracking with event10 & eVar10)

    Funktioniert.

    Antworten
    1. bgoebel

      Vielen Dank für die Lösung.
      Im Onclick-Event musste ich allerdings noch den Parameter s.useForcedLinkTracking setzen, damit es auch im Chrome funktioniert:
      onclick=“var s=s_gi(s_account); s.useForcedLinkTracking=false; s.linkTrackVars = …

      Anschließend habe ich den gleichen Code, der im Onlick aufgerufen wird, in eine Funktion im gleichen Template ausgelagert und die Funktion im Onclick-Event aufgerufen:
      onclick=“trackDownloadWP(this);“
      Hier bekomme ich aber beim Server-Call den Status „canceled“ zurück; beim direkten Aufruf im Onclick-Event wird, so wie es sein soll, der Status „200 OK“ zurückgeliefert.
      Welche Ursache kann das haben?

      Viele Grüße
      Bernhard

      Antworten
      1. Jan Exner

        Hm… interessante Frage. Was genau ist denn _innerhalb_ der Funktion „trackDownloadWP“ der Wert der Variablen? Also wie sieht das „this“ aus, wenn man es sich innerhalb der Funktion ansieht? Das sollte auf das <a> Element zeigen.

        Antworten
  7. Pingback: Tracking entfernen | Webanalyse auf Deutsch

  8. Rom

    Ich habe nur Links, die mit der variable „icid=“ beginnen. Wo kann ich die denn auswerten? Wäre doch in den Pageviews am besten, aber leider finde ich die Links dort nicht.

    Antworten
    1. Jan Exner Beitragsautor

      Hallo!

      Ich sehe das nicht als einen Fall für Klicktracking, sondern als „Internal Campaign Tracking“, analog zur normalen Kampagnenanalyse, siehe https://webanalyseaufdeutsch.de/2012/04/10/kampagnen-tracken/.

      Man nimmt für die internal Kampagnen allerdings nicht s.campaign, sondern benutzt eine eVar. Ansonsten ist alles exakt gleich.

      Hilft das?

      Schöne Grüsse,
      Jan

      Antworten

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.