2013-10-21 74 views
5

与其设置ID并为每个链接设置单独的跟踪事件(我的代码经常更改),我想知道是否有方法可以将Mixpanel设置为跟踪所有链接(甚至按钮),并获得链接的价值eg "/readmore",以便我不必为每种可能性编码。Mixpanel - 跟踪所有链接并获取链接值

我看了一下Mixpanel Javascript API参考资料,并阅读了关于mixpanel.track_links的一些信息,这些信息似乎是我正在寻找的正确方向,但我必须指定一个"name",它将注册所有具有相同名称的事件?

下面是来自mixpanel API参考一些示例代码:

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

我想更换"#footer"有说"a"即所有链接,然后对链接的值来返回。

这甚至可能吗?

回答

8

从我看到的,mixpanel选择器引擎是相当有限的,它似乎不支持多选择器语法。但是,如果您将所有buttonanchor元素分配给一个班级,那么只需拨打track_links(您可以轻松地排除不想跟踪的元素),便可以将其定位到目标学校:

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

如果您不能使用无论出于何种原因一类,您可以指定由命名您的函数并传递一个参考,以它来单独调用到track_links功能的多个元素:

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

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

有办法做这个。

总结你的链接在<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> 

这将发送一个“点击导航链接”事件(用“引用”属性) 每个用户点击一个导航链接的时间。请注意0​​,CSS选择器匹配的链接必须存在于调用mixpanel.track_links的 页面,或者不会正确绑定 。

一个特殊这里说明的是,嵌套CSS选择不会与 工作上述默认Mixpanel方法mixpanel.track_links及以下 mixpanel.track_forms。为了利用嵌套选择器或手动重新创建这些方法的行为,您应该使用 代码,该代码在CSS元素交互 (包含回调)时向Mixpanel发送事件。

查看Mixpanel Docs for more info