闲谈流量统计(II)— 采集

肆、采集方式分类

1. 按采集媒介分类

  1. 后端采集
  2. 前端采集
    1. 页面采集
    2. APP 采集
    3. Hybrid 采集
    4. 小程序采集
    5. PC 采集
    6. Mac 采集
    7. IOT 采集

2. 按采集模型分类

  1. 页面采集
  2. 事件采集

3. 按采集技术分类

  1. 手动埋点

  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 增加加工后在发送到服务器。这样可以保证数据的一致。

陆、后台采集

后台数据的收集其实一直都有,但是在用户行为数据分析层面并不是特别流行,大多数情况都是作用于业务日志数据的收集,这个就不展开说了。主要说一下弊端:

  1. 收集用户行为需要前端进行埋点,这样的逻辑和前端收集没有却别

  2. 通过业务行为收集的用户行为对业务由侵入型,而且有可能会引起业务的不稳定

柒、数据传输

按照页面采集和APP采集,数据传输的过程中也主要分为两个方式。

页面的数据传输都是实时传输。由于页面没有稳定的缓存机制,并不适合将数据缓存在浏览器中定时发送。所以,目前的数据发送都是实时的,用户每点击一个网页,或每有一次用户行为,哪怕是鼠标划出某些路径,数据就会即使上报。

这样的弊端就在于数据发送的到达率不可以保证,即浏览器只能保证数据发送了,但是由于弱网络等情况,服务器不可以保证数据可以被百分百接受。据我了解,现在上报请求也有升级,某一些产品会选择 socket 的方式来保证数据的稳定性。

APP 的数据传输就有了很多的能力。

  1. 数据加工:在传输前,可以计算出时长等数据

  2. 数据聚合:在手机本地,可以将多条数据拼接出一条完整的链路在上传

  3. 数据压缩:数据上传前,可以利用收集的计算能力压缩数据,减少数据上传体积

  4. 数据分块:如果上传失败可以对数据进行分解拆分,提高数据上传的可靠性

  5. 数据分流:对于实时数据和离线数据进行切割分流,保证实时数据优先触达

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/