互联网用户行为采集淘宝方案
互联网日志划分
- 页面访问日志:每个页面装载head部分的时候,下载一个js,这个js将发送一个请求到日志服务器,请求中包含了同步在淘宝cookie的本地cookie信息,也包含了refer/url/要获取的header参数/session的信息,由此完成pv/uv的默认计算,淘宝的atp.js就是完成这个工作,而google统计的ga.js是完成同样的事情
- 页面交互日志:用户在页面上某个行为触发一个异步请求,按照约定的格式向日志服务器发送请求,展现、点击、等待、报错等等都可以作为交互行为,黄金令箭就是实现这个,在通用统计工具中,没有这类数据的采集和计算
- 模块曝光日志:页面在展现一个区块的时候,这个模块向服务器发情http请求,记录自己被用户看到
为何不用apache或应用服务器日志
- 互联网用户响应的多样性,决定了日志内容的多样性,日志采集应该是轻量级的方案,不应该非常依赖应用服务器,否则将很难扩展,应用也会因为数据分析而承载更多的系统压力和升级负担
- 应用日志是在应用内有效,而用户的行为是跨应用和产品的,不同的应用日志分开,一致性无法保障,甚至格式都不统一,所以一般不采用apache或应用服务器日志
模拟点击
- 模拟点击就是互联网日志采集的第二类方法,最初是用户点击页面不刷新,我们发送请求认为这个请求模拟了用户刷新页面,由此等名,其实是淘宝内部的名称
- 埋模拟点击的点:是指把发送请求的指令,请前台开发同学放在交互的环节中,一旦满足某个交互条件,就发送请求,被日志服务器记录
黄金令箭
随着ajax在淘宝越来越多才需求越来越明确:需要对用户在淘宝不同页面、不同位置、不同类型的交互行为进行记录,以便后续分析
同时除了用户的强交互行为外,越来越多的需求方,需要了解产品被展现的情况,所以:黄金令箭是一个交互类模拟点击和模块类曝光日志的一个规范,相应的数据产品由以下4部分组成:
- 申请中心
- 订阅中心
- 容错处理中心
- 展现中心
黄金令箭具有以下几点优势:
- 埋点灵活对,采集、存储和计算统一,对需求应用简单透明
- 通过格式化明确的定位串代替特征值,更容易分级管理和扩展。
- 令箭中的内容串可以传输更丰富的信息,用于后续的分析。
- 黄金令箭的申请、分发、订阅、汇总是息息相关的,为需求方提供更丰富的自定义服务。
- 增加了业务、号段等特征,管理上增加了权限的设置。
- 淘宝全网位置资源统一管理的趋势。
总的来说,可以通过以下方式进行用户行为采集
页面显微镜
功能:点击监控,A/B Test
监控页面PV,UV,退出率,客户端信息(浏览器,OS,屏幕分辨率等)
监测页面的全局点击分布,或者针对某个具体元素(唯一id)区域做点击监控;
哈勃监控
功能:实时交易信息,性能监控,报警
前端性能监控,渲染时间等;
淘数据
功能:路径分析,页面UV,页面平均停留时间,页面来源/去向分析,交易额报表等
淘数据的页面点击实际上是分析后台日志生成的,只能给出超链接元素的点击分布,基本没用;
黄金令箭
功能:交互类模拟点击,模块曝光监控
可以根据需要对用户交互做可定制监控,更灵活有效;权限管理严格,需要产品配合申请监控号段
量子统计
功能:网站统计,淘宝店铺统计
外网公开的站点统计服务,非内网系统
针对以上监控系统的功能,对于前端页面交互行为监控分析来说,可以使用页面显微镜来分析客户端信息,页面热力图;使用哈勃监控实时的前端性能(如果继续提供服务的话);使用淘数据配合黄金令箭来对用户详细的页面交互行为进行分析,为用研、产品和交互设计的优化提供数据支持。
还未整理完,待续……