首先科普一下目前互联网广告的类型,大体都有CPC,CPM,CPA,CPS,CPV这几种。
CPC就是按点击(Click)计算,CPM就是按弹窗(Mxxx?)计算,CPA/CPS一个是按注册一个是按销售计算,CPV则是按显示次数计算。于是CPC,CPA,CPS这种根据网站访客行为来获得收益的是一类,而CPM和CPV这种只和网站流量相关的则是另一类。
可想而知,CPC,CPA,CPS的效果要分析访客群体,点击习惯等诸多要素来进行调整,非一蹴而就,这篇文章中我主要想研究怎么从流量上做文章,在不作弊的情况下获取尽可能多的收益;等广告联盟用得多了,时间长了,也会给一点不同广告联盟的评价。
1. 最基本的投放
以联盟为例,直接在网页任意地方嵌入类似代码就能生成在右下角悬浮的展示广告了。
<script type="text/javascript"> u_a_client="20326"; u_a_width="270"; u_a_height="200"; u_a_zones="37972"; u_a_type="1" </script> <script src=http://www.chinaz.com/Webbiz/Exp/"http://www.XXXX.com/i.js"></script> |
2. 不同广告联盟的同类广告轮播
因为CPV/CPM是按IP计算浏览量的,那么同一用户反复浏览同一广告是不会增加收入的,所以引入轮播机制。
通常情况下,如果是同一个联盟,那么是自动随机轮播的,但是如果想在不同的联盟的CPV广告之间进行轮播,又该如何呢。
其实可以自己来搞随机,通过javascript脚本,在相应位置随机产生代码。可以定义文件 dynamic.js,然后在相应位置引入。
<script type="text/javascript" src="dynamic.js"></script> |
然后dynamic.js利用document.write以及Math.random函数来实现动态展示不同网站的广告,这里我用了另一个广告联盟太极圈(这个联盟我看playsc.com在用所以也申请了)的广告。代码如下:
var choice = Math.random()*2; if (choice<=1){ document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";<\/script><script src="http://js.tjq.com/i.js"><\/script>'); }else{ document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";<\/script><script src="http://www.admin6.com/i.js"><\/script>'); } |
显然,如果有3个需要展示的,那么random*3,并且放上三个分支就行了,以此类推。这只是一种形式,如果有很多广告的话,可以定义一个dynamic.js文件,把上述代码放在函数cpv里面,然后在相应的地方调用cpv函数也可。这样方便统一管理广告。
另外这样做的另一个好处是,静态化的页面不用重新生成,只用修改dynamic.js的内容,即可以修改广告内容。
使用中发现,javascript的随机数生成并不太靠谱,所以也可以摒弃Math.random方法,改用奇偶时间法:奇数分钟显示A广告,偶数分钟显示B广告,甚至可以按秒数来分,最多支持60个广告轮播(好变态-。-)。这个方法的基本思想是,只要浏览网页超过时间片的长度(我这里用的是分钟),那么必然会同时浏览到两个广告。dynamic.js的代码修改如下
var now = new Date(); |
奇偶时间法的另一个优势在于可以比较哪个广告联盟量比较足,因为可想而之奇偶时间分配的话,一般来说两个联盟分配到的点击数都应该差不多的,仅作参考。
3. 终极轮播绝招
使用2的那些方法以后,比起单联盟来说,广告投放效果立刻*1.5,但是这还是不够。我们应该更贪心一点:要压榨光每一个IP的用户流量。
怎样才能压榨干净呢?试想一下这个算法:
用户当天第一次来访,显示广告1
用户当天第二次来访,显示广告2
……