浏览模式: 标准 | 列表

 广告统计可以算是一个广告平台最重要最核心的一个内容,一个广告平台是否优秀,跟它是否有优秀的广告统计方式是分不开的。广告平台的统计包括请求次数统计、展示次数统计、点击次数统计、效果统计,地区统计、客户端种类统计、时段统计、收入统计等信息的统计。除了某些不良广告平台采用作弊手段恶意修改统计数据以赚取更多短期利益的这种特殊情况以外,在广告统计中最容易引发问题的统计莫过于点击次数中所谓恶意点击的统计了。

传统的广告统计方式是采用过滤恶意点击的方式来实现有效点击的统计,而实际上这不是一个好的方法:
 
首先,这种方式非常浪费服务器资源,当你的用户越来越多,如果你没有足够多足够强的服务器,恐怕你很难处理那么多的统计数据。毕竟不是每个广告平台都有Google那么多的服务器。所以采用这种方式实现广告统计的广告平台,大多数都难以实现实时统计。其实就连Google在拥有那么多服务器的情况下,也做不到真正的实时统计。
 
第二,采用过滤恶意点击的方式所收到效果的好坏跟过滤规则有很大的关系,而且你很难找到一个高效且效果好的过滤规则。这方面做得最差的典型莫过于 Google 的 AdSense,Google 的 AdSense 经常会因为对恶意点击的误判而对开发者造成永久性的伤害。但是 Google 毕竟有太多的开发者,以至于他这种店大欺客的行为不会对它本身造成致命的伤害。当然,这也是在他还没有真正的竞争对手出现之前,如果有个实力相当的竞争对手,而Google仍然不改变他的这种方式,那么它变很可能会被打败。总之,恶意点击的误判会伤害到开发者,而对于漏掉的恶意点击则会伤害到广告商的利益。所以,通过过滤恶意点击的方式很难在开发者和广告商之间做到平衡。因为这些规则太复杂,后面还有人为的干预,你就很难说清楚,这到底是谁的问题。
 
那如何才能更科学的防止恶意点击呢?我认为要防止恶意点击的要从根本上来解决,而不是通过过滤恶意点击的统计方式来解决。所谓从根本上解决也就是说从广告平台本身出发,来使得恶意点击成为不可能发生的情况。有了这种机制,便不会再有过滤恶意点击一说,也就能从根本上杜绝恶意点击的出现,这样便既不会伤害到开发者,也不会伤害到广告提供商,同时还可以在这个基础上改善用户体验,让广告平台、开发者和广告商都做到利益最大化。
 
那怎么样才能做到从根本上杜绝恶意点击的出现呢?这种方法说起来也很简单,而且变化方式可以多种多样,只要构架设计的够好,甚至可以完全通过广告后台控制,对于广告客户端不需要做改变,就可以随时变更规则。这个方法我暂时把它叫做:时间分段法。
 
我们知道:一天一共有24个小时,1440分钟。我们下面就来看看如何对它进行分段:
 
如果在一天之内用户打开放有广告的应用或网站后,没有做任何点击广告的动作,那广告展示按照正常方式投放即可,不需要做任何改变。
 
如果用户打开放有广告的应用或网站后,点击过1次广告之后,则在这一天之内的点击后的2分钟之内(如果这一天最后剩余不足2分钟,则到这一天结束为止,下同),不再展示点击性广告。
 
如果用户打开放有广告的应用或网站后,点击过2次广告之后(这2次广告点击时间至少是相隔2分钟),则在这一天之内的第2次点击后的4分钟之内,不再展示点击性广告。
 
如果用户打开放有广告的应用或网站后,点击过3次广告之后(这3次广告点击时间至少是相隔6分钟),则在这一天之内的第3次点击后的8分钟之内,不再展示点击性广告。
 
......
 
如果用户打开放有广告的应用或网站后,点击过8次广告之后(这8次广告点击时间至少是相隔254分钟),则在这一天之内的第8次点击后的256分钟之内,不再展示点击性广告。
 
