埋点是什么?一文读懂产品埋点

产品经理无论是在进行需求澄清,还是进行产品版本迭代的时候,都会面对领导,研发,测试,设计等人员无数个为什么。比如:为什么要把这个楼层放在另一个楼层的上面?页面为什么要这么设计?这个时候如果仅仅凭感觉、道理是无法有力说服对方的,长而久之会降低自己的影响力。同时,也无法形成正确的产品方法论,对自己的职业发展也颇为不利。

业务线的数据质量惨淡,这一切的根源就是数据收集这个过程没有做好,而埋点又是数据收集的主要方式,所以源头就是埋点做的很烂。烂主要表现在以下几个方面:

  • 产品上线不埋点;

  • 有埋点的模块数据无法正常上报,不上报,或者上报错误;

  • 埋点错误,比如PC端的产品形态用了M端的埋点方式。

一、关于埋点

很多产品经理同行聊下来,有一个很奇怪的感觉:大家对数据的重视程度确实越来越高了,无论是做产品迭代,还是做运营活动,经常会基于当前的数据现状来做决策。但是,很少提及数据是怎么来的,怎么保证下一次数据的可用。大多数公司的产品和数据部门是分离的,需要做数据分析提数就行,各司其责,至于是否能提到,提到数据的质量是否正确,其实产品端是模糊的,所以,还是有必要先简单聊一下埋点的定义。

1. 埋点是什么

埋点是为了满足快捷、高效、丰富的数据应用而做的用户行为过程及结果的记录。

数据埋点是数据产品经理、数据运营以及数据分析师,基于业务需求或产品需求对用户在应用内产生行为的每一个事件对应的页面和位置植入相关代码,并通过采集工具上报统计数据,以便相关人员追踪用户行为,推动产品优化或指导运营的一项工程。

它如同每个城市的摄像头一样,每一个摄像头就是一个城市的埋点,监控着这个区域发生的一切,并且记录下来,满足交通、市政、企业等等的管理需求。其实对一个产品进行埋点就如同实施一个监控系统的过程,整个系统会有一个统一的中枢系统用来传输数据,收集数据,但是每监控一个点就需要安装一个摄像头。

2、采集的手段

就如同摄像头是监控视频的采集工具,埋点同样有采集工具。而且通常会随不同的平台,有不一样的埋点手段。目前常见的平台通常包括移动端,PC端,移动设备和服务器四种平台。

  • 移动产品:经常称之为M端,包括手机APP,内嵌H5页面,小程序,WQ页面等;

  • 网页产品:经常称之为PC端,通常包括WEB页面,PC客户端等;

  • 移动设备:比如智能手环,POS机等等各种智能设备,掌上电脑;

  • 服务器:般是指服务端服务器资源。

3. 埋点的分类

按照获取数据的类型以及用户触发行为的不同,埋点一般可以分为以下几种:

(1)点击事件

用户在应用内的每一次点击行为,都可以记为一次点击事件。比如按钮的点击,区域的点击,商品的点击,每一条新闻的点击等,都可以成为一个点击事件。

一般通过点击事件,我们可以拿到点击PV,点击UV。

(2)曝光事件

曝光事件是为了统计应用内的某些局部区域是否被用户有效浏览。比如推荐区域,某个按钮,首焦等等。

比如一般来说我们在衡量页面某个区域用户的点击率的时候,首先需要搞清楚的就是这个区域到底被多少用户看到了,每被用户看到一次就是一个简单的曝光事件,然后才能计算点击率。

做曝光埋点的时候需要注意两个事情:第一,有效曝光的定义要科学,合理;第二,为了不影响页面性能以及用户体验,不能在应用内的所有区域都加曝光埋点。

(3)页面事件

页面事件通常是指页面的各种维度信息的统计。常见的比如页面浏览PV,页面浏览UV。

页面事件通常统计的信息包括以下几个部分:

  • 浏览器信息:浏览器版本,浏览器语言,浏览器编码,屏幕分辨率等等;

  • 访问信息:用户账号,当前页面url,上次访问时间,访问时长,页面停留时间等等;

  • 来源信息:广告来源,上一页面url等等;

  • 物品信息:不同的业务,这部分信息区别很大。

页面事件通常通过页面参数来传递。

4. 埋点的意义

