Javascript GA发送事件,返回未定义的

Javascript GA发送事件,返回未定义的,javascript,events,google-analytics,Javascript,Events,Google Analytics,因尼特加 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;

因尼特加

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 analytics网站的转换中添加了“注册”事件(带有该类别、标签和值)

你知道为什么会这样吗

当然,它没有被追踪


您混合了旧式经典语法(使用_gaq数组)和通用分析,因此您的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
            });

@艾克·皮尔斯托夫实际上是对的,但有一件事:

选择权№一,

-感谢布拉德·汤森

可以肯定的是,在浏览器控制台中一切正常(我只测试了Google Chrome),使用Google Analytics Debugger插件,然后转到控制台,您将开始看到以下内容: “执行/运行Google Analytics命令。”

尝试发送事件:

ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('send', {
              'hitType': 'event',
              'eventCategory': 'Test',
              'eventAction': 'Defined',
            });
对于您的每个第一个事件,必须编写第一个命令:

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

或者,它将记录未定义的目标

选择权№2:

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

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


我试过了,但还是一样。。未定义..,还有其他问题吗?谢谢如果您在浏览器中谈论的是js控制台,那么即使代码正常工作,也会返回undefined。查看实时报告以查看事件是否显示。我刚刚注意到的另一个问题是,evenValue不接受浮点-必须是整数,或者根本不设置。尝试将0.99替换为1。