Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌分析事件工作不一致_Javascript_Jquery_Google Analytics_Universal Analytics - Fatal编程技术网

Javascript 谷歌分析事件工作不一致

Javascript 谷歌分析事件工作不一致,javascript,jquery,google-analytics,universal-analytics,Javascript,Jquery,Google Analytics,Universal Analytics,我有一个谷歌分析事件被推每一次用户点击表单提交按钮,注册用户的课程。事件是使用表单按钮中的数据属性创建的 奇怪的是,它似乎只有一半的时间有效——课程的注册人数是有记录事件的两倍。单击此按钮是注册的唯一方式 HTML 分析调用是异步的,您设置它的方式不能保证在处理表单post时分析事件已成功发送,这意味着它可能会被中断 在知道google analytics事件何时成功发送之前,您需要阻止表单帖子。以下是有关如何实现hitCallback的一些信息: 正如Niklas指出的,在这种情况下,您需要使

我有一个谷歌分析事件被推每一次用户点击表单提交按钮,注册用户的课程。事件是使用表单按钮中的数据属性创建的

奇怪的是,它似乎只有一半的时间有效——课程的注册人数是有记录事件的两倍。单击此按钮是注册的唯一方式

HTML
分析调用是异步的,您设置它的方式不能保证在处理表单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)

    });
});