【问题标题】:Manipulating Google Analytics Data - Educational Purpose: How trust worthy ist a G. Analytics Report操纵 Google Analytics(分析)数据 - 教育目的:G. Analytics 报告的可信度如何
【发布时间】:2012-07-11 18:03:37
【问题描述】:

我需要一个修改过的 Javascript,它会夸大浏览量、唯一身份访问者和访问者数量!

出于教育目的,因为我想看看在人为更改 G. Analytics 报告时是否存在某些模式

我对此进行了编码,但它不起作用:

 <script type="text/javascript">

var i=0;
 for (i=0;i<=10;i++) {

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-19629541-9']);
 _gaq.push(['_trackPageview']);

   _gaq.push([_setDomainName, '.domain.com']); 
   _gaq.push([_setDomainName, 'domain.com']);

  (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>
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>
// Google Analytics
var pageTracker;
try {
    pageTracker = _gat._getTracker("UA-15064357-1"); // pour dystroy.org
    pageTracker._setDomainName("none");
    pageTracker._setAllowLinker(true);
    for (var i=10; i-->0;) pageTracker._trackPageview();
} catch(err) {console.log(err);}
</script>​

我之所以问,是因为我最近查看了一份与所有基础数​​据不太相符的分析报告

谢谢

【问题讨论】:

  • 如果您需要大量不同的访问者,您可能会考虑升级到通用分析,您可以自己设置客户端 ID(这将为您提供每个客户端 ID 的不同访问者)。

标签: javascript jquery google-analytics data-manipulation


【解决方案1】:

无法保证以特定方式破坏 GA 代码会产生与另一个 GA 破坏代码相同的结果。

如果您想了解可能由损坏的 GA 代码引起的特定趋势,那么您可能应该将趋势和您迄今为止的发现发布到 Pro Webmasters,看看他们是否可以查明具体问题。

对于可能正在查看它的人来说,这只是一个剧透。

注意不要在您的网站上这样做。这是一个 GA 损坏的代码。

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-19629541-5']);
_gaq.push(['_setAllowHash', false]);
_gaq.push(['b._setAccount', 'UA-19629541-5']);
_gaq.push(['b._setAllowHash', true]);

for (var i=0;i<=10;i++) {
  _gaq.push(['_trackPageview']);
  _gaq.push(['b._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);
  })();

更新

我在这里做什么的一些解释。

我正在创建 2 个跟踪器,但我还没有触及 _setDomainName 属性。这意味着两个跟踪器都使用相同的 cookie。但是其中一个跟踪器使用_setAllowHash true,另一个使用 false。 _setAllowHash 这些天已被弃用,所以你真的不需要它。但它的作用是,当它为 false 时,它​​会禁用域哈希,这是您在第一个点之前在 cookie _utma 中看到的数字。当域哈希被禁用时,这个数字只有 1。

当第一个跟踪器运行时,它会禁用域哈希并创建 cookie,然后它会触发一次网页浏览。当第二个运行时,它发现哈希与预期的不匹配,因此它创建了一个新的 cookie,覆盖了旧的 cookie。

它们一个接一个地运行,删除并重新创建 __utma cookie。事实证明,这个 cookie 还保存了 visitorId,因此 Google Analytics 将页面浏览量视为具有全新访问的新访客。

不幸的是,这很常见,幸运的是_setAllowHash 已被弃用,因此根本没有充分的理由使用它。所以它不应该像以前那样经常发生,但是仍然有一些设置可能会导致这样的问题。

经验法则是,如果您使用多个跟踪器,请始终对所有跟踪器使用相同的设置。

【讨论】:

  • 好吧,实际上我想在我的网站上使用它,看看是否有任何模式需要注意,比如极端尖峰等等,这样我就可以看看 Flippa 上是否有人更改了他经过验证的 G . 分析代码。这样做是否正确:jsfiddle.net/4Brbf/1 因为据我所知,我的分析根本不起作用……感谢您的帮助
  • 但据我所知,这只会增加页面浏览量,而不是增加访问者的数量。这是否意味着无法控制访问者的数量?
  • 你是对的。我更新了代码以真正打破它。现在,当您运行它时,它将产生多次访问和访问者。您可以看到 __utma 上的第二个数字随着每次浏览量而变化,该数字是 visitorId,当它发生变化时,意味着您获得了新的访问者。 jsfiddle.net/4Brbf/6
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-14
  • 1970-01-01
相关资源
最近更新 更多