您的位置:首页 > 其它

用户行为日志的采集

2015-02-10 16:49 183 查看
用户的行为日志,在现今以数据说话时代的重要性已经凸显地越来越明显.笔者从事相关一线工作(主要是数据处理及模型设计,离线及实时平台)三年,分享一些工作中的一些思考,这部分的内容比较偏向业务,希望不会写的太技术。首先,我们要先来看一下这个东东到底有啥重要的,为啥每个有点规模的公司都需要花费一定人力来搞这个东西呢?有的时候甚至只是一份日志真的能养活这么多人?想解释这个问题,必须回到一些基本运营的问题上来?
1.公司靠客户转化来增加收入,没错吧?
2.哪个公司都有产品经理吧?怎么知道他/她设计的这产品效果明显呢?万一正好搞啥活动或者公关的好,他这产品上线了,谁扯的清呢?
3.公司运营除了增加收入外还得减少开支吧,每个月投baidu、360、各种网盟的钱有点割肉的感觉吧?我们期待啥?用最少的钱打最合算的广告!
4.那些说什么老板拿这些数据做最后的决策,部分有点扯淡,不排除现在一些老大还是拍脑袋下决策,但是有一点一定是对的,就是你得知道自己公司一段时间的数据吧,不能闷头过日子啊。
5...以上问题都是可以在用户数据中拿到对应的内容来说明。好了,在我们确定了这个东西的确是有价值、值得花人力去做之后,我们来聊聊怎么做?在这里需要细分一下目前用户访问的平台,根据目前以及短期内技术发展,可以分为三种APP|PC|WAP,其中PC/WAP可以算一种,都是传统web交互方式,APP(说的是Native APP,iOS、Android etc)PC/WEB上实现一般有三种:1.web service记录
2.js嵌入收集
3.包嗅探器
Web日志JavaScript标记包嗅探器
优点・比较容易获取数据源・方便对历史数据再处理・可以记录搜索引擎爬虫的访问记录・记录文件下载状况・数据收集灵活,可定制性强・可以记录缓存、代理服务器访问・对访问者行动追踪更为准确・对跨域访问的监测比较方便・取得实时数据比较方便
缺点・无法记录缓存、代理服务器访问・无法捕获自定义的业务信息・对访问者的定位过于模糊・对跨域访问的监测比较麻烦・用户端的JS设置会影响数据收集・记录下载和重定向数据比较困难・会增加网站的JS脚本负荷・初期导入费用较高・无法记录缓存、代理服务器访问・对用户数据隐私有安全隐患
目前第二种是最流行的收集方式。
通过使用JS收集客户端的cookie信息,浏览器等,发送到后台一组服务器,找了几个网站查看他们的收集数据,请求格式譬如:
唯品会: http://mar.vip.com/p?mars_br_pos=&mars_cid=1398657717000_d430514ae3ce8aab29178c11eba5dcb1&mars_sid=b01fc069abdd38df7bd359d6429184f4&pi=0&mars_vid=BD55BF35DADC6722D8D2B29B5C4054A3&lvm_id=83619272008072580001401328910640&mars_var=-&lg=0&wh=VIP_SH&in=0&sn=&url=http://www.vip.com/&sr=1366*768&rf=&bw=1286&bh=150&sc=24&bv=mozilla/5.0 (windows nt 6.3; wow64) applewebkit/537.36 (khtml, like gecko) chrome/40.0.2214.93 safari/537.36&ce=1&vs=&title=唯品会(原Vipshop.com)特卖会:一家专门做特卖的网站_确保正品_确保低价_货到付款&tab_page_id=1423478314979_0c4c3141-f350-79ec-2e58-1b5bafda3332&vip_qe=undefined&vip_qt=undefined&vip_xe=&vip_xt=&r=0.03680062713101506
当当: http://click.dangdang.com/page_tracker.php?m_id=&o_id=®ion_ids=&out_refer=null&refer_url=&url=http://www.dangdang.com/&to_url=&type=1&visit_count=27&is_first_pv=0&ctr_type=&perm_id=20140430171404681303078869337380126&res=1366,768||1286,1518&r=0.9703021887689829&title=当当—网上购物中心:图书、母婴、美妆、家居、数码、家电、服装、鞋包等,正品低价,货到付款&trace_id=0.70&special=market=location:6;&cif=&rsv1=&rsv2=&rsv3=&rsv4=xxx 淘宝: http://ac.mmstat.com/1.gif?uid=802662066&apply=vote&abbucket=_AB-M65_B6&com=02&acm=tt-1097039-36356.1.1003&cod=tt-1097039-36356&cache=1874351609&aldid=72SdnsDn&logtype=4&abtest=_AB-LR65-PR65&scm=1003.1.tt-1097039-36356&ip=210.13.117.180 
在服务器端如Nginx,进行query的parse配置,最后将数据以log方式存储。
移动端的实现对移动开发不熟悉,了解到的是一般通过手动埋点,触发Event来实现,如友盟的自定义事件埋点:
MobclickAgent.onEvent(
this
,
 Event.Start);

可以下载具体的SDK文档看看,后续一样还是将query发到服务器,由服务器进行解析,存储

http://www.umeng.com/analytics

http://mtj.baidu.com/web/welcome/sdk
http://wdm.taobao.com/index.htm
https://talkingdata.net/index.jsp

本文为个人原创,转载请注明出处!原作者:Tony_老七
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: