我想跟踪与我的网站上的购买相关的一组事件。
使用行为流报告来分析事件流对我来说是最好的选择。
但是,由于我的网站上跟踪了大量事件,因此分析行为流报告并不那么容易,因为它包括与购买无关的其他事件。
有没有办法从此报告中过滤掉某些事件,以便报告仅显示所选事件的序列(例如,按类别过滤)。
当有人点击我网站上的“购买”按钮时,我尝试使用 dataLayer 和 dataLayer.push 通过 Google 跟踪代码管理器跟踪此事件。
它看起来像这样:
dataLayer.push({
'event': 'service',
'category': 'purchase',
'action': 'product selected',
'label': product
});Run Code Online (Sandbox Code Playgroud)
问题是,每次用户单击按钮时,服务都会立即重定向到购物车,因此在某些情况下,事件没有足够的时间触发,并且 Google Analytics 中的数据不完整。
我知道有一个“eventCallback”选项可以与 dataLayer 一起使用,如下所示
dataLayer.push({
'event': 'service',
'category': 'purchase',
'action': 'product selected',
'label': product,
'eventCallback': function () {
//redirect to the shopping cart
}
});
});Run Code Online (Sandbox Code Playgroud)
但这个选项的问题是,它产生了依赖性,并且在某些情况下,由于 Google Tag Manger 的一些问题,用户没有被重定向到购物车(这对我们来说是一个大问题)。
是否有更流畅、更有效的方法来处理这个问题,以便我们可以在不中断服务的情况下收集尽可能多的数据(例如,当在用户浏览器中启用跟踪保护时)
这似乎不是一个非常复杂的问题(我真的是JQuery的新手),但这是我的问题:
每次在我的网站上点击一个特定的按钮时,我需要附加一个注册全局ajax事件处理程序(确切地说是.ajaxSend)的函数,并检查ajax请求的选项.
但是,由于可以多次单击该按钮,我需要以某种方式删除处理程序,以便下一次按钮单击不会再次附加新的事件处理程序,这将导致堆叠事件处理程序.
如果您想知道,我无法将回调附加到特定的ajax请求,因为我通过Google跟踪代码管理器自定义HTML标记包含代码(如果您知道我在说什么)