【问题标题】:Multiple Google Analytics code on website网站上有多个 Google Analytics 代码
【发布时间】:2018-11-19 20:44:02
【问题描述】:

我正在更新一个网站,该网站似乎有多个实例和版本的 Google Analytics(分析)正在运行。我需要帮助确定实际发生的情况以及我应该保留的版本。

首先将这些加载到头部:

 <script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script>
    <script type="text/javascript" async="" src="https://ssl.google-analytics.com/ga.js"></script>

那么,下面这些代码也会在头部运行。

  var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxx-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);
    })();



 window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-6100216-1');

然后,在 body 中,加载并调用 gtag。

  <script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-xxxxxxx-1"></script>

  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-xxxxxx-1');

我已经纠正了过去开发人员犯的一千个错误。

【问题讨论】:

    标签: google-analytics analytics analytics.js


    【解决方案1】:

    天哪,这是一些工作!在高层次上,基本上你拥有 GA 实现的所有 三种 (3) 方法:ga.js、analytics.js、gtag.js。目前推荐的方法是gtag.js。

    ga.js(旧版)

    这就是与 ga.js 相关的所有内容的分组方式 (as per documentation):

    1. 这是加载 ga.js 库的行: &lt;script type="text/javascript" async="" src="https://ssl.google-analytics.com/ga.js"&gt;&lt;/script&gt;

    2. 这是启动 ga.js 的一段代码:

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-xxxxxxx-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);
      })();
      

    analytics.js

    根据documentation,正常的异步实现如下所示:

    <!-- Google Analytics -->
    <script>
    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
    ga('create', 'UA-XXXXX-Y', 'auto');
    ga('send', 'pageview');
    </script>
    <script async src='https://www.google-analytics.com/analytics.js'></script>
    <!-- End Google Analytics -->
    

    但无论出于何种原因,您似乎只是在加载库,而没有将其与其余部分一起初始化。因此,对于 analytics.js,您只需要加载该库,而无需对其进行任何其他操作。

    gtag.js

    同样,as per documentation,gtag 实现代码如下所示:

    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
    
      gtag('config', 'GA_TRACKING_ID');
    </script>
    

    在这种情况下,页面被使用了两次,如果UA数相同,则会导致重复计算。

    第一次

    window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag('js', new Date());
    
          gtag('config', 'UA-6100216-1');
    

    第二次

    window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
    
      gtag('config', 'UA-xxxxxx-1');
    

    好消息是,代码中没有任何内容表明您正在跟踪任何特殊或定制的内容。我建议您查看 gtag.js 实现方法并删除其余的分析代码。请注意,这是假设网站的其余页面上也没有任何内容。随时发布有关该网站的更多信息,我可以看看。

    【讨论】:

    • 谢谢,这很有帮助。我只在全站范围内迁移到 gtag。现在来解决 4 个不同的 jQuery 版本和 noConflicts。主要疼痛。
    • XTOTHEL,你知道analytics.js 是否会被弃用吗?在我的用例中,我需要几个跟踪器,并且这个库允许更简单的配置,但我不想实现一些已经过时的东西。在 gtag.js 或 analytics.js 文档页面中没有提到这一点。
    • @KatLimRuiz 如果您有多个跟踪器,我建议您查看 GTM,它应该是一个更清洁/更简单的实现。关于 analytics.js 的弃用没有任何官方消息,但我认为最终会随着 GA4 的迁移。
    【解决方案2】:

    正如 XTOTHEL 已经解释的那样,您有多个代码和重复计数,他关于如何处理这个问题的指南非常好。

    关于这个主题,我唯一可以补充的是,您应该考虑迁移到 Google 跟踪代码管理器并将 GA 放入其中,而不是自己嵌入任何 Google Analytics(分析)代码。

    【讨论】:

      猜你喜欢
      • 2014-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多