2007/04/24

用 Ad Muncher 清除 Google 点进跟踪

导语

Click-trough, 即“点进”,表示用户根据显示的链接点击进去。点进次数和显示次数之比,就是通常所说的“点进率”。显然,“点进率”是衡量广告投放效果和搜索结果命中率的一个重要指标,因此被广告商和搜索引擎广泛使用。

本文要说的不是如何提高点进率,而是如何“降低” Google 点进率。呵呵,为什么这么说呢?

起因

如果你在 Google 上搜索我的名字, janlay, 搜索结果第一条就是我的这个 blog, 它的链接是:

<a href="http://janlay.com/" target=_blank class=l onmousedown="return clk(this.href,'','','res','1','&amp;sig2=FYQtPTX40i0boVYycei_cw')">janlay&#39;s blog</a>

从上面可以看到,Google 记录“点进”动作不是通过常规的方式——先到服务器上去记录,然后转向到目标地址——而是让浏览器直接访问目标地址,同时通过 javascript 记录。这样做的好处至少有两点:

  1. 记录“点进”的动作不易被觉察。点击搜索结果时不会发生异常现象,所以用户不会意识到这次点击已被记录;有些用户会有通过查看地址栏链接地址来检查 URL 可靠性的习惯,这里同样不会有什么不对的地方,因为 mousedown handler 是不会显示在地址栏上的。
  2. 访问目标地址和记录动作异步进行,用户无需等待即可立即开始访问目标地址。

你是否已经发现问题了呢?Google 会在用户不知情的情况下记录你曾经搜索过的关键词,点击了哪一条搜索结果(目前无法验证 Google 是否将此记录与特定用户相关联)。用户隐私无法得到保障——人们不会相信这些统计信息不会用于商业目的。

解决之道

在“用 Ad Muncher 访问 Google 网页快照”被研究出来之后,基本同样的替换方法,可以很容易地清除 Google 点进跟踪:

简单地说,就是将 class=l onmousedown="return clk(*)" 替换为 class=l. 应用规则之后,Google 所有搜索结果链接中的 onmousedown handler 将被删除。