闲谈流量统计(II)— 采集
肆、采集方式分类
1. 按采集媒介分类
- 后端采集
- 前端采集
- 页面采集
- APP 采集
- Hybrid 采集
- 小程序采集
- PC 采集
- Mac 采集
- IOT 采集
2. 按采集模型分类
- 页面采集
- 事件采集
3. 按采集技术分类
手动埋点
可视化埋点
全埋点
伍、前端采集
1. JS 采集
通过在网页中嵌入一段 JS 跟踪代码,然后这段代码会收集相关信息通过虚拟1像素的gif图片的形式来发送相关的信息给服务器,以完成数据采集。之所以说是虚拟1像素,是因为这个图片是看不到的,整体的流程如图所示。
当在网站中添加了跟踪代码段之后,就会针对用户访问的每个页面发送网页浏览数据。服务器 通过处理此数据可以推导出大量信息,其中包括用户总共在您网站上停留多少时间;用户在每个网页上停留的时间以及用户查看这些网页的次序;用户单击了哪些内部链接(根据下一个网页浏览的网址得到)。
此外,IP 地址、用户代理字符串以及 analytics.js 在创建新跟踪器时查看的初始网页可用于确定以下这类信息:用户的地理位置,用户使用的浏览器和操作系统,屏幕尺寸以及是否安装Flash或Java、引荐网站等。
以上信息来自:《谷歌分析实战指南,第 10 页
目前小程序采用的也是页面采集的方式,但是不排除以后的采集模型会和APP的采集方式靠近。
跟多可以阅读 阿里巴巴的日志采集分享(上) | Why·Liam·Blog
2. APP 采集
接下来说一下APP 采集。通过在APP中嵌入一个采集 SDK,在APP 的启动、关闭等系统事件,以及用户操作的事件,以及一些内容曝光等事件处罚SDK的程序,将以上的内容进行重新整理、加工、存储、发送。
在这之后,可以知道用户使用了什么手机,在APP的页面时长,用户在APP上的操作轨迹,还可以结合用户画像等进行进一步的分析。
APP采集和页面采集最大的区别在于,APP的数据可持续性。在流量数据的生存过程中,可以将数据标记为一个生产用户。在数据发生阶段,不类似于网页的实时发送,APP可以在手机本地完成加工处理,并可以尝试多次发送,降低事件发生的失败率。
Hbrid 的采集方式很多是将 页面采集 和 APP 采集相结合,页面的事件会发送给 APP 采集的SDK,由 SDK 增加加工后在发送到服务器。这样可以保证数据的一致。
陆、后台采集
后台数据的收集其实一直都有,但是在用户行为数据分析层面并不是特别流行,大多数情况都是作用于业务日志数据的收集,这个就不展开说了。主要说一下弊端:
收集用户行为需要前端进行埋点,这样的逻辑和前端收集没有却别
通过业务行为收集的用户行为对业务由侵入型,而且有可能会引起业务的不稳定
柒、数据传输
按照页面采集和APP采集,数据传输的过程中也主要分为两个方式。
页面的数据传输都是实时传输。由于页面没有稳定的缓存机制,并不适合将数据缓存在浏览器中定时发送。所以,目前的数据发送都是实时的,用户每点击一个网页,或每有一次用户行为,哪怕是鼠标划出某些路径,数据就会即使上报。
这样的弊端就在于数据发送的到达率不可以保证,即浏览器只能保证数据发送了,但是由于弱网络等情况,服务器不可以保证数据可以被百分百接受。据我了解,现在上报请求也有升级,某一些产品会选择 socket 的方式来保证数据的稳定性。
APP 的数据传输就有了很多的能力。
数据加工:在传输前,可以计算出时长等数据
数据聚合:在手机本地,可以将多条数据拼接出一条完整的链路在上传
数据压缩:数据上传前,可以利用收集的计算能力压缩数据,减少数据上传体积
数据分块:如果上传失败可以对数据进行分解拆分,提高数据上传的可靠性
数据分流:对于实时数据和离线数据进行切割分流,保证实时数据优先触达
NEXT
闲谈流量统计(III)— 分析| Why·Liam·Blog
The Why·Liam·Blog by WhyLiam is licensed under a Creative Commons BY-NC-ND 4.0 International License.
由WhyLiam创作并维护的Why·Liam·Blog采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于Why·Liam·Blog (https://blog.naaln.com),版权所有,侵权必究。
本文永久链接:https://blog.naaln.com/2020/03/data-analytic-2/