一套前端埋点、元数据管理、数据查询的解决方案
提供了Docker开发环境
docker-compose up -d
eventType表示某个事件的类型
export const EVENT_TYPE = {
pv: 1, // 访问
click: 2, // 点击
duration: 3, // 页面停留
exposure: 4, // 元素曝光
logic: 5 // 逻辑埋点
}
不同eventType对应的eventValue不同
eventType | eventValue |
---|---|
访问 | 无 |
点击 | 点击元素的名称 |
停留 | 停留时长 |
曝光 | 曝光元素的名称 |
逻辑埋点 | 对应的描述key |
每条事件都会携带 系统级别 的公共参数,如设备型号、上报时间、运行环境等
按前端页面的维护来管理事件,一个页面可能包含多种事件,每种事件可能包含1个或多个
- 访问该页面,数量为1
- 点击该页面的某个按钮,数量为N
- 用户在该页面的停留时间,数量为1
- 该页面某个弹窗的出现曝光次数, 数量为N
- 用户在该页面进行了某个行为过程中需要记录一下逻辑流程,数量为N
在实际业务中,一个页面上报的所有事件,一般会携带一些公共参数,比如页面id、页面来源utm_source等,因此提供了 页面级别 的公共参数配置
对于单个事件而言,除了系统级别和页面级别的公共参数之外,可能还会携带一些业务相关的独立参数,因此每个事件还可以配置独立的元数据配置
基于这个约定,我们可以收集每个页面的埋点,然后汇总在一起,这样每个页面可以查哪些数据,就一目了然
还有一种特殊的事件,可能在多个页面触发。 eg:一个活动弹窗,可能会在数个页面触发曝光和点击事件
如果在每个页面都去配一次这个页面,无疑十分繁琐。基于这种场景,提供了事件模板的配置。
其配置单个事件保持一致,唯一的区别是增加了页面的多选项,可以选择当前事件生效的页面
保存之后前往对应的页面,也可以在页面的事件列表中看见该事件
除了无法在页面编辑处修改之外,与常规的事件没有任何区分
本章节相关字段待定
有时候,在单次会话期间,需要关注某个页面的访问来源,在非web的环境下,referer并不足以实现收集页面来源的功能,因此需要开发者自己实现
可以将来源分为应用内部来源和应用外部来源
对于外部来源
utm_source
,用于追踪页面外部来源,比如通过第三方广告平台投放的广告,跳转到某个落地承接页,承接页会上报该数据utm_campaign
,外部投放的广告名称
对于内部来源
from_page
,用于追踪页面内部来源,比如从页面A跳转到了页面B,页面B会上报该字段的内容为页面Afrom_pos
,从来源页面的某个位置跳转过来
看起来直接查日志记录就可以进行会话追踪了