数据埋点是什么?

Java 程序埋点日志 什么是埋点日志数据_可视化

所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。比如用户某个icon点击次数、观看某个视频的时长等等。


埋点:数据分析的第一步

大数据,从庞杂的数据背后挖掘、分析用户的行为习惯和喜好,找出更符合用户“口味”的产品和服务,并结合用户需求有针对性地调整和优化自身,正是大数据的价值。而这信息的汇集、分析就绕不开“埋点”。


小科普:“埋点”

埋点就是在有需要的位置采集相应的信息,就如同公路上的摄像头,可以采集到车辆的属性,比如:颜色、车牌号,车型等信息,还可以采集到车辆的行为,比如:有没有闯红灯,有没有压线,车速多少,司机有没有在驾驶中接听电话等,如果摄像头分布是理想状态,那么通过叠加不同位置的摄像头所采集的信息,完全可以还原出某一辆车的路径、目的地,甚至推测出司机的开车习惯、是否是老司机等信息。

那么,每一个埋点就像摄像头,采集用户行为数据,将数据进行多维度的交叉分析,可真实还原出用户使用场景,挖掘用户需求,从而提升用户全生命周期的最大价值。


4种埋点“姿势”

为了将海量数据采集得更加精准,为后续营造“纯净”的数据分析环境,埋点技术应运而生。数据基础夯实与否,取决于数据的采集方式。埋点方式多种多样,按照埋点位置不同,可以分为前端(客户端)埋点与后端(服务器端)埋点,其中前端埋点包括:代码埋点、全埋点、可视化埋点。



所谓埋点就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑,包括访问数(Visits),访客数(Visitor),停留时长(Time On Site),页面浏览数(Page Views)和跳出率(Bounce Rate)。这样的信息收集可以大致分为两种:页面统计(track this virtual page view),统计操作行为(track this button by an event)

通俗来说就是,对用户的操作进行编码解码映射的过程。


数据埋点分三个阶段:

初级的数据埋点:在产品流程关键部位植相关统计代码,用来追踪每次用户的行为,统计关键流程的使用程度。

中级的数据埋点:在产品中植入多段代码追踪用户连续行为,建立用户模型来具体化用户在使用产品中的操作行为。

高级的数据埋点:与研发及数据分析师团队合作,通过数据埋点还原出用户画像及用户行为,建立数据分析后台,通过数据分析、优化产品。

埋点的意义:

数据埋点为了统计分析的需要,对用户行为的每一个事件进行埋点布置,并对这些数据结果进行分析,进一步优化产品或指导运营。

现在埋点的主流有两种方式:

  1. 第一种:自己公司研发在产品中注入代码统计,并搭建起相应的后台查询。
  2. 第二种:第三方统计工具,如友盟、神策、Talkingdata、GrowingIO等。

名词解释:

。。。。

。。。。。





一、数据流程


数据生产-数据采集-数据处理-数据分析和挖掘-数据驱动/用户反馈-产品优化/迭代。

数据采集,顾名思义采集相应的数据,是整个数据流的起点,采集的全不全、对不对,直接决定数据广度和质量,影响后续所有的环节。

在数据采集失效性、完整性不好的公司,经常会有业务方发现数据发生的大幅度变化,追其所以时发现是数据采集的问。而另一方面,采集什么数据才能有效的得到数据分析结论,才能有效的进行推荐,就需要提前规划埋点

当前数据采集普遍遇到的几个问题:

  1. 实时性,对于工具性产品在无网条件下的数据,无法实时上报;
  2. 完整性,由于用户隐私协议&欧盟通用数据保护条例的,部分数据无法采集;
  3. 异常,android_id、idfa、idfv 随版本升级变化或无法获取。


二、数据埋点

接下来用5w2h的思路来看埋点。

1. 埋点是什么?

所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。比如用户某个icon点击次数、观看某个视频的时长等等。

埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获。

特别注意需要明确事件发生时间点、判别条件,这里如果遇到不清楚的,需要和开发沟通清楚,避免采集数据与理想存在差异。例如:期望采集某个app的某个广告的有效曝光数,有效曝光的判别条件是停留时长超过1秒且有效加载出广告内容。


2. 埋点是谁的工作?

现在公司通常都会有数据产品经理或业务线数据分析师,结合版本迭代过程进行埋点规划。如果是代码埋点,还需要开发完成相应的埋点代码。


3. 在什么时间点&在哪里埋点呢?

埋点是目的导向。

在产品规划时就要思考数据埋点问题,如果在产品外发后再考虑怎么埋点,就会导致前期版本用户的数据无法收集,想要看某个数据时就会非常无奈,只有等到新版本完善来弥补。

