大约在半年前,我写过一篇介绍产品埋点的文章。现在回看,内容写的还不够丰富,有些细节、语言没有进行足够的打磨。
正好最近有读者让我给讲一讲埋点相关的知识,不太喜欢打补丁,索性把之前的文章删除了,看过的同学就当重新温习一遍埋点技能;没看过的同学,如果你想从事数据相关的产品方向,最好能mark一下。
话不多说,进入正文。
产品经理无论是在进行需求澄清,还是进行产品版本迭代的时候,都会面对领导,研发,测试,设计等人员无数个为什么。比如:为什么要把这个楼层放在另一个楼层的上面?页面为什么要这么设计?
这个时候如果仅仅凭感觉、道理是无法有力说服对方的,长而久之会降低自己的影响力。同时,也无法形成正确的产品方法论,对自己的职业发展也颇为不利。
刚进公司,我所在的业务线的数据质量是比较惨淡的,这一切的根源就是数据收集这个过程没有做好。而埋点又是数据收集的主要方式,所以源头就是埋点做得很烂,主要表现在以下几个方面:
产品上线不埋点;
有埋点的模块数据无法正常上报,不上报,或者上报错误;
埋点错误,比如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提数吧,毕竟是自己的产品,看数据还是很有必要的。
另外,数据必须每天一看。如果你经历过从某一天开始,大部分数据无故失踪而不自知的情况,你就知道每天看数据是多么的重要了。
以上就是关于埋点的基本流程,没有完整经历过这个流程的,基本线上数据会出问题。如果还没遇到,我只能说不是不到,时候未到。当然和第三方合作的有些步骤第三方帮你做了,这种的不讨论了。
三、注意事项
最后,讲一下我在做埋点过程中踩过的一些坑,大家有则改之,无则加勉。
埋点方案的梳理要越早越好,并且和开发同步,以防止相关的埋点参数接口取不到;
埋点一定要测试,否则会有很大的白埋率。白埋率什么意思?就是我加了埋点,但是没有数据;
埋点标识需要唯一,否则数据会出现重复,一个为0,一个double;
埋点方案发生变动要及时同步到各方,这个好像是基本职业素养;
把握几个关键的时间点:设计稿,提测和上线。
最后,总结了埋点12字诀,送给各位:引没引,埋没埋,报没报,落没落。
引:是指埋点代码是否引入,引入的代码是否与当前产品形态吻合;
埋:是指是否产品的所有模块都添加了埋点;
报:是指埋点之后数据是否能够正常上报;
落:是指上报的数据最后是否落到了对应的表里面。
有九阳神功护体,什么武功都是水到渠成。
埋点在我看来是一个慢工出细活的事情,做的时候把握住一个点即可:想看什么数据,就埋什么点。
埋点一定是为数据服务的,撇开数据谈埋点都是扯淡。具体的埋点流程每个公司有所差别,但是总体思路绝对一致,否则一定会有线上数据问题。
以上仅仅是埋点基本知识的,后续还会出一些更详细介绍埋点的文章,比如曝光埋点,埋点指标等,希望能帮到你。