我正在尝试在着陆页上使用 Google Analytics(分析)事件跟踪。我在页面上的两个位置放置了代码,附加到两个元素,跟踪对这些元素的点击。
在一个地方 - 弹出灯箱视频 - 跟踪效果非常好。它会立即在 GA 中出现。
但是,对于页面上的另一个位置(更重要的位置),我似乎无法在 GA 中找到它。代码以完全相同的方式实现,并且使用 Chrome 中的 Google Analytics 调试器,两者似乎都在点击时发出完全相同的信息。
在一个实例中,代码位于元素中,而另一种实例中则位于元素中。
我附上了下面的两个代码片段。
任何帮助都将非常感激。
工作代码:
<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(如果 Google 端出现错误/延迟,可能会导致您的链接无法正常工作)的替代方法是使用 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);
});
});
});
关于javascript - 按钮上的 Google Analytics 事件跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32263657/