我们日常的业务中,需要对用户行为分析,便需要在我们的系统中埋点,通常埋点方式分为几种:1、通用系统埋点;2、前端埋点;3、后端接口埋点;
无埋点
- 什么是“无埋点”?
无埋点并不是字面意思不埋点,其实也是一种埋点,只是让开发人员完全无感知,直接嵌入sdk,然后每个元素都能查看他们的情况,后续开发中也不需要开发者再做什么开发。总结就是嵌入之后,开箱即用,不用开发。
- 相关工具
Heap、国外主打的auto-capture
- 优势
数据通过SDK,“自动”、“全部”地抓取后,就存储在数据库里,任意获取,网站再升级迭代也不用二次埋点
- 劣势
1、数据量巨大,每个地方都上报数据的话,那么这个日志数据库将会存储过多的无用信息
2、数据存在误差,以WEB前端为例,文档通常是以DOM Tree的形式呈现,如下图所示,通过一个元素在DOM Tree中的位置,以及其自身的属性,我们就可以定位到某个元素。如果单页应用的话,dom结构就会动态变化,那么获取到的元素就会变更,日志还准吗?
前端埋点
每处埋点需要一个唯一标识,调用一次落数接口,传入需要的数据
后端接口埋点
后端埋点的话,多用于一些私密数据,直接在接口中埋点,这些数据无法传输到前端的
搭建一套埋点系统
要想规范埋点规则,最好是搭建一套通用埋点系统,然后只用申请自己的应用的点位,然后让开发绑定点位到具体的时机
遵循以下规则:
- 1、A位为系统应用的标识,理解成系统的id
- 2、B位为
该系统A
的某个页面的标识 - 3、C位为
该系统A.该页面B
的某个区块 - 4、D位为
该系统A.该页面B.该区块C
的某个按钮或其他元素
只需要在系统中创建好这次系统要落数的点位,然后绑定到落数的时机,就好了