功能
·可以完整详细地获得每一个用户点击广告的数据。包括点击时间,用户的IP,页面来源地址,被点击的广告网站地址,如果你的站点上保存了用户cookie的话,甚至可以查询到是哪位用户点了你的广告。
·用纯客户端javascript代码和AJAX技术实现点击监听和向服务端发送点击数据,服务端我用的是ASP脚本,只是用来保存点击数据和提供浏览器端的点击查询,可以更换为其他服务端脚本,如PHP,JSP等。
·数据保存方式为了简单,我用纯text文本保存,一行保存一条数据,数据字段用逗号分隔,这样方便用户将这个文本另存为csv格式,csv就能用excel打开了。
·查看广告点击数据可设访问密码
安装和使用
下载这个文件解压出里面的adLog.asp文件
用记事本打开adLog.asp找到如下几行:
Const AccessPassword = "adLog" ’查看点击时的访问密码,可以自行设定,如果无需身份认证,请将AccessPassword值改为""即可
Const SessionName = "google_ad_logger" ’Session名称,用来保存访问密码到指定Session中
Const WebCharset = "utf-8" ’网站的编码类型,如果是GB-2312,请自行修改
Const UserName = "username" ’用户名cookie,如果你的站没有用户cookie,就不用管了可以根据自己实际需要修改其值
修改完毕后将文件上传到你的web站点上,任何路径下都可以。这里注意:如果你的编码是gb-2312,请将文件用记事本打开,并选择另存为,将编码改回为ANSI。
修改你投放了google广告的页面文件,将以下代码插入你的页面任意位置:
将其中的页面路径修改为你自己实际的地址
安装完毕以后页面就自动开始跟踪广告点击了
查看点击数据你可以上ftp直接下载你指定的文本文件查看,或者访问http://www.example.com/adlog.asp
技术原理
其实这也不是什么高深技术,原理及其简单,主要核心功能都是在客户端javascript中。
·通过查看发现google的广告代码全部放在一个iframe中。所以首先通过document.getElementsByTagName("iframe")得到页面中所有iframe标签的元素集保存到一个数组中
·然后遍历数组检查iframe.src值是否包含有"googlesyndication.com"这串字符串,如果有就认为这个iframe是google的广告显示iframe得到google显示广告的iframe后给这个iframe增加一个onfocus事件,这个事件就是当元素获得焦点时触发的事件
·在onfocus事件中检查window.status的值,也就是状态栏显示的字符串,如果匹配"go to"和"键连至"这几个字符串就提取中网址地址,这个地址就认为是被点击的广告网址
·利用AJAX立即将用户的点击数据POST到服务端纪录下来,这里的AJAX无需再响应服务端传回的数据了,只管发送出去即可
