埋点:让你知道你的上帝需要什么

所谓埋点是数据领域的专业术语,也是互联网应用里的一个俗称。它的学名应该叫做事件追踪,对应的英文是Event Tracking。它主要是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。

埋点是为了满足快捷、高效、丰富的数据应用而做的用户行为过程及结果记录。数据埋点是一种常用的数据采集的方法。埋点是数据的来源,采集的数据可以分析网站/APP的使用情况,用户行为习惯等,是建立用户画像、用户行为路径等数据产品的基础。

埋点的作用

对于产品来说,用户在你的产品里做了什么、停留了多久、有什么异样,都是可以通过数据埋点来实现监控的。

提高渠道转化:通过用户的操作序列,找到用户流失的节点

改善产品:通过用户行为分析产品是否有问题,例如用户有没有因为设计按钮过多导致用户行为无效等问题,以此发现功能设计缺陷等。

精准客户运营:对客户进行分组(例如有的喜欢打折购买,有的喜欢直接购买等),实现精准营销,发放优惠券等

完善客户画像:基本属性(性别、年龄、地区等),行为属性(设备操作习惯等)

数据分析:埋点作为原料放在数据仓库中。提供渠道转化、个性推荐等

PV、UV埋点

什么是PV、UV?

UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。

PV(page view):即页面浏览量,或点击量;用户每1次对网站中的每个网页访问均被记录1次。用户对同一页面的多次访问,访问量累计。

简单来说:

UV = 一个人(记录身份证号)

PV = 人次(只认次数,不认人)

ios网络埋点 native埋点_白名单

实现思路

1、首先当用户访问商城的任何一个页面;

2、通过公共页面的一个全局方法拦截到该请求,获取到相关的参数;

3、通过url地址判断是否是白名单;

4、如果不在白名单,执行默认的埋点方法获取数据;

5、如果在白名单(通俗地讲就是数据是从白名单页面相关接口中获取数据进行组装,也包括不需要做埋点的页面),执行局部埋点方法获取数据。

6、调用相关的后端埋点接口,存入到Redis缓存中。

7、通过定时器中的任务,定时捞取相关的数据,通过消息队列发送到相关的统计服务中。

8、在统计服务中对数据,按照不同的维度生成相应的统计表数据。

业务埋点
我们也会根据订单、商品、客户,不同的维度去进行统计分析,这些业务方面的统计分析是上面客户端统计无法做到的,所以我们采用了如下方式进行统计。

流程图

ios网络埋点 native埋点_白名单_02

实现思路

1、通过实时ETL方案来进行相关业务数据的迁移;

2、通过Canal来监听业务数据库表的从库的binlog日志;

3、通过mongoDB 的oplog日志来监听业务数据库表的日志;

4、日志通过kafka消费到相应的统计库;

5、将对应的日志数据解析后存入到统计库中不同的表中作为源数据;

6、根据不同的统计维度对数据进行统计汇总。

注意

以上介绍了两个方面的埋点,流量埋点和业务埋点,虽然对代码侵入低,但还是埋点做得不够全面,比如因为订阅从库的日志,无法监听用户的某些行为,或者是从哪个端请求等等。有需要的可以在微服务层面进行改造,比如在每个微服务进行编码统计。