2

每次用户单击将用户注册到课程中的表单提交按钮时,我都会推送一个 Google Analytics 事件。该事件是使用表单按钮中的数据属性创建的。

奇怪的是,它似乎只工作了大约一半的时间——该课程的注册人数是记录事件的两倍。单击此按钮是注册的唯一方法。

HTML

<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>

Javascript

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)

    });
});
4

2 回答 2

2

分析调用是异步的,您设置它的方式并不能保证在处理表单发布时已成功发送分析事件,这意味着它可能会被中断。

在您知道谷歌分析事件何时成功发送之前,您需要阻止表单发布。以下是有关如何实现 a 的一些信息hitCallback

https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#hitCallback

于 2014-03-06T18:23:55.230 回答
0

正如 Niklas 所指出的,在这种情况下您需要使用命中回调。但是,您还需要考虑到用户可能会使用 Ghostery 等隐私保护工具阻止 Google Analytics,在这种情况下,命中回调将永远不会执行。因此,您需要非常小心地实施这一点,以免您的网站对这些用户来说似乎没有问题。使用 Google Analytics 跟踪出站链接时也会出现同样的问题。以下文章解释了如何正确实现这一点:

http://veithen.github.io/2015/01/24/outbound-link-tracking.html

于 2015-01-26T19:56:47.190 回答