老姜: 小白,本节我们先从数据埋点的基础知识开始,帮助你全方位认识一下数据埋点。
小白: 嗯嗯,好的。
数据获取的核心目的是将用户在软件内的数据信息记录下来,传导至数据库,供下游分析应用,同样也是数据分析的前提条件,作为应用层的上游环节,承载了极其重要的作用。数据获取根据流程步骤又可拆分为数据埋点、数据采集、数据上报,如图2-1所示。
图2-1 数据获取流程
· 数据埋点: 通过在软件中植入统计代码,监控用户在应用过程中所触发的行为事件,并对所需的数据进行捕获,存储于内存当中。
· 数据采集: 将埋点捕获的数据,从软件内存中转移至终端本地文件,封装为便于传送的格式,例如JSON格式。
· 数据上报: 将终端采集的数据,每隔一段时间,例如5s,从终端传输至服务器存储层,保存用户在软件内生成的各类数据信息。至此,完成用户的一次行为数据记录。
在数据获取的流程中,数据采集以及数据上报主要由研发人员负责,而数据分析师主要参与数据埋点的工作。
前面简单介绍过,数据埋点是一种通用的数据采集方式,记录用户在应用过程中产生的行为事件,例如页面展现、页面滑动、按钮点击等。图2-2以某短视频App为例,展示其中可能触发的部分事件,在图中进行标红,例如上滑、下滑、短点击、长点击等。
图2-2 触发事件
通过完整的数据埋点,可以观察到用户在端内的实时行为数据,真实反映产品是否满足了用户的诉求。通过下游量化的分析,从用户、产品、收入等方面,输出对于业务有价值的信息,指引产品迭代。
鉴于埋点是为了下游分析应用,输出对业务有价值的决策,因此,要求埋点记录的内容“完整化+系统化”。其中,事件作为埋点记录的核心内容,描述用户在应用软件过程中具体的行为操作类型,例如打开页面、关闭页面、点击按钮、切换前后台等。
埋点内容的梳理,可以引用4W1H的方式,即谁(Who)在什么时间(When)在什么地点(Where)通过什么方式(How)做了什么事情(What),如图2-3所示。
图2-3 数据埋点的内容
· Who: 描述用户的基础属性信息,其中涵盖用户ID、设备信息等。如用户处于登录状态,还需记录登录注册信息,例如微信号、QQ号、手机号等。
· When: 描述用户事件行为时间,其中涵盖事件发生时间、事件记录上报时间、事件持续时间等。时间一般会精确到毫秒,并以时间戳形式进行存储。
· Where: 描述用户两个方面的位置信息。一方面是用户的真实物理场景,通过用户的GPS及IP等信息定位到,例如国家、省份、城市等;另一方面是用户在软件内部的应用场景,例如用户预览了软件内的哪些页面、消费了哪些点位。
· What: 描述用户做了什么事情,触发了哪些事件类型。例如注册行为、激活行为、前后台切换行为、访问行为、曝光行为、点击行为、滑动行为等。
· How: 描述用户以什么样的方式做了这件事情,夹带了用户行为的补充信息。例如来源渠道、来源页面、来源模块、来源URL等。
以上埋点内容框架可以在工作中参考应用。在实际梳理过程中,内容会更为丰富,同时,要注意以下几点,以防踩坑。
注意1: 梳理数据埋点内容时,需要按照一定的思路去展开,不局限于上面提到的4W1H。切勿单点输出,想到一个加入一个,这样是无法形成体系的。
注意2: 埋点内容尽可能梳理得完整、详细一些。因为,埋点数据是不支持回溯的、当前没有记录到的用户行为,即便后续加上,也无法回溯之前的内容。
注意3: 埋点内容梳理,需要研发、产品、数据三方共同来完成,以防输出的内容不符合后期应用要求。
数据埋点内容,需要通过一定的埋点方式来记录,下面,我们一起来看下数据埋点有哪些通用的方式。
数据埋点方式的选择及埋点的实施,一般由研发人员全权负责,数据分析师很少接触到,但仍需对此有一个基础认知。根据侧重点不同,埋点方式可划分为基于内容的划分方式和基于手段的划分方式,如图2-4所示。
图2-4 数据埋点的方式
根据埋点内容,可划分为客户端埋点以及服务端埋点,这里先介绍一下客户端和服务端。
扫盲
客户端:客户就是你本人,客户端就是在你的角度能够接触到的程序,例如短视频App、购物Web页面等。可以在客户端页面发起请求,交由服务器进行处理,例如点击、登录等。整体偏表层行为。
服务端:为客户端提供服务的部分,接收到客户端发来的请求后,对请求进行响应,并返回信息给客户端。整体偏内层行为。
· 客户端埋点(前端埋点): 侧重于记录用户应用界面的上报,例如页面展现、曝光、点击、登录、注销等。
· 服务端埋点(后端埋点): 侧重于记录用户业务操作结果的上报,例如下订单、订单号、用户VIP等级等。
下面举一个案例,帮助你更好地理解。
案例讲解
某电商类App,用户的行为轨迹为“进入主页→进入详情页→点击商品→加入购物车→提交订单”。
其中“进入主页→进入详情页→点击商品→加入购物车→提交订单”完整过程的前端操作行为,一般通过客户端埋点进行采集,记录用户完整的设备类型及行为信息。
而“提交订单”的真实订单情况记录,一般通过服务端埋点进行采集,可避免由入口分散、网络延迟等因素造成的客户端埋点漏报。
附上两种方式的优劣势供参考,如表2-1所示。
表2-1 两种埋点方式优劣
根据埋点手段,数据埋点方式可划分为代码埋点、可视化埋点、全埋点。
· 代码埋点: 此种方式较为常见,在客户端需要采集数据的位置,嵌入捕获代码,将用户的定向行为记录下来。
· 可视化埋点: 在大公司的应用相对比较普遍。通过可视化平台,将业务诉求与代码解耦,业务人员可在平台上自行配置需记录的用户行为,再由平台将所需内容解析为代码。更像在代码埋点的基础上,增加了一层可视化封装。
· 全埋点: 上游完整采集所有事件信息并上报埋点数据,下游应用时将所需数据过滤出来。
附上三种方式的优劣势供参考,如表2-2所示。
表2-2 三种埋点方式的优劣
希望本节的学习,可以帮助你全面认识数据埋点的定义及价值,为下面章节的学习打下基础。