本文作者从工作实践出发,梳理总结了关于数据埋点的相关基本知识,与大家分享。
产品汪每天都在和数据打交道,你知道数据来自哪里吗?
移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。
根据埋点方式,可以区分为:
秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定制需求难满足,成本较低;偏手动的,能满足个性化需求,但容易出错和疏漏,成本较高。
上报方式:
客户端能记录一些通用页面PV、UV、点击等信息,但更多细节无法覆盖,用户购买了什么、订单金额、成交单数,用户看了哪个视频、视频物理时长是多少等信息则需要服务端回传,服务端上报有上线灵活、不随版本、丢失率较低的优点。
客户端上报埋点数据流转如下图:
(客户端上报埋点数据流转)
埋点在个性化推荐系统(详见下一篇推送)中扮演着先头兵的角色,采集的数据的准确性将直接影响策略方向。
由于不同端的用户具有不同用户特征,往往会有不同的做功点,因此,采集数据时需要区分端数据,可以通过app_id区分产品不同端,如iOS、Android、iPad、PC各端。
如果作为数据分析师,思考角度较高,输出的埋点需要有“可扩展、可维护、易用性、高效性”,字少事大的典型。产品汪可降低要求,只要能看懂埋点文档,正确提出埋点需求、知道哪些数据对应哪些埋点即可。
(埋点文档示例)
根据场景,同一属性的行为往往会归为同一类埋点,成为“同一事件”,同一事件下会有相应的扩展字段来承接相关的细节信息。
以资讯app(如今日头条、腾讯新闻、网易新闻)为例,按漏斗思维和用户的行为路径拆解,有哪些数据可能需要获取?
打开APP人数(客户端登录损耗)->首页/栏目访问人数(访问占比)->刷新或点击人数(刷新或点击人数占比)->点击人数(点击率)->阅读时长/停留时长(读完率、阅读进度)->跟帖/收藏/分享等互动行为(互动率)->回流人数(回流率、病毒传播系数)
以上环节怎么对应上埋点?
根据行为属性,埋点事件大致分为以下几类,并不唯一:
埋点事件下的信息怎么看?如item_id:”114774”,冒号前是字段(key),冒号后是值(value),//后的是注释。
以视频浏览事件(_vdE)为例:
字段注意点和应用场景:
除了关注字段的定义和场景外,还需留意上报时机,定义尽可能周全,就以此视频浏览事件为例:
以刷新事件(_fsE)为例:
以评论事件(_cmE)为例:
从以上埋点,我们能获取哪些数据?
每篇内容的评论数,可区分内容类型、栏目、评论类型、位置;结合获取到的用户id,还可以从用户维度分析。
以上埋点字段仅做示例说明,需要根据实际的数据需要来增删字段,定义要明确,场景要详尽,避免出现“想要分析次均阅读进度,却发现没有相关字段”的窘境。
用户id是用户的唯一标识,是该用户在应用里活动的“身份证”,但它在获取的时候可是五花八门的,曾经某产品汪提供的deviceid和数据分析师手上的uuid完全对不上,ab实验得重做,所以懂多点儿概念提前问一问准没错。
(用户id获取示例)
以iOS系统的用户id获取为例,先补充几个概念。
鉴于没有任何一种标识符能百分百准确获取,且为了尽可能获取用户id,会有一个退而求其次的获取逻辑,即先取IDFA的值,取不到IDFA时去取IDFV的值,再取不到时IDFA时,则生成UUID。
获取用户id逻辑示例:
字段和值
上报时机
统计
产品汪反馈bug是家常便饭,甩个bug截图可能会被忙碌精分的开发直接无视,掌握反馈bug的正确姿势:
走上述流程,开发一定觉得你可爱无比。
只要产品仍在迭代,就需要更新埋点以供数据分析使用,可以说埋点将伴随产品终生,携手埋点,头发也将越来越少,且行且珍惜。