埋点与数据采集:事件设计与隐私边界
今天只增加足够回答“用户有没有成功拿到报告”的数据,不收集用户写了什么。完成后,你会有一份四行事件字典、一条可调试的报告事件和一次不含原文的测试记录。
如果要在GA里跟做,需要已有GA4测试属性、网页数据流、已按你的隐私选择流程加载的Google tag,以及修改教学站脚本的权限。没有这些条件,也可以先在本地写好字典和参数,避免为本课把正式站点采集配置改乱。
先复制这四行字典
本例围绕行李清单文案检查,一条报告要有建议改写和问题列表。事件按动作发生的位置分工:
| 名称 | 触发时刻 | 最少属性 | 由谁确认 |
|---|---|---|---|
| example_opened | 示例区真实打开 | example_id | 浏览器 |
| check_submitted | 通过基础验证并提交任务 | input_type,request_id | API任务入口 |
| report_completed | 报告完整保存成功 | report_id,duration_bucket | API任务完成处 |
| report_viewed | 本人成功加载报告内容 | report_id,report_type | 浏览器或服务端读取处 |
request_id、report_id采用随机不透明标识,不能编码邮箱、原文或用户姓名。浏览器点击按钮时不提前报report_completed。任务重试时沿用同一任务标识,完成事件由唯一任务完成记录发出,防止重复统计。
Google事件设置说明给出gtag('event', name, params)的调用方式与调试入口。自定义事件先服务于明确问题,不必给页面上每一个鼠标移动都起名。
把一条“坏事件”改成可用事件
假如有人准备把下面的内容发送给分析平台,先停下来修改:
{
"event": "report_viewed",
"email": "user@example.com",
"draft": "包含用户原始文案的整段内容",
"page_title": "某位客户的未发布App名称"
}
改成这样就足够分析报告有没有被打开:
{
"event": "report_viewed",
"report_id": "demo-report-001",
"report_type": "app_description",
"language": "en",
"input_length_bucket": "101_500"
}
长度只取区间,报告正文留在受访问控制的业务数据库中。Google避免PII的说明还提醒检查页面URL与标题:即使事件属性删掉了邮箱,URL里有?email=...也会泄露。报告路由使用随机ID,并配置对私有页面路径、查询参数和标题的采集规则。
在测试页发送一次报告查看事件
确认页面已按预期加载测试属性Google tag后,在你自己的教学页中,将下面的调用绑定到“报告内容确实加载成功”的位置。这里使用的是示例标识,实际报告替换成不透明ID:
gtag('event', 'report_viewed', {
report_id: 'demo-report-001',
report_type: 'app_description',
language: 'en',
input_length_bucket: '101_500',
debug_mode: true
});
打开测试属性的 DebugView,按官方事件设置页的调试说明查看事件。你应找到report_viewed,展开后只看到上述属性,没有用户原文、邮箱和整段模型提示。若找不到,先核对属性、调试模式、网络请求和同意状态,不在生产页重复点击制造噪声。
刷新一次报告,可能出现第二次report_viewed,这是两次查看;统计看过报告的人时按身份去重。report_completed则不应随页面刷新再次发送,因为它属于后台任务保存成功那一刻。
购买使用推荐事件,业务订单仍由后台保存
打开GA电商事件文档,可以看到结账、购买与退款有现成事件与参数。配图中的推荐事件说明也用来区分“开始结账”和“完成购买”,无需另起payment_button_clicked_success一类含糊名字。
购买事件带订单标识、币种与实际金额,并从后台确认付款的结果生成,或让受控成功页读取已确认的订单后上报分析事件;不要把URL参数中的paid=true当作购买凭据。后台还保留订单事实,分析平台被拦截或延迟时,不影响发放与对账。
正式上报的字段按所选集成实现,客户端与服务端不能各自无规则地报一遍同一购买。先用一笔测试订单查分析事件和后台订单是否都只对应这笔购买,再扩大采集。
留下这份完成记录
你可以按本例填写自己的调试结果:
测试:打开demo-report-001
预期事件:report_viewed
预期属性:报告类型、语言、长度区间、不透明报告ID
不应出现:邮箱、完整文案、提示词、私人页面标题
检查处:GA测试属性DebugView + 浏览器网络请求
完成结果:实际检查后记录时间与看到的事件
若产品支持拒绝可选分析,拒绝后再完成一次检查:报告照常生成,可选事件按选择不发送。这样采集服务于产品观察,用户完成文案任务不需要被迫提交额外分析资料。
保存四行字典,后续每增加一个事件先说明它能回答哪个问题。你现在已经知道该观察“报告已完成”和“报告被查看”之间的差距,同时没有把客户文案复制进分析工具。