做事情要有其价值所在,做埋点同样,它的意义在哪?

  • 了解用户行为:比如用户的使用习惯,用户的决策路径,用户的注意力分布...

  • 掌握产品动向:比如产品用户量,产品所处的生命周期,目前的数据表现...

  • 支持产品决策。比如新功能的上线,旧功能的迭代优化...

  • 科学的diss神器,大家都懂。

二、埋点的流程

这个部分是主要内容,主要讲一下埋点的方法,流程。不同的公司埋点的流程可能不甚相同,但是总体的步骤是一致的。

埋点的基本流程包括如下几步:

  • 整理埋点方案

  • 埋点代码植入

  • 埋点测试

  • 线上数据跟踪

1. 整理埋点方案

不同平台,不同渠道的埋点方案都不相同,但是通常至少需要包括以下几点内容:

  • 埋点位置:即需要添加埋点相关信息的位置,比如页面上的按钮,搜索结果的每一个卡片,推荐位上的每一个卡片,每一个曝光区域等等;

  • 埋点标识:每一个位置上面需要设置一个埋点的标识来代表这个点击位,类似代码里面的变量名,必须是全站唯一的,不能出现重复;

  • 埋点参数:是指你想要在用户到达这个位置or页面,或者点击这个位置的时候,除了正常的流量数据(pv,uv),还想看到那些数据;

  • 页面名称:是指当前埋点所属的页面,有这个才能定位到当前埋点是属于哪个页面的数据;

  • 应用标识:是指当前应用的唯一标识,有的也叫站点。用来进行数据归属划分。

产品的埋点方案通常由产品经理来进行梳理,梳理完毕之后需要协同数据的同事进行确认,核对,保证方案的可行性。

2. 采集工具植入

不同于摄像头,数据的采集工具通常为埋点代码,不用的产品形态采取不同的埋点代码植入,通常有三种:js文件,SDK,http请求。

埋点代码等同于一个监控系统的中枢,可以说是整个产品埋点的引擎,控制着埋点的数据的采集上报,只有它才能够在用户与应用发生交互的时候上报点击位信息,曝光信息,页面信息等等。

这块通常是研发来做,产品经理参与。

3. 埋点测试

埋点测试是指完成埋点工作后,需要对埋点的有效性进行测试,这块是保证埋点质量,产品上线数据可用的第一个环节。通常关注几个部分的内容:

  • 埋点代码是否引入;

  • 点击位以及相关事件参数是否正常加入埋点;

  • 数据能否正常上报。

这块通常由测试来做,产品经理参与。

4. 线上数据跟踪

埋点上线之后,一般每个公司会提供对应的数据可视化产品用于产品数据展示。也有的公司是和第三方数据采集平台合作,也会提供对应的可视化平台。如果没有这些资源那就sql提数吧,毕竟是自己的产品,看数据还是很有必要的。

另外,数据必须每天一看。如果你经历过从某一天开始,大部分数据无故失踪而不自知的情况,你就知道每天看数据是多么的重要了。

5. 注意事项

  • 埋点方案的梳理要越早越好,并且和开发同步,以防止相关的埋点参数接口取不到;

  • 埋点一定要测试,否则会有很大的白埋率。白埋率什么意思?就是我加了埋点,但是没有数据;

  • 埋点标识需要唯一,否则数据会出现重复,一个为0,一个double;

  • 埋点方案发生变动要及时同步到各方,这个好像是基本职业素养;

  • 把握几个关键的时间点:设计稿,提测和上线。

最后,总结了埋点12字诀,送给各位:引没引,埋没埋,报没报,落没落

  • :是指埋点代码是否引入,引入的代码是否与当前产品形态吻合;

  • :是指是否产品的所有模块都添加了埋点;

  • :是指埋点之后数据是否能够正常上报;

  • :是指上报的数据最后是否落到了对应的表里面。

想看什么数据,就埋什么点

埋点一定是为数据服务的,撇开数据谈埋点都是扯淡。具体的埋点流程每个公司有所差别,但是总体思路绝对一致,否则一定会有线上数据问题。

补充:常见的埋点方式

常见的埋点方式主要有三种:代码埋点全埋点可视化埋点

maidian.png

(1)代码埋点

