我没有设置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"
,即所有链接,然后替换要返回的链接的值。
这甚至可能吗?
答案 0 :(得分:9)
从我看到的情况来看,mixpanel选择器引擎非常有限,似乎不支持多种选择器语法。但是,如果您为所有button
和anchor
元素添加一个类,则可以通过一次调用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发送事件的代码 其中包括回调。