Javascript Analytics代码操作(G.Analytics)

Javascript Analytics Code Manipulation (G. Analytics)

本文关键字:Analytics 操作 代码 Javascript      更新时间:2023-09-26

为了我的工作,我正在做一个关于谷歌分析有效性的研究项目(主要是关于flippa上经过验证的报告)-->看看是否有可能完全伪造G.分析(简单的"是"不会删除它)!

我修改了G.Analytics代码如下:

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);
  })();

当你运行它时,它现在会产生多个访问和访客。你可以看到__utma上的第二个数字对每个页面视图都会发生变化,这个数字就是visitorId,当它发生变化时,意味着你得到了一个新的访客

问题是我现在得到的统计数据是这样的:

  • 访问次数:1785
  • 独特访客:1781
  • 页面浏览量:2188
  • 页数/访问次数:1.23
  • 平均。就诊时间:00:00:03
  • 反弹率:96.13%%
  • 新访问量:99.78%

请不要在平均访问持续时间中出现极端的减少

之前它们与此类似:

  • 访问次数:135
  • 独特访客:118
  • 页面浏览量:383
  • 页数/访问次数:2.84
  • 平均。就诊时间:00:04:22
  • 反弹率:57.78%
  • %新访问量:68.89%

现在我的问题是:我需要如何修改G.Analytics Code(如果可能的话),使其看起来像这样:

  • 访问量:135*10=1350
  • 唯一访问者:118*10=1180
  • 页面浏览量:383*10=3830
  • 页数/访问次数:2.84
  • 平均。就诊时间:00:04:22
  • 反弹率:57.78%
  • %新访问量:68.89%

因此,基本上将访问量、唯一访问者、页面浏览量增加了10倍,但其他统计数据保持不变。

上的示例http://jsfiddle.net非常受欢迎

PS:很抱歉我的英语不好(不是我的母语)

Google Analytics在服务器端定义了timeOnPage和timeOnSite,代码基于您发送的页面浏览之间的时间。由于所有这些都是在服务器端完成的,所以没有办法伪造,除非你按照你想要伪造的时间间隔你的页面浏览量。

您还需要为每个跟踪器发送1次以上的页面浏览量,才能获得正确的页面/访问量。目前,每次您在2个跟踪器之间切换时,您都会重置cookie,并且以前的访问者ID将永远丢失。

所以你想做这样的事情:

  • 创建第一个跟踪器
  • 激发页面视图
  • 等待1到2秒
  • 激发另一个页面视图
  • 也许80%的时间在1或2秒后触发第三次页面浏览,以接近正确的平均值
  • 创建新跟踪器
  • 漂洗重复

我想说,你可能想引入一些更多的随机性,仍然保持相同的平均值。例如,为了获得正确的BounceRate,您需要有57%的访问触发单个页面视图。为了获得正确的新访客指标,你需要带着一个旧id回来,但在新的访问中产生一个返回的访客。您可以通过删除__utmb或__utmc cookie来触发新的访问,或者在新的页面视图之间等待超过30分钟。

正如你所看到的,你越想以假乱真,可能就越难。

现在,这对于单页脚本来说有点不切实际。因为它可能需要几秒钟才能完成,而且你可能想模仿它数千次。因此,也许最好使用像phantom.js这样的无头浏览器来创建它,您可以同时触发的多个实例来获得您想要的结果。

我想知道你打算从中提取什么样的分析。根据分析的类型,你已经拥有的就足够了,或者为了更好地模拟而付出的努力不值得深入了解。

您将无法在一个网页中做到这一点。问题是,每当你重置哈希时,它就会产生一个新的会话,这将导致第一个"访客"离开,从而降低持续时间的平均访问量并增加跳出率。

我相信你可以通过以下操作完成除了独特访客*10要求之外的一切:

  • 创建一个基本的HTML页面,其中只有标准的Google Analytics代码,我们称之为ga.htm
  • 创建一个包含文件,该文件包含9个0x0大小的iFrame,每个iFrame的srcga.htm,我们称之为include-ga.htm
  • include-ga.htm文件包含在所有页面的底部

这应该会人为地让GA认为用户一次查看10个页面,这应该会同时乘以你的所有统计数据,除了唯一访问者。

这是我假设的概念证明。

您的代码不是已经证明了您可以操作GA统计数据吗?操作的唯一提示是平均访问时间。

我发现有趣的是G.A是如何确定它是否是一个独特的访客的。你可能会认为谷歌做了某种检查,IP/Mac/主机名或主机上的秘密唯一id。在GA帮助中,它声明

独特访客(或绝对独特访客):Unique Visitors表示未复制(仅计数一次)在指定时间内访问您的网站时期使用cookie确定唯一访问者。

也许你的平均访问持续时间:可以在GA cookie中进行操作。有一个jquery插件,可以通过java脚本制作cookie。

有兴趣知道你的项目是否成功。

为了完整起见,谷歌关于GA 的帮助