数据埋点那些事(一)
埋点是什么?
所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。比如用户某个icon点击次数、观看某个视频的时长等等。
通俗点讲,就是在APP或者web产品中植入一段代码,监控用户行为事件(例如某个页面的曝光)。用户一旦触发了该事件,就会上传埋点代码中定义的、需要上传的有关该事件的信息。
埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获。
特别注意需要明确事件发生时间点、判别条件,这里如果遇到不清楚的,需要和开发沟通清楚,避免采集数据与理想存在差异。例如:期望采集某个app的某个广告的有效曝光数,有效曝光的判别条件是停留时长超过1秒且有效加载出广告内容。
常见的埋点信息包括:用户会话id,用户id,当前页面编码,当前事件编码,触发时间,用户设备id,ip信息等等。
埋点三步骤
- 明确埋点的用途
1)用户行为分析
2)记录用户日志

3)收集到埋点数据之后,通过大数据处理、数据统计、数据分析、数据挖掘等加工处理,可以得到衡量产品状态的一些基本指标,比如活跃、留存、新增等大盘数据,从而洞察产品的状态。此外更重要的是随着数据挖掘等技术的兴起,埋点采集到的数据在以下方面的作用也越来越凸显:
- 驱动决策:ABtest、漏斗优化、用户增长、bug修复、精准营销、流失用户预警
- 驱动产品智能:智能推荐(千人千面)、场景化提示(私人助理)等
- 驱动安全:风险识别
-
梳理埋点的业务及事件
-
整理埋点的事件参数
image.png
3种埋点方式
(1)代码埋点
以为需要监测网站上/app上用户的行为,是需要在网页/app中加上一些代码的,当用户触发相应行为时,进行数据上报,也就是代码埋点。这样的代码,在网站上叫监测代码,在app中叫SDK(Software Development Kit)。
代码埋点按照位置的不同,可以分为前端埋点、后端埋点。
市场上的第三方数据采集均支持代码埋点,GA, GrowingIO,神策等。
- 优点:可以详细的设置某一个事件自定义属性;
- 缺点:时间、人力成本大,数据传输的时效性。
(2)可视化埋点
利用可视化交互手段,数据产品/数据分析师可以通过可视化界面(管理后台连接设备) 配置事件,如下是腾讯移动分析的可视化埋点界面。可视化埋点仍需要先配置相关事件,再采集。


- 优点:埋点只需业务同学接入,无需开发支持;
- 缺点:仅支持客户端行为。
(3)无埋点
无埋点是指开发人员集成采集 SDK 后,SDK 便直接开始捕捉和监测用户在应用里的所有行为,并全部上报,不需要开发人员添加额外代码。
数据分析师/数据产品 通过管理后台的圈选功能来选出自己关注的用户行为,并给出事件命名。之后就可以结合时间属性、用户属性、事件进行分析了。所以无埋点并不是真的不用埋点了。目前市场第三方工具GrowingIO支持无埋点全量行为数据抓取
优点:
- 无需开发,业务人员埋点即可;
- 支持先上报数据,后进行埋点。
缺点:仅支持客户端行为。
无埋点和可视化埋点均不需要开发支持,仅数据业务同学进行设置即可。但两者数据上报-埋点设置存在加大的差异:无埋点支持在数据上报之后再进行埋点设置,因而数据采集/上报的量远大于可视化埋点。
各种埋点场景&埋点建议
- 客户端数据:页面点击数据,比如:tab栏的点击,某个icon的点击(各入口点击对比使用情况,统计页面点击行为的转化漏斗)。
- 服务端数据:安装数据,下载后安装情况;内容数据,比如某个视频内容 曝光/展示/播放数据;搜索内容。

埋点一般包括:访问数(Visits),访客数(Visitor),停留时长(Time On Site),页面浏览数(Page Views)和跳出率(Bounce Rate)。这样的信息收集可以大致分为两种:页面统计(track this virtual page view),统计操作行为(track this button by an event)。