互联网时代,大家都在强调数据的重要性

与此同时,数据量也在呈指数的增长

那么,这些数据中的大部分用户行为数据是如何来的呢?

答案:数据埋点

这就是今天要讲的内容,也是数据分析的基础之一:数据埋点

摄图网_501625640_banner_程序员手指电脑显示器代码(企业商用)(1).jpg

埋点简介

先来讲讲什么是数据埋点

数据埋点是通过某种代码注入方式,统计各终端上,相应的用户行为的一种数据获取方案

目前来说,主要有以下两种方式:

第一种:公司自研,在产品需要统计的各页面、模块,按照一定规范,“注入”统计代码

第二种:第三方统计工具的接入,如友盟,神策,GrowingIO等三方平台

我们这期重点就来聊聊“埋点规范”的设计

埋点参数

一般来说,埋点主要由两个部分组成:公参 和 业务参数

公参

什么是公参?通俗来说,就是无论这个业务怎么变,每个埋点中都必须有的值

举个例子,用户的业务id(如 uid),用户的手机imei。根据业务形态设定我们一定要统计的参数为公参

公参一般需要有4个重点元素:用户识别 、设备识别 、 页面识别 、关联识别

用户识别:用户的唯一标识。用户无论在哪台手机(终端)上登陆,我们都能映射到该app下的唯一用户的标识;且对应到这个用户上的一些固定信息,如手机号,实验分桶标识等常用信息

设备识别:用户可能在不同的终端上登陆APP,所以我们需要记录登陆设备的信息,如imei,手机型号,手机系统等

页面识别:页面的标识信息,比如某段时间内的用户行为,我们为了串联这段时间内的行为,我们需要记录行为id,比如视频,我们在一次播放器吊起中,会有多个视频的播放,那么我们可以记录播放器吊起id,这些特定的页面标识or行为标识,都可以记录到页面识别参数里

关联识别:一般来说,会有3种关联关系:页面和页面之间的关联,模块和模块之间的关联,以及页面和模块之间的关联。比如,该页面来源上个页面的哪个模块,我们需要记录模块来源;该页面来源哪个页面,我们需要记录页面来源。

业务参数

业务参数,就是对应到具体的产品功能,展现内容等具体业务信息的映射值

对应业务的不同,我们一般会有两种不同的业务参数设计方案:模块式埋点 & 内容式埋点

模块式埋点

用产品本身,肉眼可见的 可明确区分的模块,来构建业务参数

每个我们所使用APP,都由多个页面组成。不同的页面组合,构成了一个APP

所以,我们可以定义模块式埋点的第一个层级:页面

具体到某一个具体页面,我们可以较明确的区分出区域

比如微信信息列表页,我们可以较明确的看到三个区域:头部区域(搜索框 & 右上角的加号),中间信息列表区域,底部4个按钮区域。

这些明确可以划分的区域,我们可以定义成第二个层级:区域

这些区域中的具体 可以交互 的功能,我们定义成第三个层级:按钮。

比如头部区域中的搜索框点击,右上角加号的点击;中间信息列表区域的聊天窗口点击;底部按钮区的四个按钮的点击。

这样,把三个层级串联起来,就形成模块式埋点规则:页面_区域_按钮

当然,我们还可以再往上层抽象,或者再往下层细化,这里笔者只是抛砖引玉,提供一个埋点规则的模式

内容式埋点

和模块式埋点类似,内容式埋点是对于内容本身的层级区分。主要会应用在广告投放的数据统计上

首先,我们需要一个串联ID来串联前端数据和服务端数据

往上层,我们需要知道这个串联id属于什么内容,这时需要内容id

再往上,内容id属于哪种大的类目,这时需要内容分类

这个就是内容埋点,同模块埋点,内容埋点也需要有较明确的内容层级区分

而这些基础层级,串联后就形成了内容埋点规范:内容分类_内容id_串联id

附加信息

当然,无论是模块式埋点,还是内容式埋点,我们肯定还需要记录某些具体的业务附加信息。

如点击聊天列表,是点击了群聊,还是好友,我们可以记录一个聊天类型,而对应的如好友id,群聊id,我们也可以记录在附加信息中。

这些附加信息,我们也可以记录到具体的参数值里,但这个参数需要和模块层级埋点区分,不能埋在同一个值中,这点需要注意

事件分类

一般情况下,埋点事件可以分为4类:展现埋点 + 曝光埋点 + 点击/输入框 等交互埋点 + 自定义埋点

展现埋点:页面里的内容的下发及展现

这个其实就是一个服务端的触发。服务端如果触发了,用户侧会展现什么内容。

该埋点,我们需要记录的是 展现的内容信息,也就是说,服务端下发的内容

曝光埋点:哪些下发的内容被用户实际看到了

和展现埋点类似,由于屏幕有限,内容总是一点点被用户 实际 看到。而这些被实际看到的内容,我们也需要记录下来,这就是曝光埋点

但是与展现埋点不同的是,曝光埋点,需要记录的是单个内容的曝光,或者单个模块的曝光,也即是 元单元 的曝光

交互埋点:哪些功能/内容被用户“消费”了

这里的消费,是指可交互的模块/内容,被点击或操作了

举个例子:一个页面,用户可以点击,那么我们需要记录相应的交互埋点;一个视频可以点赞,我们也可以记录交互埋点;一个视频可以播放暂停,我们也可以记录消费埋点

自定义埋点:随着业务的发展,产品种类越来越多,总会有需要特殊埋点的地方,我们也可以不断抽象自定义埋点为某一特定类别。

如爱奇艺,优酷等视频相关的播放器,可以抽象相关的播放埋点

当然,这些都可以随着业务的发展,不断总结抽象,适合业务的才是最好的

以上,就是今天讲述的埋点相关的基础知识点,希望对你有帮助~