如果用户打开放有广告的应用或网站后,点击过9次广告之后(这9次广告点击时间至少是相隔510分钟),则在这一天之内的第9次点击后的512分钟之内,不再展示点击性广告。
 
如果用户打开放有广告的应用或网站后,点击过10次广告之后(这10次广告点击时间至少是相隔1022分钟),则在这一天之内的第10次点击后不再展示点击性广告。
 
我们后面把展示点击性广告的时间成为点击性广告有效时间,把不展示点击性广告的时间成为点击性广告无效时间。
 
因此,即便是用户知道以上规律,并且在所有点击性广告有效时间的第一时间做出点击,一天的点击也不会超过10次,而实际上根本没有人能够做到第一时间的点击,因此按照以上方法来展示广告,一个用户一天的点击次数要远远的小于10次,因此从根本上防止了恶意点击的发生。
 
上面只是一个基本规则,在这个规则基础上,我们再来增加规则。
 
首先,我们还要解决一个问题,同一个广告商肯定不希望同一个用户在同一天之内对他的同一个点击性广告进行2次以上的重复性点击。因此,我们可以在用户点击过某个广告之后,在当天不再显示这个广告,而剩余的那些点击性广告有效时间内,只展示用户未点击过的广告。
 
其次,我们要解决点击性广告无效时间内,我们要展示什么的问题。这个我们就有更多的选择了。
 
最简单的办法:不显示任何广告。这从根本上也改善了用户体验。而且既然用户看不到广告,也就不会出现误点和恶意点击的行为了。但是这种方式有一个弊端,那就是会让广告展示量有所下降,按照目前普遍的平均点击水平计算(按点击率在2%来计算),这种方式大约会损失 10% 的广告展示量,当然实际上有一些应用达不到这么高的点击率,那么在这些应用上损失的广告展示量会更小。
 
更好的办法:显示应用互推内容。就是免费显示使用了广告平台的其它应用的广告。因为这种应用互推的内容只能带来更多的用户,而本身不能带来直接利润。因此它们不应该占用点击性广告有效时间。所以利用这一段点击性广告无效时间来显示软件互推的内容,是最好不过的啦。按照上面所说,如果不显示任何广告平均会损失10%的广告展示量,那么如果显示软件互推,一天就有10%的时间来显示软件互推内容。这对于开发者和广告平台来说都有好处,一方面增加了开发者应用的用户量,而开发者的用户越多,广告平台总的广告展示量就越多,收入也就越多。
 
最好的办法:那就是增加纯展示性广告。这段点击性广告无效时间内,只显示纯展示性广告。这些广告点击不计费,也不会产生点击效果,但是又能有效的增加开发者和广告平台的收入,而广告商也因此得利,因为这种方式没有任何的广告展示量损失。同时这种广告会有效改善了用户体验,不会因为误点这些广告而离开应用本身,增加用户对广告的好感。而在点击性广告有效展示时间内,可以将纯展示型广告的显示权重降低一些,点击性广告的权重提高,这种有效的广告展示分配方案不但有效的防止了恶意点击,而且令广告平台、开发者、广告商以及最终用户都做到了利益最大化。
 
没有最好,只有更好:那就是将上面三种方式结合,当没有软件互推和纯展示型广告时,那就不显示任何广告,改善用户体验,当有应用互推内容,却没有纯展示型广告时,就显示应用互推内容,避免10%的广告展示量的白白损失。当有了纯展示型广告之后,那就以显示纯展示型广告优先,做到各方利益最大化。
 
上面这种方法,虽然叙述起来内容看上去很多,但是实际上,上面叙述的大多数是解释这种方式好处,而在算法要比现在通常的过滤算法简单的多的多。这种方式不但容易实现,而且避免了采用后期统计的方式来处理恶意点击时带来的服务器资源消耗,因此采用这种方式之后,不但有效的节省了服务器计算资源,并且可以轻松做到有效的实时统计,因此还从根本上有效的改善了开发者和广告商在使用广告平台时的使用体验。