2013-10-21 3 views
5

Anstatt IDs einzurichten und ein separates Tracking-Ereignis für jeden Link einzurichten (mein Code ändert sich oft), habe ich mich gefragt, ob ich Mixpanel zum Tracking einrichten könnte alle Links (und Schaltflächen sogar) und erhalten den Wert des Links eg "/readmore", so dass ich nicht für jede Möglichkeit codieren muss.Mixpanel - Verfolge alle Links und erhalte den Link-Wert

Ich schaute auf die Mixpanel Javascript API-Referenz und lesen Sie über mixpanel.track_links, die in die richtige Richtung scheint für das, was ich suche, aber ich muss eine "name" im Voraus angeben, die alle Ereignisse mit dem gleichen Namen registriert ?

Hier einige Beispiel-Code aus dem mixpanel api Referenz:

// with properties function 
mixpanel.track_links 
("#footer", "Footer link", function(ele) { return { type: $(ele).attr('type')}}); 

Ich mag würde ersetzen "#footer" mit sagen "a" das heißt alle Links, und dann für den Wert der Verbindung zurückgegeben werden.

Ist das überhaupt möglich?

Antwort

8

Von dem, was ich gesehen habe, ist die Mixpanel-Selektor-Engine ziemlich begrenzt und es scheint, dass Multiple-Selector-Syntax nicht unterstützt wird. Wenn Sie jedoch geben alle Ihre button und anchor Elemente einer Klasse, können Sie sie mit einem Aufruf zu track_links Ziel (mit dem zusätzlichen Vorteil, dass Sie leicht Elemente ausschließen können Sie nicht verfolgen möchten):

mixpanel.track_links(".mixpanel-tracked", "Link clicked", function(ele) { 
    return { type: $(ele).attr('type') } 
}); 

Wenn Sie nicht eine Klasse aus irgendeinem Grund verwenden können, können Sie mehrere Elemente gezielt durch Ihre Funktion zu benennen und einen Verweis auf sie getrennte Anrufe an die track_links Funktion übergeben:

var getLinkData = function(ele) { 
    return { type: $(ele).attr('type') } 
} 

mixpanel.track_links('a', 'Link clicked', getLinkData); 
mixpanel.track_links('input', 'Link clicked', getLinkData); 
0

es gibt einen Weg zu mach das.

Ihre Links in einem Dieses sendet ein "Klick nav Link" Ereignis (mit einer 'Referrer' Eigenschaft) jedes Mal, wenn ein Benutzer klickt auf einem Navigationslink <div id="nav">

<div id="nav"> 
    <a href="/">Home</a> 
    <a href="/about">About</a> 
    <a href="/pricing">Pricing</a> 
</div> 
<script type="text/javascript"> 
    mixpanel.track_links("#nav a", "click nav link", { 
     "referrer": document.referrer 
    }); 
</script> 

Wickel. Es ist wichtig zu beachten, , dass die Links durch den CSS-Selektor übereinstimmen müssen auf der Seite um der Zeitpunkt der Aufruf von mixpanel.track_links vorhanden ist, oder es wird nicht ordnungsgemäß binden.

Eine besondere Note dabei ist, dass verschachtelte CSS-Selektoren mit dem Standard Mixpanel Methoden mixpanel.track_links nicht oben und mixpanel.track_forms unten arbeiten. Um verschachtelte Selektoren zu verwenden oder das Verhalten dieser Methoden manuell neu zu erstellen, sollten Sie Code verwenden, der ein Ereignis an Mixpanel sendet, wenn ein CSS-Element interagiert mit dem ein Rückruf enthält.

Siehe Mixpanel Docs for more info

Verwandte Themen