代码埋点是最经典埋点方式,实施埋点的研发将埋点代码结合到业务代码中,实现用户行为数据的采集。这种埋点方式能采集到非常复杂的行为,尤其是一些非点击的、不可视的行为,必须用代码埋点来实现。代码埋点按照位置的不同,可以分为前端埋点、后端埋点。前端埋点用来记录用户在客户端的操作行为,后端埋点用来记录客户端进行服务器请求的日志。

  • 前端埋点

前端埋点能够收集更全面、精细的用户数据,尤其是不需要请求服务器的行为数据,如:页面停留时长、页面浏览深度、视频播放时长、用户鼠标轨迹、表单项停留及终止等等,只能通过前端埋点实现。但缺点在于,前端埋点的上报一般存在 15% 左右的延迟上报和漏报(客户端未联网、数据打包上报、用户删除行为数据等原因)。另外,如果客户端是 APP,每次上线新的埋点或者更新埋点时,需要发布新的版本才行,但是会存在部分用户不更新版本情况,影响数据质量。

  • 后端埋点

理论上,只要客户端向服务器发送过请求,服务端埋点能够收集到。相比于前端埋点,能实时采集数据,不存在延时上报,数据很准确;并且,服务端埋点支持与用户身份信息和行为附带属性信息整合;另外,每次上线新的埋点或者更新埋点时,发布后马上生效。 代码埋点适合精细化分析的场景,我们可以将各种细粒度的数据采集下来,后续做深度分析。当然这种埋点方式很低效,需要经历完整的埋点流程,包括业务梳理(产品运营)、埋点设计(产品运营/研发)、实施/测试/上线埋点(研发/测试)。整个过程需要多方协作,且要求产品运营也具备一定的专业水平,如果发生错漏无法快速补救。

(2)全埋点

无埋点、无痕埋点、自动埋点,指的都是全埋点。这种埋点方式想要实现的效果是全自动化埋点,将客户端的用户行为尽可能地全面采集,然后通过界面配置的方式对关键行为进行定义。使用这种方案,每次有用户行为分析的需求,不用再走一次完整的埋点流程,只用在产品中嵌入 SDK,等于做了一个统一的埋点。但是,无埋点也有很明显的弊端。无埋点只能覆盖基本的点击、展示等用户行为;其次,全埋点采集的数据量非常大,随着数据量上升,可能会导致客户端崩溃的概率也会上升。尤其是移动端,更多的数据量意味着更多的电量、流量和内存消耗;第三,即使全部行为数据都被收集回来了,具体分析时也不能避免二次梳理和加工,因为机器无法在采集时按照我们想要的方式对全部事件进行有意义的命名,甚至无法保证采集上来的事件都正好是正确的;第四,现阶段全埋点对于用户身份信息和行为附带的属性信息也几乎无能为力。

(3)可视化埋点

可视化埋点也被称为「无码埋点」,它的理念是降低实施埋点的门槛,以此来提升原工作流程的效率。实施埋点时,无需研发人员介入,产品运营可以直接在网站或移动应用的真实界面上操作埋点,而且埋点之后立即可以验证埋点是否正确,并且,埋点部署到所有客户端也是几乎实时生效的。同样的,可视化埋点也有很多局限。首先,可视化埋点也只是针对点击可见元素的,一些动态页面、不可见的行为是采集不到的;其次,对于点击操作附带的业务属性,比较难实现;第三,为了确保埋点准确性,可视化埋点也逐步整合了更为复杂的高级设置,操作起来也很低效。

补充:埋点困境

  • 1、在进行专项分析前,其实产品方也可能不知道要采集哪些信息。未来对某项内容的分析可能用到哪些数据,属性。

  • 2、产品方明确了埋点需求,但可能不了解埋点技术,所以在与RD沟通时,存在偏差,比如某个埋点的触发时机彼此理解不同,导致收集的数据统计口径有差异。技术方思考的问题核心是埋点形式(前端or后端埋点?埋点难度?维护成本?)

案例:如何采集用户支付

  • 需求:统计用户平均完成一次支付在支付页面要停留多久

  • 问题:支付有成功支付和不成功两种,在前端埋点统计“立即支付”的点击,只能统计点击了支付的人数。如果统计支付成功的,只能在后端做埋点统计,这样就不能知道用户在前端什么时候点击的时间点。

解决方法:设置埋点文档DRD(交互设计文档)

maidian-2.png

产品曝光埋点

一、什么是曝光埋点?

先看一个例子,比如:为了配合运营活动,需要在首页的中部的位置放置一个活动入口的banner图,给这次活动引流。

