【问题标题】:google analytics event tracking from multiple websites来自多个网站的谷歌分析事件跟踪
【发布时间】:2017-04-23 20:01:40
【问题描述】:

我有两个具有两个唯一 URL 的网站,每个都安装了 GA。 我的问题的基础是...网站 A 正在查看网站 B 的事件跟踪 网站 B 已经建立了几年,GA 运行正常,但是,今年早些时候,原始 URL 被分配给网站 A,而网站 B 被分配了一个新 URL。我为每个 URL 安装了适当的 GA 代码

网站 B GA 代码 =

<script>
  (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','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-20989255-32', 'auto');
  ga('send', 'pageview');

</script>

网站 A GA 代码 =

<script>
  (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','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-20989255-16', 'auto');
  ga('send', 'pageview');

</script>

在两个网站上都启用了事件跟踪,并且网站 B 事件跟踪似乎运行正常,但是网站 A 事件跟踪包含来自网站 A 和网站 B 的事件。 我正在跟踪的相关事件是文件下载 (PDF) 两个网站都启用了事件跟踪,每个网站的代码都相同,但 GA 帐号除外

     <script type="text/plain" class="cc-onconsent-analytics">

        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-20989255-16']); /* used for website A 
        _gaq.push(['_setAccount', 'UA-20989255-32']); /* used for website B 
        _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">
if (typeof jQuery != 'undefined') {
  jQuery(document).ready(function($) {
    var filetypes = /\.(zip|exe|dmg|pdf|doc.*|xls.*|ppt.*|mp3|txt|rar|wma|mov|avi|wmv|flv|wav)$/i;
    var baseHref = '';
    if (jQuery('base').attr('href') != undefined) baseHref = jQuery('base').attr('href');

    jQuery('a').on('click', function(event) {
      var el = jQuery(this);
      var track = true;
      var href = (typeof(el.attr('href')) != 'undefined' ) ? el.attr('href') :"";
      var isThisDomain = href.match(document.domain.split('.').reverse()[1] + '.' + document.domain.split('.').reverse()[0]);

      if (!href.match(/^javascript:/i)) {
        var elEv = []; elEv.value=0, elEv.non_i=false;
        if (href.match(/^mailto\:/i)) {
          elEv.category = "email";
          elEv.action = "click";
          elEv.label = href.replace(/^mailto\:/i, '');
          elEv.loc = href;
        }
        else if (href.match(filetypes)) {
          var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
          elEv.category = "download";
          elEv.action = "click-" + extension[0];
          elEv.label = href.replace(/ /g,"-");
          elEv.loc = baseHref + href;
        }
        else if (href.match(/^https?\:/i) && !isThisDomain) {
          elEv.category = "external";
          elEv.action = "click";
          elEv.label = href.replace(/^https?\:\/\//i, '');
          elEv.non_i = true;
          elEv.loc = href;
        }
        else if (href.match(/^tel\:/i)) {
          elEv.category = "telephone";
          elEv.action = "click";
          elEv.label = href.replace(/^tel\:/i, '');
          elEv.loc = href;
        }
        else track = false;

        if (track) {
          _gaq.push(['_trackEvent', elEv.category.toLowerCase(), elEv.action.toLowerCase(), elEv.label.toLowerCase(), elEv.value, elEv.non_i]);
          if ( el.attr('target') == undefined || el.attr('target').toLowerCase() != '_blank') {
            setTimeout(function() { location.href = elEv.loc; }, 400);
            return false;
      }
    }
      }
    });
  });
}
</script>

有没有人遇到过类似的问题...我怀疑事件跟踪仍在以某种方式监听原始 URL?

【问题讨论】:

    标签: events google-analytics event-tracking


    【解决方案1】:

    这应该是直截了当的 - 网站只会跟踪页面上的任何属性,除非您在其他地方有其他代码干扰并且不这样做。我认为在你的情况下,你的经典 GA 代码和 UA 的混合和混合可能与它有关。

    您正在使用旧的 GA 语法发送事件:

    _gaq.push(['_trackEvent', elEv.category.toLowerCase(), elEv.action.toLowerCase(), elEv.label.toLowerCase(), elEv.value, elEv.non_i]);
    

    但你应该完全删除所有旧的东西,包括 ga.js 代码 sn-p,并用新语法替换它:

    ga('send', 'event', elEv.category.toLowerCase(), elEv.action.toLowerCase(), elEv.label.toLowerCase(), elEv.value, elEv.non_i);
    

    【讨论】:

    • 您好 Nyuen,非常感谢您的意见。我没有意识到我的 GA 代码是如此混乱。我要做的第一件事就是更新到最新的代码,然后看看结果如何。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 2015-11-19
    • 2016-05-21
    • 1970-01-01
    相关资源
    最近更新 更多