Google Analytics不会跟踪链接点击事件

Tam*_*nut 5 javascript asp.net-mvc jquery google-analytics web

我目前正在使用analytics.js(较新版本的GA),我正在尝试从我的网站跟踪所有类型的事件,包括当用户点击指向外部URL的锚标记时.我目前正在使用此设置:

 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-KEY-HERE', { 'alwaysSendReferrer': true, 'allowAnchor': true });
Run Code Online (Sandbox Code Playgroud)

当我点击这样的链接时发送事件:

$(document).on("click", ".anchor-class", function (event) {
    label = //get data from anchor element here ...  
    ga('send', 'event', 'Link Clicked', 'Click Details', label);;
    return;
    }
});
Run Code Online (Sandbox Code Playgroud)

并且这不会向GA发送任何内容(即使事件处理程序正在调用ga(发送...)方法).但是,如果我使用这个确切的技术但是使用event.preventDefault(); 在功能开始时,事件将被发送并显示在GA仪表板中.

为了使这项工作正常,我错过了一些设置吗?

Ble*_*exy 2

使用hitCallback函数:

  $(document).on('click','a', function(event){
    event.preventDefault();
    var label = $(this).attr('href');

    ga('send', 'event', 'Link Clicked', 'Click Details', label, {
      'hitCallback': function(){
        window.location.href = label;
      }
    });
  });
Run Code Online (Sandbox Code Playgroud)