干货分享 | 手把手教你从埋点的需求整理到落地
埋点分析,是一种常用的数据采集方法。数据埋点分为初级、中级、高级三种方式。
经常会感到头疼的问题:
“要给APP做数据埋点怎么下手?”
“数据需求怎么梳理?”
“到底哪些是产品的活儿,哪些是开发的活儿?”
“如何交付?”
经过几番的调研和走访取经,将个人对数据埋点的理解记录下来。(期间还忍受了我们开发小哥哥的“嘲讽”和“戏谑”)
当时内心OS:凡事都有第一次,忍!
下面主要从埋点概念、事件类型、数据需求、交付落地4方面展开介绍。
一、首先什么是埋点?
埋点是数据采集的一种方法,将每个需要统计的点击事件、页面上装摄像头,采集相应的信息和行为。
无论是产品的迭代还是运营的策略,都是需要有详细的数据支撑来针对性的做下一步迭代和运营的决策。有了数据分析,你可以得到用户画像、用户行为路径,不用再去做大量用户调研、盲目的猜原因,为我们大大降低了试错的成本。
按照埋点位置区分,分为客户端(前端)和服务端(后端)两部分埋点。
简单来说,客户端的数据是记录用户的操作行为,如点击、访问路径。
服务端的数据是记录用户的具体信息的变化,如作业分数、答案选项、对错情况。
客户端埋点我这里用的是代码埋点方法,接的友盟第三方统计平台,嵌入SDK并定义事件添加相应事件的代码。(需要开发配合),这种方法的优点是颗粒度细,自定义程度高,可以按需采集,全面且准确。
但是友盟无法做PC端客户端的埋点(放弃了PC端)
服务端埋点主要是接口的调用,前后端的数据整合,更加结构化。
客户端埋点&服务端埋点的优缺点
客户端埋点:
优:搜集页面展示、点击行为,不需要请求服务器的数据
缺:无网络时数据不完整、实时性有延迟;当需要改变埋点时,必须更新版本。
服务端埋点:
优:(1)实时性好,数据准确;(2)变更成本低;(3)能够收集不在APP内发生的行为,只要请求服务器就行。如统计从其他APP引流的安装量。
缺:不能收集不需要请求服务器的数据;用户不联网不能采集数据
二、主要的埋点事件分类
1. 点击事件
只要用户点击一次就计一次,不论点击的结果是否成功。(点击事件包含单击、双击、拖拽等交互事件)
举例:登录按钮的点击量≠登录成功后的页面曝光量。
点击登录后,会因为密码错误、账号错误等原因造成登录失败,无法进入登录成功后的页面。
2. 曝光事件
浏览事件的定义要根据不同需求自定义。
比如成功打开一次页面计一次,页面停留超过10s等,我是以成功加载出来就计1次曝光事件。
ps:友盟自带的页面统计与自定义事件的页面访问量并不同哦!
三、如何判断哪些数据需要统计?
首先将数据目标归类:
(1)功能分析;(2)业务分析;(3)用户信息;(4)错误日志(这个数据目标只针对开发,不作为核心目标考虑)
- 功能分析:主要检验功能的受欢迎程度。
- 业务分析:事件转化、页面访问路径。
- 用户信息:用户画像。
其中用户信息是必备基础,功能和业务相关的埋点数据需要根据需求的优先级和重要程度进行筛选。(可参考KANO模型)
数据统计目标
四、交付落地?
1. 客户端的埋点需求表
8个字:1张大表,表内分页。根据需要埋点的页面建多张页面表,每张页面中包含所有事件类型。
表格列表字段:页面位置、线索名称、事件名称、事件类型、事件ID、Key、value、采集时机、备注
虽然你给开发的是表格是根据事件类型分开的,但是事件的数据查看在后台是将所有的事件类型都汇总在一张列表下展示,所以在每个事件的命名上需要对事件类型加以说明,方便一眼就能区分。
客户端埋点需求表
(1)线索名称:线索就是追踪用户行为的记录,一个线索可以由多个事件组成。
举例:直播教室线索:进入教室、退出教室,这两个事件都能组成直播教室的线索。
(2)事件名称:说明该埋点的位置和功能
(3)事件类型:点击事件/浏览事件
(4)事件ID:事件类型_哪一端产品_页面名称_功能名称
举例:点击事件_APP端_直播教室_举手=btn_APP_classroom_hand
(5)key:参数,根据不同维度来计算。
举例:举手按钮,每个教室都有一个举手按钮,但点击的时候需要知道是各个班班的点击情况各个课节的点击情况各个学生点击的情况。
那就需要设计3个key:课节id,班级id,课节id,学生id。
(6)value:与key是一组,key-value,是一种数据模型方法。上面举例的3个key对应的value,分别就是各自的id值
(7)采集时机:说明触发埋点的具体操作行为
(8)备注:有特殊情况的单独备注,比如上台按钮的埋点,只有APP的iphone、Android有,iPad没有。另外新增的埋点,删除的埋点时间记录都需要备注清楚。
同一属性的事件只要设置不同key来区分就行。
如登录事件,用户可能从密码登录或验证码登录入口登录进去的,这个时候并不需要对每个页面的登录事件进行埋点,只需对登录一个点击事件埋点,key=入口类型,value=pwd/mes
同一属性的事件
客户端的埋点需求准备好了,接下来就让把appkey发给开发小哥哥吧,接下来事件的导入,友盟支持批量导入,批量复制,单个添加。
批量导入模板
添加进去的事件无法删除,只能暂停计算。所以在正式埋点之前要谨慎,要多多多多和开发沟通!
2. 服务端埋点需求表
和业务相关的数据记录,需要在服务端进行埋点。
表格列表字段:数据目的、key、value、备注
和客户端不同,比如统计一个学生的上课时长,需要的key有上课时间、下课时间、停留时长。这是一整条记录。
服务端需求表
服务端埋点的数据,前期如果没有后台的可视化支持,那只能麻烦后端帮你导数据。
最后感谢开发小哥哥们的理解。理解万岁!
埋点完成后,下一步就是数据分析。恩,注定要跳进数据分析这个坑了,且听下回分解。
阿蛋的生存法则:
保持对生活的好奇心,对兴趣的坚持,对知识的渴望,将这一切内化成工作中的资本和动力源泉,这将是一个趋于正无穷的极限函数,当然不定时的也会撒撒狗粮皮一皮。
本文由 @double_egg 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
请问客户端埋点数据需要在哪里看诶?
感谢分享,简单易懂
一般做埋点方案,是不是用户行为和业务数据都需要啊?
用户行为是前端打点,业务数据是后端打点?
用户行为后端也是可以统计的,业务数据比如销售额 订单量这些一般后端负责。
因为接SDK,简单的用户行为如点击能用前端尽量前端,减少后端工作量。
如果暂时没有有需要自定义的统计,是不是直接让开发集成sdk就可以了?不用提供埋点需求?
也要告诉开发你要统计的数据
问个问题:比如记录登录成功/操作成功这种状态的事件应该归为什么事件?
登陆成功,看你的定义是什么。一般是指登陆后成功打开着陆页。
要结合两种事件综合分析。
一个是登陆的点击量,一个是登陆后第一个着陆页的曝光量。
如果要看当前着陆页有多少是来自这个点击行为产生的,还要进行漏斗分析。
哈,作者的工作比我细致多了
1.确定所有需要上报的的页面
2.将以上的页面按照自定义的事件进行分类
3.将事件根据定义加入不同的线索当中
将以上的框架搭建好之后,剩下的就是和业务需求方沟通,根据对业务的理解将数据填进去。
嗯线索其实是要先定下来的 相当于是数据目标
感谢分享,很有帮助
赞
很简单明了,很受用,谢谢~
不错啊,新的APP正在准备开发,正要考虑埋点
作者你好,在确定埋点前,你难道不需要先明确到底需要哪些数据?就是首先确定埋点指标,根据指标得出你需要哪些数据,然后在根据数据制定埋点方案,但是指标你没写 ➡ ➡ 你在做埋点的时候是怎么确定这些埋点指标的???
这篇文章的目的是介绍埋点实施的实操方法。所以先系统性的介绍埋点,至于你说的数据核心的目标在第三块我列举了三大主要核心目标,脑图里描述的是埋点前的一些数据指标思路。具体的数据指标会在以后的数据分析里具体介绍。
正在做埋点的事,哈哈正好学习了,棒棒哒
感谢,帮助非常大,说的很具体
这很有帮助,不止作者是否可以留个联系方法方便后期沟通
可以关注我的公众号-阿蛋有话说,会不定期分享一些工作中踩过的坑 🙂
棒棒的