对于首页的产品经理来说,需要衡量流量的分发效率,因为资源有限,同样的楼层可以给到更好活动,这样可以提升每一个流量的价值;

对于运营来说,需要衡量活动的对用户吸引力,有多少用户会点击进来,参与活动促成转化。

这两方都会涉及到一个点击效果的量化:点击率(CTR),一般点击率的计算公式为:CTR=点击数/曝光数

分子为某个区域/物品的点击次数,分母就比较困难了。如果采用整个首页的浏览次数的话,明显是不科学的,因为很可能这个活动的banner图用户压根就没看到,那怎么能衡量到底用户是否感兴趣呢。

由此,曝光埋点就应用而生了。曝光埋点诞生之初的目的就是更加科学合理的计算相关指标,相比于点击埋点和页面埋点更加直观的数据统计,曝光埋点的用处更多。

曝光埋点一般是用来统计页面某个模块、区域被“看到”的次数。这里的“看到”是指被用户有效浏览,所以曝光埋点的关键就在于怎么定义“有效”,因为埋点也是需要开发的,那么就需要一个可工程化的逻辑。

二、举个例子

下图是一个电商首页底部的推荐区域,为了衡量用户对推荐结果的感兴趣程度,需要计算推荐区域的点击率,所以需要定义什么情况下推荐区域是一次有效曝光。

baoguang.jpg

首先用户需要滑动到推荐区域,但是滑动到并不代表用户一定会看到推荐的物品,所以在此基础上还需要加一个限定条件:至少露出一个卡片的高度。

其次,即使推荐结果确实露出给用户了,但也有可能是用户快速滑过,并没有接受相关物品的信息从而再去做决策,这种也是一次无效的浏览。所以一般会在之前定义的基础上,加一个时间的限制,比如:用户至少需要在推荐区域停留时长不少于15s。

通过以上曝光条件的设置,基本上能保证推荐区域的推荐物品确实被用户看到了,这个叫有效曝光的定义,它依赖于数据需求。但是,这种情况下能保证曝光数据就是准确无误了么?

问1:如果用户重复滑动,那么在满足曝光条件的基础上,曝光次数要一直增加么?

一般这个情况下是不会重复上报的。因为我们需要曝光数据的目的是为了衡量用户对推荐区域物品的感兴趣程度,所以短时间内物品对用户产生的影响,只要保证足够的时间去接受物品信息,那么这个影响可以认为会持续一段时间。所以短时间内产生的转化,可以认为是第一次看到物品的效果,重复上报会对指标计算产生影响。

问2:如果这种情况下不增加,那什么情况下需要重复上报?

正如上个问题的回答一样,其实我们主要衡量的是推荐物品对用户的效果,所以每当推荐区域重新请求一次接口的时候,就认为推荐物品会变,那么在符合曝光条件的情况下,就需要重新上报。

问3:这个区域的曝光,这么统计可能不太准确,能不能统计曝光了多少个,然后看点击了多少个,这样似乎更准确。

没错。正如在前一篇文章中说的埋点其实很简单,就是你要什么数据,埋什么点就行,前提是需要考虑你方案的可行性,比如内嵌H5页面如果这么设置曝光方案的话,可能会影响前台性能,每一次埋点数据上报就是一次接口调用,当然服务器资源多的就当没说。如果是RN或者原生页面的话,那这么做是完全没问题的。

问4:为了统计的更加准确,能不能在所有页面的模块加曝光埋点?

就算是你司服务器资源再多,你也得考虑一下用户的流量费啊,5G套餐很贵的。

三、曝光埋点实施的过程中需要注意下面几个事情:

第一,有效曝光的定义要科学,合理。

关于有效曝光的可以从空间和时间两个维度去定义,基本上可以保证数据的可参考性。空间上,曝光的位置,曝光区域的大小;时间上,曝光的时机,曝光的时长,重复上报的时机。

第二,曝光埋点的计算意义更大于它的统计意义。

相比点击埋点,页面埋点能够直接给出统计数据,曝光埋点的意义在于能够更加科学合理的进行相关指标的计算。

第三,为了不影响页面性能以及用户体验,不能在应用内的所有区域都加曝光埋点。

参考文档


未经允许请勿转载:程序喵 » 埋点是什么?一文读懂产品埋点

点  赞 (1) 打  赏
分享到: