Mixpanel - 跟踪所有链接并获取链接值

时间:2013-10-21 14:04:46

标签: javascript mixpanel

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

我查看了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",即所有链接,然后替换要返回的链接的值。

这甚至可能吗?

2 个答案:

答案 0 :(得分:9)

从我看到的情况来看,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);

答案 1 :(得分:0)

有一种方法可以做到这一点。

将您的链接包裹在<div id="nav"&gt;

<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>
  

这将发送一个&#34;点击导航链接&#34;活动(使用&#39;引荐来源&#39;属性)   每次用户点击导航链接时。值得注意的是,这很重要   CSS选择器匹配的链接必须存在于页面上   调用mixpanel.track_links的时间,或者它不会绑定   正确。

     

这里特别注意的是嵌套的CSS选择器无效   上面的默认Mixpanel方法mixpanel.track_links和   mixpanel.track_forms如下。为了利用嵌套选择器或   手动重新创建这些方法的行为,你应该利用   在交互CSS元素时向Mixpanel发送事件的代码   其中包括回调。

请参阅Mixpanel Docs for more info