思考要埋哪些点、埋点的形式,需要紧密结合产品迭代的方向、运营需求,并和数据开发等进行充分沟通以确认:

  1. 埋点能够得到想要的数据解决/支持;
  2. 能够得到当前版本的复盘情况;
  3. 后续版本的数据支撑。

通常的沟通过程以 埋点文档为载体;数据埋点评审为终结。

当前版本的复盘情况:

  1. 新版本功能使用情况,是否符合预期;
  2. 新功能上线后对其他功能点的影响?是否为整体均有积极作用;
  3. 版本运营活动目标群体的特征获取;
  4. 新增商业化目标的监测……

后续版本的数据支撑:

  1. 规划方向的用户行为分析
  2. 画像特征分析


4. 怎么埋点呢?


4.1 埋点技术:代码埋点、可视化埋点、无埋点

接着第一节:埋点是什么?来看下埋点技术层面的区分:代码埋点、可视化埋点和无埋点。


(1)代码埋点

以为需要监测网站上/app上用户的行为,是需要在网页/app中加上一些代码的,当用户触发相应行为时,进行数据上报,也就是代码埋点。这样的代码,在网站上叫监测代码,在app中叫SDK(Software Development Kit)。市场上的第三方数据采集均支持代码埋点,GA, GrowingIO,神策等。

  1. 优点:可以详细的设置某一个事件自定义属性;
  2. 缺点:时间、人力成本大,数据传输的时效性。


(2)可视化埋点

利用可视化交互手段,数据产品/数据分析师可以通过可视化界面(管理后台连接设备) 配置事件,如下是腾讯移动分析的可视化埋点界面。可视化埋点仍需要先配置相关事件,再采集。

Java 程序埋点日志 什么是埋点日志数据_大数据_02

Java 程序埋点日志 什么是埋点日志数据_Java 程序埋点日志_03

  1. 优点:埋点只需业务同学接入,无需开发支持;
  2. 缺点:仅支持客户端行为。


(3)无埋点

无埋点是指开发人员集成采集 SDK 后,SDK 便直接开始捕捉和监测用户在应用里的所有行为,并全部上报,不需要开发人员添加额外代码

数据分析师/数据产品 通过管理后台的圈选功能来选出自己关注的用户行为,并给出事件命名。之后就可以结合时间属性、用户属性、事件进行分析了。所以无埋点并不是真的不用埋点了。

优点:

  1. 无需开发,业务人员埋点即可;
  2. 支持先上报数据,后进行埋点。

无埋点和可视化埋点均不需要开发支持,仅数据业务同学进行设置即可。但两者数据上报-埋点设置存在加大的差异:无埋点支持在数据上报之后再进行埋点设置,因而数据采集/上报的量远大于可视化埋点。


4、各种埋点场景&埋点建议

  1. 客户端数据:页面点击数据,比如:tab栏的点击,某个icon的点击(各入口点击对比使用情况,统计页面点击行为的转化漏斗)。
  2. 服务端数据:安装数据,下载后安装情况;内容数据,比如某个视频内容 曝光/展示/播放数据;搜索内容。

以视频产品为例的一次埋点过程:

1. 明确产品动态,梳理数据需求;

当前为一个视频社区软件,增加了**舞蹈跟拍**功能,用户可以根据不用的舞蹈来进行拍摄(运营同学对舞蹈进行了分类,主打几个舞蹈),目的是为了给用户提供低成本创造视频内容的方式。

基于上述的产品目的,期望能了解:

a.该功能的使用情况(uv,pv,使用过程漏斗);

b.生产的视频情况(视频数,视频的互动情况),是否能实现促进内容生产带动社区氛围的目标。

2. 数据需求转化为指标&埋点,并与数据开发进行讨论;

a.功能使用uv、pv;

b.对其他拍摄功能的影响;

a,b:可以服务端打点,也可以客户端打点,但因为视频社区的基于内容的互动行为基本都在服务端,所以建议服务端打点。

c.拍摄流程的转化漏斗;拍摄流程主要是页面的点击过程,故使用客户端埋点,并记录uv,pv。

d.跟拍视频的播放、点赞、评论、分享、关注、二次被跟拍的情况;

f.跟拍舞蹈的类型,明确用户是否偏向于某个类型的舞蹈跟拍;

d,f服务端,基于内容的互动行为基本都在服务端。

3. 版本上线;

4. 按照预期进行数据分析,产品迭代复盘。数据分析过程,注意查看是否与预期相符,是否有优化点。

参考:数据埋点是什么?设置埋点的意义是什么?

参考:数据埋点之认识埋点

参考:什么是埋点?我们为什么需要埋点?(原作者:知乎 原志Growing)

参考:从电商页面埋点说起