站外FLASH广告投放的A/B(轮播)测试实现思路

说一下,这个方法是已经试过的,实全可以,现在分享出来;

首先要大概了解一下百度的统计和FLASH里怎么调用百度的统计代码,文章如下:http://www.zishu.cn/10/924.html

下文要解决的问题是,在第三方的一个网站上投了一个FLASH广告,怎么知道A版本好还是B版本好;

A/B测试的原理

如下简图基本的原理(当然,实际算要麻烦一些,应该只算唯一用户,同一个用户多次展示或点击应该只算一次);

1

要解决几个问题

1、怎么样实现在一个FLASH中出现两个版本?
2、分配的算法在FLASH中怎么实现?
3、怎么统计A或B版本的显示次数?
4、怎么统计A或B版本的点击次数?
5、怎么样保证同一个用户无论怎么刷新都只看到同一个版本?

如果能把以上的问题解决了,那么这个A/B测试就基本实现了;

开始实现

1、怎么样实现在一个FLASH中出现两个版本?

方法有两个:
a. 在同一个FLASH中,FLASH中可放在两帧上;或放在两个场景中;但每次只显示一个;
b. 两个FLASH单独作成一个文件,然后用loadMovie去加载其中一个;

2、分配的算法在FLASH中怎么实现?

我试了一下,用FLASH中的random()就可以;

我测试了一下,跑一百万次,发现分的还是比较均匀的;

var a = 0;  
for(var i=0; i<1000000; i++){  
    var b = random(2);  
    if(b == 1) a++;  
}  
trace(a);//499592  

所以,直接用random(2)可以作为分配的算法;

3、怎么统计A或B版本的显示次数?

参考上篇文章中的:

function track(k){     
    var d = new Date();     
    var t = int(d.getTime()/1000);     
    var u = 'http://hm.baidu.com/hm.gif?cc=1&cf=&ci=&ck=1&cl=24-bit&cm=&cp=&cw=&ds=1280x1024&ep=&et=0&fl=10.0&ja=1&ln=zh-cn&lo=0<='+t+'&nv=0&rnd='+t+'&si='+k+'&st=4&su=';     
    loadMovie(u, "track");       
}     
track('803bf72233078312f4d20741bd8837ff');    

4、怎么统计A或B版本的点击次数?

on (release) {  
    track('803bf72233078312f4d20741bd8837ff');   
    getURL("http://www.zishu.cn/10/925.html?src=a", "_blank");  
}  

注意,这样的方式在FIREFOX中,有时会丢数据,但如果是A/B测,A丢B也丢,其实也还好了;

5、怎么样保证同一个用户无论怎么刷新都只看到同一个版本?

例为FLASH中的SharedObject; 可以在用户的客户端记录一下当前正在显示的版本;

不知道怎么用的,可以参考:http://www.zishu.cn/10/879.html

这样最后在统计系统中用A版本的点击IP除以A版的展示IP,基本可以知道A版本的效果;
B版本也同理;

这样最后就可以知道投放在外站的FLASH用哪个版本的效果会非常好;

这东西如果把分配的算法放在自已的服务器上,那么在发现某一版本好后,可以随时停掉另一个版本,以获得更好的投放效果;

小网站,如果投个广告一天几千块也就算了,如果是较大网站,一天投几万块出去,而且是投了一个测下来广告效果非常好的广告出去; 那是非常有意义的;

转载:站外FLASH广告投放的A/B测试实现思路:http://www.zishu.cn/10/925.html

发表评论?

0 条评论。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据