使用 Avo 改进我们的前端跟踪
Source: Dev.to
概览
本文阐述了我们如何使用 Avo 📊 在 Super 重构产品分析前端追踪。长期以来,我们依赖 Google 表格记录前端事件,导致所有权不清晰、模式不一致、在 Segment 中进行缓慢且手动的 QA。随后我们迁移到 Avo 的 Tracking Plan 和 Inspector,拥有了唯一真实来源、与开发者一起的分支与同行评审流程,以及自动化校验。
➡️ 结果: 数据更干净、调试更快、数据与工程团队协作更加顺畅 ✅。
介绍
准确的追踪对于可靠的数据监控至关重要。它帮助我们确认新发布的功能是否如预期工作、定位并修复 bug、以及优化关键用户路径——例如 Super Credit 申请的漏斗。
当追踪出错时,症状可能包括:
- 事件缺失
- 属性缺失
- 属性值拼写错误
- 发送了重复事件
但根本原因几乎总是相同的:文档不完善或缺失。
我们之前的方案:Google 表格作为追踪计划 📄
直到最近,我们记录前端追踪的主要方式是 Google 表格。每当有新功能时,我们会新建一个文档或在已有文档中添加一个新标签页,列出所有需要追踪的事件。
有效之处
- 简单且大家熟悉。
- 数据团队可以快速创建新表并共享。
数据团队职责
- 创建并维护事件列表。
- 在需要新前端追踪时将其发送给开发团队。
主要痛点 ⚠️
- 版本管理差: 难以看出事件何时被删除或更新,以及原因。
- 所有权不明确: 任何人都可以编辑表格,修改常常不被注意。
- 审查流程薄弱: 在将规范发送给开发者之前,没有明确的“分支”或同行评审流程。
- 缺乏自动校验: 在 Segment 调试器中进行手动、耗时的检查,尤其是对 Super Credit 等复杂功能尤为痛苦。
- 缺少统一支持: 没有强制属性复用或一致命名,导致模式混乱。
正是由于这些限制,我们决定寻找更好的方案。
探索替代方案并发现 Avo
我们曾考虑使用 JSON 文件记录追踪事件,并利用 GitHub 进行版本控制、分支和审查。这种方式免费且结构更好,但会偏向开发者,非工程人员使用体验不佳。
经过一番调研,我们发现了 Avo,这是一款专注于前端追踪模式管理、可观测性和监控的工具。
Avo 提供两个主要组件:
- Tracking Plan
- Inspector
Tracking Plan:唯一真实来源 📘
Tracking Plan 是我们在 Avo 中定义所有通过 Segment 从前端发送的事件的地方。事件可以按类别组织,例如:
- App 事件
- Super Credit
- 商户结账
每个事件包含:
- 对触发时机的清晰定义
- 需要发送的属性列表(如
brandId、pageName、memberId) - 这些属性的允许值和格式(如适用)
Avo 的改进之处
- ✅ 唯一真实来源: 所有前端追踪规范集中在一个结构化位置,而不再分散在多个 Google 表格中。
- ✅ 分支与审查: 添加或更新事件通过分支完成,类似开发工作流。贡献者创建分支,同行审查后交给开发者实现,最终合并到主追踪计划。
- ✅ 更好的版本管理: 轻松查看事件何时被创建、修改或归档。
- ✅ 一致性与统一: 鼓励统一的事件命名和属性复用,使属性值在各功能间保持一致。
Inspector:自动验证实现 🔎
Inspector 将 Segment 与 Avo 连接,使 Avo 能够:
- 读取前端发送的事件
- 将其与 Tracking Plan 中的定义进行比对
好处
- 检查事件是否已正确实现 🤝
- 捕捉属性名称或值的拼写错误
- 确保所有必需属性均按定义发送
- 用更快、更系统的流程取代 Segment 调试器中的手动 QA。
我们当前的 Avo 使用方式
我们在 Super Credit 功能的上下文中开始使用 Avo,已经:
- 改善了数据团队与开发者之间的协作
- 让前端追踪规范的审查与完善更为便捷
- 帮助我们更快、更高效地定位并修复追踪 bug
我们目前使用的是 Avo 的免费版,存在以下限制:
- Inspector 每月可分析的事件量上限(当前为 100,000 条)
- 部分付费功能尚未开放
是否升级到付费版仍在评估中。
我们也在迁移遗留的前端追踪文档。约 80% 与前端结账和 Webflow(包括 Super Credit)相关的事件定义已从 Google 表格迁移至 Avo。下一步是完成应用相关前端事件的迁移。
结论 🎯
总体而言,我们对 Avo 的使用体验非常积极。它友好易用,为我们节省了大量时间,并提升了数据团队内部以及数据与开发之间的协作。
通过从临时的 Google 表格转向专业的模式管理与可观测性工具,我们使追踪更可靠、调试更迅速、分析更可信——这最终帮助我们以更大的信心构建和改进像 Super Credit 这样的功能。


