2

我们正在为流量巨大的网站使用 Google Analytics。自过去 50 天(从 4 月 13 日开始)以来,我们遇到了一些有趣的——而且肯定不是好的——统计数据变化。跳出率翻了一番,我们的“网站停留时间”价值减少了大约 5 分钟,并且唯一访问者数量出乎意料地增加了非常高。此外,我们的浏览量统计数据没有变化。我们正在调查此问题的原因几天。我们知道,这些症状表明我们存在关于用户会话的问题。我们在我们网站的某个地方丢失了用户的分析会话。我们得到一个提示:

我们注意到,自 50 天以来,我们的搜索页面的“着陆页”价值增加了​​ 2.5 倍。我们正在使用 _trackEvent 方法来跟踪搜索页面上的一些用户交互。当我们跟踪谷歌分析的 utmb cookie(我们知道,它存储用于分析的用户会话)时,我们注意到,当我们跟踪事件时,utmb cookie 的值会发生变化。

那么,问题是,跟踪 utmb cookie 的事件更改是否正常?这个问题可能是我们生活的原因吗?

更新

我们在我们的服务器上使用 ga.js 作为自托管。我们的跟踪代码非常简单:

_gaq.push(['_setAccount', 'UA-235XXX-1']);
_gaq.push(['_setDomainName', '.ourdomain.com']);
_gaq.push(['_setAllowHash', false]);
_gaq.push(['_trackPageview']);

更新 2

我们删除了 setAllowHash 参数并开始在 google 上托管 ga.js 作为默认使用。问题仍在继续。

4

4 回答 4

1

我有完全相同的问题。它也开始于 2012 年 4 月 14 日,跳出率上升,新访问量也增加,缩短网站停留时间并降低每次访问的页面数......页面浏览量保持不变,这意味着由于某种原因,用户正在“丢失”__utma cookie,这是负责任的用于跟踪用户是唯一的。

我通过 GA 发现了一件有趣的事情——在我的情况下,Opera 11.64 没有出现这个问题。它保持其先前约 14% 的跳出率值。其他浏览器(主要是 Firefox 和 Chrome 的新版本)一飞冲天(跳出率为 65-90%)。

我说的是一个拥有数十万访问量的网站......明天我会尝试改变一些东西,如果我发现任何有用的东西就回帖。

更新

我已将代码更新为新代码

<script type="text/javascript">

    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'XX-XXXXXXXX-X']);
    _gaq.push(['_setDomainName', 'example.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">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
    var pageTracker = _gat._getTracker("XX-XXXXXXXX-X");
    pageTracker._setDomainName(".example.com");
        pageTracker._trackPageview();
} catch(err) {}</script>

不同之处_setDomainName在于,在新代码中,域名中没有前导点(。),旧代码似乎存在问题。我必须补充一点,我对没有部分的其他网站没有任何问题_setDomainName,并且仍在运行旧代码。我还发现了一篇关于同样问题的博客文章:http: //diegoscataglini.com/2010/08/17/118/google-analytics-setdomain-beware/

不管怎样,现在一切都恢复正常了。跳出率回到 11%,网站停留时间和页面/访问次数增加。当您更改代码时,将为所有用户重新创建 cookie,使他们成为直接访问您网站的新访问者。在一两天内(取决于访问次数),当人们像往常一样使用您的网站时,统计数据就会恢复正常。

我不得不等待几天才能报告回来,我希望这也能解决你的问题。

于 2012-06-06T15:17:29.337 回答
1

想一想,这可能是由于流行的浏览器突然支持“不跟踪”或 GA 突然尊重该设置。

于 2012-07-03T07:00:27.290 回答
0

更新 utmb cookie 是 _trackEvent 的预期行为——来自Event Tracking API 文档

默认情况下,_trackEvent() 发送的事件命中会影响访问者的跳出率。

丢失会话数据的一个地方是子域——例如,如果您的站点上混合有 www.domain.com 和 domain.com 链接。如果您还没有使用它,您可以尝试在 _trackPageview 调用之前添加 _setDomainName:

_gaq.push(['_setDomainName', '.yourDomain.com']);
于 2012-05-31T22:04:51.730 回答
0

这很正常。utmb cookie 存储会话的点击计数,当您跟踪事件或网页浏览时,点击计数增加一。

这在 GA 内部用于控制一些限制。

一旦此计数器达到 500,它将不再为该会话发送任何命中。分析中的每个会话只能有 500 次点击。

更新:2012-06-12

根据您发布的代码,我有一些担忧:

  • 永远不应该自托管 ga.js。随着新功能添加到 GA,此文件会发生更改。这可能会解释跳出率的变化,也可能不会。您可能发送的数据不再是 ga 所期望的,因为他们可能稍微更改了协议。
  • _setAllowHash现在已弃用。如果您现在正在使用,则应该继续使用它,但如果您有任何页面没有该调用,则可能会导致 cookie 被重置。因此,如果您的所有页面都使用它,请保持这种状态,如果某些页面使用而某些页面不使用,则删除并确保不再有单个页面具有它。您需要与 GA 设置保持一致。
于 2012-06-02T02:06:56.147 回答