其他
有赞埋点实践
一、前言
二、事件模型
who 访客标识、设备指纹、登录ID
when 事件发生时间、上报时间
where 设备环境、网络环境、业务环境等
what 事件标识、事件参数
三、采集方式
3.1 无痕埋点(或全埋点)
页面的url、APP的包名等 点击元素的xpath路径、title或约定的dom元素
前端接入成本低,不需要额外开发 用户动作收集完整,不会漏失
有用、没用的数据都会收集 无法采集到特殊的行为动作、业务参数 采集到的信息需要进行二次标注,才可以被用户识别 当按钮的位置不固定、名称存在重复或页面重构时,无法做到准确的标识
3.2 代码埋点
事件标识明确 业务参数丰富 事件的触发方式可以灵活自定义 分析更方便、精确
前端代码的开发、管理成本 只能收集到事件上线之后的数据
四、埋点sdk
访客标识管理 会话管理 环境参数默认收集 参数的生命周期管理 默认事件的收集 跨端的sdk通信(如app嵌套h5页面) 内部业务的特殊处理逻辑 日志的格式化、合并、生命周期管理 日志的上报机制
SDK的初始化配置 事件怎么标识 事件需要哪些参数 事件如何触发
五、日志中间层
批量上报的日志拆分 日志模型的格式化处理 信息的二次加工和维度扩展 如IP、http_agent的解析等
异常流量的清洗 会话信息的补充 如落地页、二跳页、停留时长的计算
按业务拆分日志流和日志表
到这个阶段,有了通用的日志模型和sdk,埋点工作可以标准化的开展起来。但随着承接的业务越来越多,更多的问题在等待着我们。
六、位置追踪规范
业务 页面域(包括页面类型和页面id) 组件域(如图中红色部分,包括组件类型和组件序号) 展位域(如图中绿色部分,包括展位标识和展位序号)
七、埋点管理平台
登记格式无法统一,关键信息容易缺失 事件查找不便,分析同学不知道已有哪些事件 迭代更新事件无法合并,同时存在多份信息 开发进度、测试进度无法监控 埋点质量问题无法快速对接
埋点元数据的管理及开放能力 埋点流程的管理能力
埋点的自动测试 埋点的自助分析 埋点的开发提示 埋点的质量监控
7.1 埋点元数据管理
业务
、 页面
、 组件
、 展位
、 事件
业务:由业务类型(微商城、零售等)和SDK类型(js/小程序/android/ios/java)唯一确定。页面、组件、展位、事件等属于且仅属于一个业务。 页面:具有相同页面结构的一类网页或者移动端页面。 组件:页面内的区块,也包括跨页面的可复用区块。 展位:组件内最细粒度的坑位,有三种位置标识,即递增(顺序排列)、固定(特定的位置)和正则标识(复杂布局)。 事件:埋点基本单元,对应用户的一个动作,比如进入页面、点击按钮、商品曝光等,每个事件还可以定义独有的参数。按其归属,可以分为全局事件、页面事件和组件事件。
7.2 项目流程管理
7.3 埋点测试
测试用户输入项目和用户标识,在线测试模块会将用户标识存储到redis中 校验任务消费实时日志,并定时同步埋点元数据和用户标识集合,以此校验日志并收集到埋点平台中 将收集到的实时日志返回给用户 项目已测试的事件进行汇总,生成概览数据
日志检测项
日志格式是否标准 通用业务参数是否收集完整 业务、页面、组件、事件是否登记 事件参数是否缺失,格式是否符合要求
测试结果
项目测试概览
用户标识
7.4 质量监控
开发同学误修改一段代码,导致线上埋点事件丢失,很长一段时间后,运营同学发现某个指标波动异常,逐层查询,最终定位问题,但这期间的数据已无法恢复。
详细内容将在下篇埋点分享中介绍
7.5 埋点分析
查询某个事件按一定维度pv/uv的指标或接口,分析多个行为的转化漏斗,某类渠道的归因分析
详细内容将在下篇埋点分享中介绍
八、埋点开发流程
PM在PRD中明确数据需求,给出指标的定义、获取指标的方式等。 PM确认开发资源及排期(前端、分析同学) 相关同学设计并在平台上登记埋点方案,设计完成后前端、分析同学对埋点方案进行评估 前端同学根据埋点方案进行开发 开发完成后,前端和PM对埋点进行测试,确保上线前所有事件均测试通过 分析同学提前准确代码,埋点上线后第一时间产出相关指标 若相关同学接收到埋点平台报警时,需要及时处理问题并反馈影响
核心业务流程中的埋点仍由数据组介入管理,需要严格保证其质量。
九、埋点底层框架
十、未来展望
更加友好的平台引导,让不懂埋点的小白用户能快速上手 前端开发效率提升,sdk与前端框架结合,可视化、配置化埋点 降低sdk上报的丢失率 全端的用户日志快捷查找,提升测试和排查问题效率 更智能的质量管理,快速定位和解决埋点问题 实时日志中间层与业务域的维度扩展 无痕埋点的页面自动归类标识 分析效率提升,与指标库打通,以及更易用的转化和归因模型来快速定位问题 支持算法ABTest实验分析
大数据开发平台(Data Platform)在有赞的最佳实践 有赞数据仓库元数据系统实践 How we redesigned the NSQ - 其他特性及未来计划 HBase 写吞吐场景资源消耗量化分析及优化 有赞大数据平台安全建设实践 Flink 在有赞实时计算的实践 SparkSQL 在有赞的实践 Druid 在有赞的实践 实时计算在有赞的实践-效率提升之路 DataX在有赞大数据平台的实践 Flink 滑动窗口优化