【问题标题】:Event Tracking in GA not firingGA 中的事件跟踪未触发
【发布时间】:2011-09-18 15:08:54
【问题描述】:

我已将以下代码添加到我的 JS 中以跟踪按钮点击:

_gaq.push(['_trackEvent', 'category', 'action', 'label']);

我已经使用 Chrome 开发工具在其上设置了一个断点,并且 _gaq 肯定会解析为 GA 对象,我什至可以在 GA.js 代码中进入(缩小的)推送事件。但是,即使这没有错误地触发,我也没有看到任何 GET 或 POST 记录在 Fiddler/firebug/Chrome 中,也没有任何内容记录在我的分析中。 正常的页面分析对我来说工作得很好,在页面底部运行了以下内容:

<script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'XXXXXXXXX']);
        _gaq.push(['_setDomainName', '.Domain.com']);
        _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);
        })();
    </script>

有人知道为什么上面的代码不起作用吗?

【问题讨论】:

  • 嘿,这到底是怎么回事?兰波的回答真的解决了这个问题还是别的什么?如果是前者,您可以接受带有答案左侧绿色复选框的 Rimbaud 的答案吗?如果是后者,您可以记录解决方案作为答案吗?我有同样的问题。谢谢!

标签: google-analytics event-tracking


【解决方案1】:

一个常见的原因是错误的参数类型(在这种情况下 GA 静默失败)。

对于 _trackEvent,参数必须是:

  • 类别 = string
  • 行动 = string
  • 标签(可选)=string
  • 值(可选)=integer

当需要字符串时不要使用整数,反之亦然。

【讨论】:

    【解决方案2】:

    据我了解,您在外部 .js 文件中有 trackevent,并且在&lt;body&gt;-tag 底部有对标准脚本的调用?

    明显的解决方案是移动脚本:

    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'XXXXXXXXX']);
        _gaq.push(['_setDomainName', '.Domain.com']);
        _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);
        })();
    </script>
    

    &lt;head&gt;-tag 中向上,并在此sn-p 下方调用外部js-file。

    喜欢:

    <html>
    <head>
        <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'XXXXXXXXX']);
                _gaq.push(['_setDomainName', '.Domain.com']);
                _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);
                })();
        </script>   
        <script type="text/javascript" src="ext.js"></script>
    </head>
    <body>
    
    </body>
    

    【讨论】:

    • 将代码移到头部和之后的外部JS文件(在头部中)。即使 _gaq.push(['_trackEvent', 'category', 'action', 'label']);单击链接时触发,我仍然没有在提琴手中看到任何 GET,在 GA 中也没有看到任何内容
    • 在 NET 中查找图像选项卡。 GA 跟踪事件作为图像触发。
    【解决方案3】:

    对我来说,这是一个非常愚蠢的错误。我在 GA 中过滤掉了我自己的 IP。

    认为这可能会对某人有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 2020-04-03
      • 1970-01-01
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多