【干货】BAT大佬告诉你如何埋点

做者介绍前端

@Sven面试

BAT数据打杂专家。算法

以前作过用户增加。微信

目前负责数据全链路。app

01 前言ide

随着互联网时代的到来,各行各业都开始融入“ 互联网+” 的思惟。从最开始的TOC的服务&消费型产品,到现在TOB的数字化转型,数据愈来愈重要。打开京东淘宝,头条抖音,里面琳琅满目的商品推荐,视频推荐。工具

那么,问题来了,这些算法上千人千面的推荐,是怎么作到的?答案:用户行为数据。学习

那再深刻一些,如何更精准的拿到 用户行为数据?ui

答案:埋点。设计

这就是今天咱们要讲述的内容:数据埋点。

02 埋点简介

定义:埋点是用户行为数据的来源。

目前来讲,大部分企业对于用户行为数据的获取,都是在各个终端上设置埋点。

经过各类各样的埋点,拿到相应的用户行为数据。用于下游的统计分析和业务迭代。

主流的方式有两种:

第一种:公司自研,在产品的各个页面、(可交互)模块,按照必定的规范,“注入”统计代码。

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

各个公司随着业务的不断扩大,通常都会选择自研发,并设定相应的埋点规则和统计规则。

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

03 埋点参数

通常来讲,埋点主要由两个部分组成:公参和业务参数。

公参

什么是公参?通俗来讲,就是不管这个业务怎么变,每一个埋点中都必须有的值。

举个例子,用户的业务id(如 uid),就是公参;用户的手机imei,也是公参。咱们能够根据咱们的业务形态,及咱们必定须要的数据,给出公参。

通常公参有4个要素:用户识别 、设备识别 、 页面识别 、关联识别。

用户识别:顾名思义,用户的惟一标识。即用户不管在哪台手机(终端)上登录,咱们都能映射到该app下的惟一用户的标识;且对应到这个用户上的一些固定信息,如手机号,实验分桶标识等经常使用信息。

设备识别:因为用户可能在不一样的机型上,因此咱们须要记录到设别信息,如imei,手机型号,手机系统等。

页面识别:特定的页面上的信息,如搜索,咱们须要每一个页面都透传用户的搜索词;如头条,可能须要每一次打开app的行为id,这些特定的,非业务参数信息,均可以记录到页面识别参数里。

关联识别:因为行为和行为之间,会有链路的串联关系,因此咱们须要记录页面之间的关联关系参数。好比:页面和页面之间的关系,咱们能够记录 来源页面;模块和页面之间的关系,咱们能够记录 来源模块;若是全部页面流量都有算到某一页面上,那咱们能够将 该页面识别(如页面id)透传至须要统计的页面。

业务参数

业务参数,就是对应到具体的产品模块,展示内容等具体业务上须要统计的内容的映射值。

对于业务参数的设计,咱们在下文中会具体讲解如何定业务参数。

04 埋点设计方法

每一个公司,每一个业务都会有独特的埋点方案,可是不管哪一种埋点,咱们都会有个明确的层级及关系划分。这里主要介绍两种较通用的埋点方案,为你们埋点设计提供必定的参考。

模块式埋点

模块式埋点,就是用产品自己,肉眼可见的明确区分的模块,来构建业务参数。

每一个app,都由多个页面组成,不一样的页面及页面上的功能组合,构建了一个app。

因此,咱们能够定义模块式埋点的第一个层级:页面。

具体到某一个具体页面,咱们能够较明确的区分出区域,好比微信信息列表页,咱们能够较明确的看到三个区域:头部区域(搜索框 & 右上角的加号),中间信息列表区域,底部4个按钮区域。这些明确能够划分的区域,咱们能够定义成第二个层级:区域。

而在看这些区域中的具体 能够交互 的内容(或者功能),咱们能够定义成第三个层级:按钮。好比头部区域中的搜索框点击,右上角加号的点击;中间信息列表区域的聊天窗口点击;底部按钮区的四个按钮的点击。

这样,咱们把三个层级串联起来,就造成了这样一套业务埋点规则:页面_区域_按钮。

