按钮上的谷歌分析事件跟踪
Google Analytics Event Tracking on Button
我试图在登录页上使用Google Analytics事件跟踪。我把代码放在页面的两个地方,附在两个元素上,跟踪这些元素上的点击情况。
在一个弹出的灯箱视频中,跟踪效果非常好。它在GA中立即开始。
然而,对于页面上的另一个位置(更重要的一个(,我似乎无法在GA中找到它。代码以完全相同的方式实现,并且在Chrome中使用谷歌分析调试器,两者似乎在点击时都会发出完全相同的信息。
在一个实例中,代码位于元素中的另一个中。
我在下面附上了两段代码。
任何帮助都将不胜感激。
工作代码:
<a class="button" href="http://player.vimeo.com/video/134791294?autoplay=1" target="_blank" id="fancybox-video2" data-fancybox-type="iframe" class="fancybox.iframe" onclick="ga('send','event','played-video','clicked-play','button');">Watch the video</a>
错误代码:
<button type="submit" onclick="ga('send','event','Signed-Up','clicked-button','Free-Trial-14-Days');">Get Started</button>
正如Philip所提到的,你可能需要等待事件进入Google Analytics(如果你在Chrome网络选项卡中保留日志,你应该会看到它失败(。使用hitCallback(如果谷歌端出现错误/延迟,可能会导致链接无法工作(的另一种选择是使用setTimeout。
简单的jQuery示例
$(document).ready(function() {
// Note: be more specific!
$("button").each(function() {
var href = $(this).attr("href");
var target = $(this).attr("target");
$(this).click(function(e) {
e.preventDefault();
ga('send','event','Signed-Up','clicked-button','Free-Trial-14-Days');
setTimeout(function() { // Wait 300ms for tag to send to GA
window.open(href,(!target?"_self":target));
},300);
});
});
});
最有可能发生的情况是,<button>
示例正在提交一个表单,该表单告诉浏览器导航到一个新页面,因此正在卸载现有页面。通常,一旦页面开始卸载,浏览器就会停止执行JavaScript,因此ga('send', ...)
单击处理程序永远不会完成。
解决方案是截获submit
事件,进行ga('send', ...)
调用,然后在发送调用的hitCallback
中重新触发提交。
更新:在将hitCallback
用于表单提交等基本功能时,重要的是要处理命中发送失败的情况。您可以对setTimeout
执行此操作,其超时将被成功的hitCallback
调用清除。
相关文章:
- 谷歌分析事件跟踪
- iOS/HTML5上的视频相关事件跟踪
- 在 Web 应用中处理事件跟踪的最佳(高性能)方法
- 如何在表单提交时在谷歌分析上设置事件跟踪
- Wordpress上的通用分析事件跟踪
- 如何使用Google Analytics添加自定义事件跟踪
- 谷歌分析悬停事件跟踪
- 基于AJAX的联系人表单7事件跟踪新的谷歌分析代码
- 新的谷歌分析事件跟踪代码不适用于我的网站
- 谷歌分析事件跟踪无法正常工作
- 使用谷歌通用分析进行事件跟踪
- 谷歌分析事件跟踪 - 不起作用
- 为什么此事件跟踪器不起作用
- 按钮上的谷歌分析事件跟踪
- 轻量级 Youtube 嵌入 + G. 分析事件跟踪
- JQuery location.href - 事件跟踪
- 谷歌分析出站链接事件跟踪
- 针对 Chrome 扩展程序的分析事件跟踪
- 高效的 JavaScript 事件跟踪
- 事件跟踪 - 需要链接在新窗口中打开,而不会被视为弹出窗口