目录
前言
数据采集是大数据的基石,用户在使用App、微信小程序等各种线上应用产生的行为,只有通过埋点才能进行采集。没有埋点,数据分析决策、数据化运营都是无源之水,巧妇难为无米之炊。但很多时候,“埋点”两个字却成了C端产品经理、数据产品、数据分析、数据开发等很多人不愿提及的痛。
一、什么是埋点
简单来说,埋点就是在网站或APP中加入一些程序代码,用以收集和统计用户在该网站/APP中的浏览、访问数据和应用使用情况,分析用户交互行为,从而帮助产品和运营进行后续优化。
二、为什么要埋点
埋点能够帮助业务和数据分析人员打通固有交易墙,为了解用户交互行为、扩宽用户信息和前移运营机会提供数据支撑。
在产品数据分析的初级阶段,业务人员通过自有或第三方的数据统计平台(如TalkingData统计分析平台)了解APP的概览性的用户访问数据指标,包括新增用户数、活跃用户数等。这些指标能帮助企业宏观的了解用户访问的整体情况和趋势,从整体上把握产品的运营状况,但很难基于这些指标直接得到切实的产品改进策略。埋点将产品数据分析的深度下钻到流量分布和流动层面,通过对产品中的用户交互行为的统计分析,对宏观指标进行深入剖析,发现指标背后的问题,寻找人群的行为特点和关系,洞察用户行为与提升业务价值之间的潜在关联,了解组成特定数据现象的原因,并据此构建产品优化和运营迭代策略。
三、埋点埋什么
在用户行为分析数据埋点中,最常用的模型是事件模型,该包括事件(Event)和用户(User)两个核心实体,同时还需要配合内容(Item)实体,才能做更多维度的分析。
一次事件完整的数据结构构成如下:在什么时候,什么位置,做了哪些事情,使用产品为了达到什么目标,他是如何使用的等问题。在埋点开发时,要有能够标识唯一事件的ID标识、事件描述信息、以及事件的属性信息,事件的属性主要包括用户属性和内容属性。
2. 用户(User)属性
每一次事件对应一个独立的用户实体,用户的画像(profile)信息构成了事件最重要的属性信息,例如用户的设备属性、地域属性、性别、年龄等
3. 内容(Item)属性
事件的操作实体一般是内容或内容的集合,例如浏览某一页面,或某个商品,在埋点统计时,需要记录页面(page)、区块位置(Block)、元素(item)。
4. 埋点需求怎么提
例如,App新上线了推荐位,来进行不同业务品类的流量分发。推荐位内容可能不同用户看到的是不一样的,在实际分析时,平台运营侧,偏重于按照位置分析,看哪一个位置的点击效果好,而品类运营则会聚焦于内容哪一个品类的转化更好。埋点需求的关键要素包括:
- 事件名:点击推荐位
- 事件ID: clicktuijianwei
- 事件类型:click
- 页面: 首页homepage
- 区域: 推荐位
- 元素:item位置、item内容
- 平台:微信小程序、APP(android、iOS)、PC
- 应用版本:8.0.1
- 用户属性:城市、设备机型等SDK可以采集的通用属性
1. 事件(event)
每一次浏览、页面按钮/元素的点击都是一个事件,管理事件时通常按照用户的行为路径以及业务流程,对事件进行分类管理,例如分为浏览事件、点击事件、以及系统事件等类别。
四、埋点设计
数据上报频率
埋点数据非常庞大,为解决埋点服务的瓶颈问题,提供2种上报方式,
批量上报
数据采用GZIP压缩,当埋点数据超过30条后上报埋点数据。
阈值上报
另一种是时间超过阈值30秒后上报埋点数据。
埋点数据格式
/**
* 埋点定义
*/
public class BuriedPoint {
/**
* 消息头,保存埋点数据公共部分,比如设备信息
*/
private Map<String, String> header;
/**
* 埋点数据部分
*/
private List<Point> body;
/**
* 埋点数据
*/
public static class Point {
/**
* 事件类型
*/
private String evenType;
/**
* 事件发生事件
*/
private long time;
/**
* 事件特殊数据
*/
private Map<String, String> data;
}
}
总结
基于日志服务的GrowthHacking(1):数据埋点和采集(APP、Web、邮件、短信、二维码埋点技术)-阿里云开发者社区