推荐理由:埋点分析,是一种常用的数据采集方法。数据埋点分为初级、中级、高级三种方式。
(本文由 @double_egg 授权发布,未经作者许可,禁止转载。)
经常会感到头疼的问题:
“要给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有上课时间、下课时间、停留时长。这是一整条记录。
服务端需求表
服务端埋点的数据,前期如果没有后台的可视化支持,那只能麻烦后端帮你导数据。
最后感谢开发小哥哥们的理解。理解万岁!
埋点完成后,下一步就是数据分析。恩,注定要跳进数据分析这个坑了,且听下回分解。
阿蛋的生存法则:
保持对生活的好奇心,对兴趣的坚持,对知识的渴望,将这一切内化成工作中的资本和动力源泉,这将是一个趋于正无穷的极限函数,当然不定时的也会撒撒狗粮皮一皮。