固然,咱们可能还须要记录某些具体的业务附加信息。

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

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

好比上文所述的微信的埋点,咱们能够这样标记:

【干货】BAT大佬告诉你如何埋点

咱们按照上述结构,将页面&区域&按钮连接在一块儿(好比以 @ 符号关联),就造成了该页面的埋点,如页面展示,咱们能够打点为 wx_list_page@0@0,如公众号点击,咱们能够打点为 wx_list_page@talk_list@pub_acc_clk,以此类推。

若是咱们想统计中间区域的点击,那么咱们之须要把点击埋点截断至 区域,不用明确区分按钮,咱们就能很方便的统计出想要的区域,页面,点位上的数据。

内容式埋点

和模块式埋点相似,模块式埋点是产品自己的层级区分,内容式埋点是内容自己的层级区分。

内容式埋点通常会应用在广告等内容的数据统计上。

首先,咱们须要一个串联ID来串联前端数据和服务端数据。

往上层,咱们须要知道这个串联id属于什么内容,这时须要内容id。再往上,内容id属于哪一种大的类目,这时须要内容分类。

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

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

固然,模块式埋点以及内容式埋点还能够继续往上层划分,好比 模块式埋点能够增长至 产品_业务_页面_区域_按钮;内容式埋点能够增长至 业务_系统_内容分类_内容id_串联id。

这些均可以根据特定的业务场景修改,只要有相应的层级划分,统计起来就会方便不少。

05 埋点TIPS

事件分类

通常状况下,主要有3类埋点:展示埋点 + 曝光埋点 + 点击/输入框 等交互埋点 + 自定义埋点。

展示埋点:通俗来讲,某个页面里的内容被展示了。

怎么定义展示,这个其实就是一个服务端的触发。服务端若是触发了,用户侧会展示什么内容。

由打点时机能够明确出,展示埋点须要记录的是 页面展示的内容信息。

也就是说,服务端下发的内容都包含什么(这些东西必定是当前页面主要内容,不包含一些交互信息)。

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

和展示埋点相似,因为屏幕有限,但内容能够无限。哪些内容被用户侧实际看到(曝光),咱们也须要记录下来。

不一样的是,曝光埋点,咱们须要记录的是单个“内容”被看到,不能是一串内容。一串内容,能够触发屡次曝光埋点,可是曝光埋点必定是单个“内容”。

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

从埋点时机来讲,这个是展示 & 曝光的下游。

记录的是,对于咱们提供的“服务”的“消费”状况。

好比,一个页面,用户能够点击,那么咱们须要记录相应的交互埋点;好比,一个视频能够点赞,咱们也能够记录交互埋点;好比,一个视频能够播放暂停,咱们也能够记录消费埋点。

整体来讲,就是,咱们要记录 被看到的可交互功能/信息的“消费”数据。

自定义埋点:随着业务的发展,产品种类愈来愈多,总会有须要特殊埋点的地方,能够留一个自定义埋点备用,总要给业务一个机会嘛(玩笑话)。

埋点记录

关于埋点记录,或者叫埋点文档,咱们只要明确记录两个信息:点位信息 & 点位映射。

点位信息:明确每一个业务事件下的具体的参数信息,即上文所述的公参+业务参数。

点位映射:每一个埋点对应的业务含义。

只要埋点文档中记录了这两个内容,那么这份埋点文档就是一个合格的埋点文档。

固然,上文所说的层级,参数,事件等,都是一份好的埋点设计的组成“成分”。

多思考,多参考,相信你们都能设计出合适本身业务的埋点规范。

一个数据人的自留地是一个助力数据人成长的你们庭,帮助对数据感兴趣的伙伴们明确学习方向、精准提高技能。关注我,带你探索数据的神奇奥秘

一、回“数据产品”,获取<大厂数据产品面试题>

二、回“数据中台”,获取<大厂数据中台资料>

三、回“商业分析”,获取<大厂商业分析面试题>;

四、回“交个朋友”,进交流群,认识更多的数据小伙伴。

相关文章
相关标签/搜索