5

与其设置 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"然后返回链接的值。

这甚至可能吗?

4

2 回答 2

10

从我所见,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);
于 2013-11-20T17:24:14.787 回答
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>

每次用户单击导航链接时,这将发送“单击导航链接”事件(带有“引荐来源”属性)。需要注意的是,在调用 mixpanel.track_links 时,由 CSS 选择器匹配的链接必须存在于页面上,否则将无法正确绑定。

这里需要特别注意的是,嵌套的 CSS 选择器不适用于上面的默认 Mixpanel 方法 mixpanel.track_links 和下面的 mixpanel.track_forms。为了利用嵌套选择器或手动重新创建这些方法的行为,您应该使用在与包含回调的 CSS 元素交互时向 Mixpanel 发送事件的代码。

有关更多信息,请参阅Mixpanel 文档

于 2015-10-24T17:57:45.073 回答