Javascript 谷歌分析事件工作不一致
我有一个谷歌分析事件被推每一次用户点击表单提交按钮,注册用户的课程。事件是使用表单按钮中的数据属性创建的 奇怪的是,它似乎只有一半的时间有效——课程的注册人数是有记录事件的两倍。单击此按钮是注册的唯一方式 HTMLJavascript 谷歌分析事件工作不一致,javascript,jquery,google-analytics,universal-analytics,Javascript,Jquery,Google Analytics,Universal Analytics,我有一个谷歌分析事件被推每一次用户点击表单提交按钮,注册用户的课程。事件是使用表单按钮中的数据属性创建的 奇怪的是,它似乎只有一半的时间有效——课程的注册人数是有记录事件的两倍。单击此按钮是注册的唯一方式 HTML 分析调用是异步的,您设置它的方式不能保证在处理表单post时分析事件已成功发送,这意味着它可能会被中断 在知道google analytics事件何时成功发送之前,您需要阻止表单帖子。以下是有关如何实现hitCallback的一些信息: 正如Niklas指出的,在这种情况下,您需要使
分析调用是异步的,您设置它的方式不能保证在处理表单post时分析事件已成功发送,这意味着它可能会被中断 在知道google analytics事件何时成功发送之前,您需要阻止表单帖子。以下是有关如何实现
hitCallback
的一些信息:
正如Niklas指出的,在这种情况下,您需要使用命中回调。但是,您还需要考虑到,用户可能会使用Ghostery等隐私保护工具阻止Google分析,在这种情况下,命中回调将永远不会执行。因此,您需要非常小心地实现这一点,以便您的站点不会因为这些用户而被破坏。使用Google Analytics跟踪出站链接时也会出现同样的问题。下面的文章解释了如何正确地实现这一点:
谢谢,这绝对是正确的选择。
<form class="program-button register-course-form" action="/enroll-program/?course=personal-finance" method="post">
<input type="hidden" name="course_id" value="1850">
<button type="submit" class="btn btn-primary ga-click" data-ga-category="Academy" data-ga-action="Enroll" data-ga-label="Personal Finance">I agree</button>
</form>
jQuery(document).ready(function($){
// For elements with the .ga-click class, get information on the category,
// action, and label and report it to Google Analytics
$('.ga-click').click(function(){
var ga_category = $(this).data('ga-category');
var ga_action = $(this).data('ga-action');
var ga_label = $(this).data('ga-label');
ga('send', 'event', ga_category, ga_action, ga_label)
});
});