从业务视角,分析埋点思路

7 评论 23170 浏览 197 收藏 10 分钟

对产品经理来说,输出埋点文档可以说是家常便饭了,但是对产品新人来说大多数人还是不知道埋点规范与注意事项,于是本文与大家分享从业务视角设计埋点的思路,希望对你有所帮助。

本文仅阐述思路,不涉及相关技术,文中完整的示例是为阐明思路所陈述,实际工作中一些标准化埋点可以用相关SDK完成半自动化替代。

从本文你可能获得:

  • 学习基本的数据埋点规范和技巧
  • 提高与数据人员的沟通效率&PY关系
  • 掌握从数据角度拆解业务流程的思路

1. 埋点思路

1.1 梳理业务流程

埋点的第一步是梳理业务流程,如果你有好的PRD撰写习惯,这一步已经在PRD中完成了,例如某电商促销活动的用户流程:

流量入口——活动首页——点击具体商品——商品详情页——下单

1.2 确定关键指标

功能/业务的迭代,一定是有一个产品目标,可以是解决某个需求,也可以是提升某个产品数据;关键指标就是衡量这个预期目标的可量化的指标,这里包含2个概念:

  • 预期目标:本次迭代的目标,例如活动创造XX GMV,搜索满足度等等;
  • 可量化:相应的,目标一定要可量化,例如成单转化率(某链路成单用户数/参与链路的用户数),搜索排序前3内容的点击率等;

1.3 细化各流程影响因素

梳理完业务流程,接下来要细化每个流程节点的数据评估维度。由于每个节点的转化率都影响着最终关键指标的数据情况,如果发现了某个节点的转化率较差,要对这个节点进行优化,所以,我们紧接着还要列举影响每个流程的影响因素,可能包括但不限于:

  • 用户自身属性:例如性别,年龄,某种偏好;
  • 使用设备的属性:操作系统,版本,分辨率,屏幕尺寸等;
  • 节点前后的用户流程;
  • 时间属性;

1.4 对老功能/业务流程的影响

新功能的上线同时会对原有的功能流程有一定的影响,因为业务属性可能会有不同的要求和重要程度,这里就不展开讲了;

2. 埋点设计原则

2.1 唯一原则

埋点字段相互独立,能精确定位某个事件或行为;即能通过1~2个参数精确定位到某个行为事件,例如在搜索页面“确认搜索”按钮的点击事件为search,那就要避免同页面内有其他事件被命名为search;

2.2 枚举原则

将所有可能需要的数据涉及的埋点一一枚举,可以根据页面穷举,也可以根据流程穷举,保证不出现漏埋的情况;

2.3 精确描述

每个埋点事件的做到无争议的描述,包括但不限于:采集逻辑,数据结构,特殊情况处理等;

普通的点击事件采集逻辑大概率不有理解上的偏差,大多数发生在以下情况

  1. 涉及发生后的状态上报:例如微信分享,是需要点击分享按钮即上报,还是点击跳转成功后上报?
  2. 涉及曝光埋点:例如内容曝光,用户上下滑动是否需要重复曝光?切换导航是否需要重新曝光?从详情页返回是否已曝光内容是否需要再次曝光?
  3. 涉及内容展示楼层埋点:例如内容流从上到下floor记为1,2,3…,不同类型是否共用楼层计数(例如文章123,第四位出现广告位是要上报4还是重新计数1)

数据结构就如字面意思,定义上报字段的数据类型,整型/字符串等等,这方面不是很熟悉最好BI或者分析师确认,以便后续处理数据;

  • 特殊的情况例如,一次上报内容较多,需要定义格式,类似一组搜索联想词曝光,我们就需要定义“’联想词1’,’联想词2’,…”的json格式上报;
  • 预先定义数据结构还有一个好处,就是能保持ios,Android两端上报一致,有利于提高后期的数据清洗及处理的效率;

3. 埋点分类及示例

在埋点示例之前,这里要简单介绍下埋点需要关注的信息,这里总结为由“5W2H分析法”简化而来的“4W1H”用户行为模型;

  • WHO:用户属性;这里包括用户本身属性(性别,年龄,籍贯等)及产品属性(会员等级,活跃度,偏好的内容类型等),因为属性本身不与行为的发生而随之改变,所以不用在埋点中体现,一般由user_id与用户宽表关联即可;
  • WHEN:发生行为的时间,注意不是上报时间,一般上报时间相比行为时间上会有一定的延迟;
  • WHERE:发生的地点;
  • HOW:发生行为时的一些状态,例如操作系统,网络状态,屏幕比例,分辨率等等;
  • WHAT:具体发生的行为,例如点击,曝光,访问等,这里会在后面的示例中展开;

3.1 公共参数

埋点时常常有一些公共参数,即无论什么行为都需要上报的参数,为了避免重复劳动,这些参数通常是提前定义,每次版本埋点默认上报,下面列举了部分通用示例:

3.2 页面访问

类似于公共参数,一般页面访问也是底层定义好的逻辑,无需重复定义

这里展开讲2个参数:

  1. 是否返回is_back:如果要统计某个页面的PVUV,若没有这个参数,会无法区分用户从下一页面返回的数据,导致数据偏高;
  2. 动态json串:有些页面需要上报一些定制化的参数,例如订单页面想知道订单ID&订单状态,内容页面想知道这篇文章的ID,以便精细化运营;

3.3 曝光类

顾名思义,曝光埋点即不发生点击行为,内容曝光时上报的埋点,多用于内容流(商品流)的数据分析,用来计算CTR(点击通过率,点击次数/曝光次数),用户时长(曝光时长),下面以某电商App首页商品流为例做埋点示例:

3.4 打点类

打点类埋点一般用来统计各类按钮点击的事件,这里简单用点击点赞按钮做示例:

3.5 追踪参数

有时候需要追踪用户单次使用产品或使用某个功能的路径,个人习惯用user_id+时间戳作为追踪ID,这里需要注意要明确时间戳的选取,例如追踪整个产品路径,那时间戳就是打开App的时间;但若是追踪搜索行为路径,那就需要用点击搜索框的时间戳作为追踪ID

4. 写在最后

写本文的初衷是在某职场社交App上做了个小调查,结果表明大多数PM都需要在日常工作中负责埋点文档的输出,同时PM新人又对埋点感到陌生和迷茫,于是:

本文用示例提供从业务视角设计埋点的思路,仅根据自身经验总结的一家之言,并不代表行业规范;如果本文对产品新人对埋点,数据分析等方面有一点启发,便是初心所在。

同时欢迎前辈们提供建议及补充~

 

本文由@gxxx 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 很棒

    回复
  2. 这个文章很赞了,确实很

    回复
  3. 产品新人学习到了!想问如果还想了解多一些关于埋点方面的内容,有什么书或文章推荐嘛

    来自广东 回复
  4. 您好,想向您申请转载到公众号

    来自黑龙江 回复
    1. 私信公众号名字 并在文章中注明来源

      回复
  5. is_back 这个事件是不是也可以通过去重来消除重复点击的造成的数量虚高?

    来自北京 回复
    1. UV可以通过去重统计,PV就没办法

      来自浙江 回复