以陌陌注册流程为例,教你写前端埋点文档
数据埋点作为数据分析的步骤之一,也是产品需要掌握的技能。一份准确而有效的数据埋点文档,能减少很多不必要的沟通。那么,如何写呢?
今天深入浅出一下app的数据埋点(主要是前端,有机会讲后端),从下面几个方面讲一下:
- 埋点是什么
- 怎么结合页面写埋点文档
- 埋点怎么使用
一、数据埋点是什么
形象生动的来说有点类似于摄像头,通过在一个特点位置装一个摄像头,记录下在此处发现的事情,并且有相对应的数据。
当然专业的说法应该是:在App的特定页面位置放入数据采集器。
二、怎么结合页面写埋点文档
一般来说,产品经理都知道前端后端埋点数据概念,但真正去写一份可用完美的页面埋点文档却又不是每个产品经理都能做得到的。
怎么写埋点文档,我就拿陌陌的注册流程带你走进埋点:
埋点一般会涉及几个元素,一个是事件(event),一个是触发动作(trigger),一个是参数(parameters),一个是值(values),其中值和参数,有些点有,有些没有,另外会多带一个version(版本)
三、埋点文档怎么用
埋点是数据采集器,也就意味着通过埋点数据后,可以构建任一用户的行为路径,从而分析出高频事件以及流失率等一系列比较核心的数据变化
比如上方举例的陌陌的注册流程,通过这个可以看出整个流程下来,到达首页的用户还剩余多少——关于这个,在我第一篇文章讲到过。
实例操作
下面还是用陌陌功能来介绍建立数据模型的埋点文档:
比如想知道:一天中进入过点点功能页面的人平均点多少个喜欢这个数据。
分解为:从首页进入点点功能页面,点击喜欢(红心)或右滑或者点超级喜欢(左滑右滑执行的不算在内)。
一般来说是的埋点顺序是:
- A事件:进入点点功能页面
- B事件:点击喜欢(右滑)
- C事件:点击超级喜欢
那么你需要埋的点位就应该有:
解释一下这几个词的意思:
- 事件:其实和触发动作(triggered)是一个意思,一个用代码格式表示,一个用中文描述(关于代码格式的命名,尽量用通俗易懂的英文,下划线分割命名)
- 参数:在程序执行这个动作的时候,要采集的一个数据
比如上面的times,表示次数。意思是每点击喜欢的时候,记录一次。下面还有一个superlike_status表示的点超级喜欢之后有的一个状态,因为需要6级会员才能成功喜欢,会有一个成功还是失败的状态;所以这个地方采集两个数据,传回两个值,一个是次数(数字),一个是状态(成功或失败)。
- 值:就是参数对应的值
- version:就是当前这个埋点增删改的版本
那么有了这些点,怎么做出这个简单的数据模型呢:
每个进入这个页面的人平均点喜欢的次数就等于点(喜欢的总数+点超级喜欢的总数)/进入这个页面的人(驱重:每个人无论进来多少次都算一个人)
做一下衍申,通过一个用户点击过喜欢的所有用户,抓取这些用户身上的共同标签,就能发现该用户喜欢的人大致是那种类型,那么可以做优化的事,下次进来给用户尽量推荐带有这类标签的人,那么去点喜欢的概率就被提高了。
想要测试这些的优化是否有效,可以用户每次开始进入点点功能页面,前10个都推荐带此类标签的用户,看看用户点喜欢的概率,和之前10个点喜欢的概率一对比,就能知道优化是否有效了。
所以数据是一个非常强大的优化手段,学习看数据和利用数据驱动需求是提升一个产品经理整体素质很好的手段,希望这篇文章对你有用。
作者:不正经的产品狗,专注数据、社交方向的产品狗
本文由 @不正经的产品狗 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自 Unsplash ,基于 CC0 协议
埋点在代码中本身就是结构化的 还是 采集到的都是平级数据后期在产品逻辑中结构化?
想请教下参数除了常见的times还有哪些呢?
为什么有的埋点会有值有的不会有呢?埋点不是统计的次数嘛,那就应该都会有值的呀?
埋点本身来说就是一种数据采集器哦,触发该处默认会有一个总户数叠加的,times是是关于这个动作的值,有哪些值这个是有无数可能性的,没法说,不过可以和你说一下,值是参数的结果,参数呢就是触发该事件可能会产生的一些状态,其他需求的数据哦,比如淘宝点付款按钮,就会产生付款状态,失败,成功,或者取消哦
嗯呢,这个我明白,之前我们是一个状态统计一个埋点,但是后来为了方便管理,将同一个埋点不同状态的点合并了,所以能明白,但是times这块之前没有接触过
我是做工具产品的,之前统计过的埋点基本上都是统计次数、人数的,偶尔会用到时长
mark
为什么左右滑动的操作不统计?
本来是不统计的,但下文计算在内了,因为右滑和点喜欢执行的其实是一个动作,只是交互效果不同而已
嗯呢可以说明下。严格讲应该是两个trigger,只是数据统计时均计为点击喜欢了。