GA发送事件,返回undefined

时间:2015-09-06 08:45:47

标签: javascript events google-analytics

Innit GA

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxxxx-6']);
    _gaq.push(['_trackPageview']);

    (function () {
        var ga = document.createElement('script');
        ga.type = 'text/javascript';
        ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(ga, s);
    })();

跟踪活动

ga('send', {
              'hitType': 'event',
              'eventCategory': 'Customer',
              'eventAction': 'Registration',
              'eventLabel': 'Popup',
              'eventValue': 0.99
            });

但这总是回归未定义,而且我添加了注册'转化期间的事件(包含该类别,标签和值),位于Google分析网站

知道为什么会这样吗?

当然没有跟踪..

enter image description here

2 个答案:

答案 0 :(得分:2)

您正在混合使用旧式经典语法(使用_gaq数组)和Universal Analytics,因此您的ga对象设置不正确(来自_gaq的跟踪器ID不会在ga对象中使用,因此不会创建跟踪器)。

您的代码应如下所示:

  (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-XXXXXXXX-1', 'auto');
  ga('send', 'pageview');
ga('send', {
              'hitType': 'event',
              'eventCategory': 'Customer',
              'eventAction': 'Registration',
              'eventLabel': 'Popup',
              'eventValue': 1
            });

答案 1 :(得分:0)

@Eike Pierstorff实际上是正确的,但是有一个问题:

选项№1

https://groups.google.com/g/google-analytics-analyticsjs/c/mayu2cf1d0k?pli=1-感谢Brad Townsend。

为确保在浏览器控制台中一切正常(我仅对Google Chrome进行了测试),请使用Google Analytics(分析)调试器插件,然后转到控制台,您将开始看到以下内容: “执行/运行Google Analytics(分析)命令。”

尝试发送事件:

ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('send', {
              'hitType': 'event',
              'eventCategory': 'Test',
              'eventAction': 'Defined',
            });

对于每个第一个事件,您必须编写第一个命令:

ga('create', 'UA-XXXXXXXX-Y', 'auto');

否则它将记录未定义 target

选项№2:

此外,如果您使用的是GTM,并且只想像以前一样使用“ ga('send')”,则需要在UA标签跟踪器名称中指定为空白:

转到GTM,找到您的UA标签->高级配置->设置跟踪器名称(“ True”)->将“跟踪器名称”字段留空。

Google Analytics Tag