8

我创建了我的谷歌分析帐户。并将提供的代码复制并粘贴到我的 index.php 文件中。在我看来,它可以正常工作,因为我可以看到 firebug 对 www.google-analytics.com 的调用。

现在我想跟踪通过 ajax 从索引文件中调用 'functions.php' 的次数。

我尝试使用_gaq.push(['_trackPageview', 'functions.php']);,但它给了我Uncaught ReferenceError: _gaq is not defined. 所以我添加var _gaq = _gaq || [];到我的代码中。错误消失了,但在 ajax 完成后我看不到对 www.google-analytics.com 的任何调用。

有人可以帮我设置它以便分析跟踪 ajax 调用吗?

我的代码看起来像

<script type='text/javascript'>
  (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-1234556-1', 'domain.com');
            ga('send', 'pageview');

         var _gaq = _gaq || [];

        function submit_data(){

                var text_area=$('#textarea').val();
                var url ="functions.php";
                jQuery.ajax({
                    type: "get",
                    dataType: "text",
                    url: url,
                    data: {
                        what : "generate",
                        text_area: text_area,
                        t: Math.random()
                    },
                        success: function(data, textStatus){
                        $('#textarea').val(data);
//                      _gaq.push(['_setAccount', 'UA-12345-1']);
                        _gaq.push(['_trackPageview', 'functions.php']);
                        }
                });
        }

        </script>
4

4 回答 4

13

我认为在检查 Google Analytics 时,您选择了“Universal Analytics”,它使用了一个新的代码计数器。在浏览器 DOM 中查看,没有对象“_gaq” - 因此是一个错误。您尝试使用空数组(_gaq)修复它。
旧代码:

变量 _gaq = _gaq | | [];
_gaq.push(['_setAccount', 'UA-XXXXXX-1']);

不要使用旧代码!(而且你不能使用多个代码计数器'UA-XXXXXX-1' - 这是错误的)
新代码:

ga ('create', 'UA-XXXXXXX-1', 'mysite.com');
ga ('发送', '浏览量');

新的计数器谷歌有一个新的语法。
关于事件使用的文档: https
://developers.google.com/analytics/devguides/collection/analyticsjs/events使用示例:
我在页面上有一个计算器,我想通过按下按钮来跟踪事件在上面。
类别- “使用计算器”;
事件- “计算成本”。
旧代码:

_gaq.push(['_trackEvent', '使用计算器', '计算成本');

新代码:

ga('send', 'event', '使用计算器', '计算费用');

类别和事件 - 是必需的!
PS:对不起。我的英语很差,我用谷歌翻译:)

更新:

<script type='text/javascript'>

  (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');
//Use once per page
        ga('create', 'UA-1234556-1', 'domain.com');
        ga('send', 'pageview');
        //
        function submit_data(){

                var text_area=$('#textarea').val();
                var url ="functions.php";
                jQuery.ajax({
                    type: "get",
                    dataType: "text",
                    url: url,
                    data: {
                        what : "generate",
                        text_area: text_area,
                        t: Math.random()
                    },
                        success: function(data, textStatus){
                        $('#textarea').val(data);
                        ga('send', 'event', 'MyCategory', 'functions.php');
                        }
                });
        }

</script>
于 2013-07-31T04:11:09.997 回答
6

如果您使用的是 Universal Analytics ( analytics.js),请切换:

_gaq.push(['_trackPageview', 'functions.php']);

对此:

ga('send', 'pageview', 'functions.php');
于 2013-07-04T15:44:38.190 回答
3

看起来您正在将 Universal Analytics(analytics.jsga()调用)与 Async Analytics(ga.js_gaq.push())混合,但我没有看到任何要初始化的代码ga.js

尝试改变

var _gaq = _gaq || [];

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-12345-1']);
_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);
})();
于 2013-04-15T14:34:03.253 回答
1

是的,只需在您的 Google Analytics 脚本之后添加它来定义_gaq数组:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-65432-1']);
_gaq.push(['_trackPageview']);
于 2013-04-23T19:44:51.867 回答