数据埋点
随着互联网时代的到来,各行各业都开始融入“ 互联网+” 的思维。从最开始的TOC的服务&消费型产品,到如今TOB的数字化转型,数据越来越重要。打开京东淘宝,头条抖音,里面琳琅满目的商品推荐,视频推荐。
那么,问题来了,这些算法上千人千面的推荐,是怎么做到的?答案:用户行为数据。 那再深入一些,如何更精准的拿到 用户行为数据? 答案:埋点。
埋点简介
定义:埋点是用户行为数据的来源。
目前来说,大部分企业对于用户行为数据的获取,都是在各个终端上设置埋点。 通过各种各样的埋点,拿到相应的用户行为数据。用于下游的统计分析和业务迭代。
主流的方式有两种:
- 第一种:公司自研,在产品的各个页面、(可交互)模块,按照一定的规范,“注入”统计代码。
- 第二种:第三方统计工具,如友盟,神策,GrowingIO等第三方监测平台的接入。
各个公司随着业务的不断扩大,一般都会选择自研发,并设定相应的埋点规则和统计规则。 我们这期重点就来聊聊“埋点规范”的设计。
埋点需求与实现
埋点分析,是网站分析的一种常用的数据采集方法。又称为事件追踪(Event Tracking),指的是针对特定用户行为或事件进行捕获,处理和发送的相关技术及其实施过程。
其实埋点也叫日志上报,其实就是根据需求上报一系列关于用户行为的数据,比如:用户点击了哪个按钮,用户浏览了哪个网站,用户在某个页面停留了多久等数据。这些数据对于运营来说很有用,他们可以用来分析某个功能开发的是不是合理,是不是因为某个地方的不合理而到导致了转化率的下降,从而对我们的App进行相应的改进。
埋点实现
埋点是用来收集用户行为数据。比如想要了解一个用户在APP里面点击了哪些按钮,看了哪些页面,做了哪些事情等,就可以通过埋点来实现。
埋点就是通过植入一段代码到某个页面或某个按钮,从而监听用户行为并进行收集上报。
埋点流程如下图:
[埋点采集] => [数据传输] => [数据存储] => [数据挖掘分析] => [数据应用]
埋点方式
比如像点击、浏览、曝光这些行为便可以用前端埋点,主要是发生在用户与界面的交互;如果是电商中要统计下单成功这个事件,客户端是没有办法知道订单是否成功的。如果统计的事件里有需要用到后端的数据,也是要进行后端埋点的。
埋点需要哪些数据
埋点时需要尽可能全面的采集数据,主要包括以下信息:
- 用户基本信息:描述用户的基本属性信息,包括用户ID,性别,运营商,设备类型等
- 时间信息:事件发生的时间
- 行为信息:用户做了哪些行为,比如点击行为,浏览行为等
- 行为对象信息:用户的行为作用在哪些对象上,比如点击按钮A,浏览页面B,那么A,B就是用户行为作用对象
埋点事件的格式
埋点数据是需要存储起来的,数据就会有它对应的字段。一般一条埋点数据需要记录: 事件ID、事件名(英文名、中文解释)、事件属性(属性英文名、中文解释、属性类型)、埋点形式(前端/后端)、事件触发时机(什么时候投递这个事件) 统计信息设计
埋点报文
报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。简单来说就是用户在App内有一个操作行为,就会上报一组带有数据的字段。这些字段组成一个报文。报文一般包含以下字段,简单举例
traceId : 为每个事件的全局唯唯一识别符
devId : 设备指纹
devInfo : 设备相关信息
-os 操作系统
addressInfo : 位置信息
- longitude 经度
- latitude 纬度
- Ip ip地址
source :
userInfo : 用户信息
- userId 用户Id
- userName 用户名称
- userPhone 用户手机号
ProjectInfo :
- ProjectId 工程Id
- ProjectVersion 工程版本
EventInfo
- eventId 事件ID
- eventName 事件铭恒
Time :
- created 开始事件
- updated 结束事件
- duration 持续事件