从 Google Analytics 4 导入
两种方式将 GA4 数字导入此处:每日汇总用于了解 MousePlayer 究竟覆盖了多少流量;BigQuery 导出的单个 GA4 会话用于查看未能录制的访问。
1. 导入什么,不导入什么
两条路径都从 您的 Google 账户读取,且分别启用。它们回答不同的问题,无需同时启用。
| 路径 | 获取的内容 | 用途 |
|---|---|---|
| Data API | 每日汇总:会话数、用户数、页面浏览数、互动会话数 | 了解覆盖率。GA4 统计了 3,000 次会话,MousePlayer 录制了 40 次——没有参考数字,甚至无法发现差异。 |
| BigQuery 导入 | 单个 GA4 会话及其事件 | 了解 MousePlayer 未能录制的访问中发生了什么。 |
导入的会话无法回放。 GA4 不保留页面快照或鼠标移动,因此没有可用于构建回放的内容。得到的只是录制旁的数字与事件,仅此而已,我们不会将其描述为更多。
导入数据存于独立的表, 绝不混入录制。否则每个派生数字的含义都会悄悄改变——行为画像、访客估值、摩擦分析——之后没人能说清哪条记录是测得的,哪条是获取的。
2. 路径 1:Data API
需要两样东西:媒体资源 ID 和服务账户密钥。
媒体资源 ID 不是衡量 ID
这是最常见的失败原因,而 Google 自己的错误消息并未指出这一点。 衡量 ID 的形式类似 G-ABC123XYZ,位于跟踪代码片段中,处处可见。 媒体资源 ID 则是纯数字,仅出现在管理区域的“管理,媒体资源设置”中。需要的是后者;我们会拒绝前者并给出提示,避免您遇到 400 错误。
创建服务账户并授权
- 在 Google Cloud 控制台中创建服务账户,并生成 JSON 密钥。
- 在同一项目中启用 Google Analytics Data API。
- 在 GA4 的“管理,媒体资源访问权限管理”中,将服务账户的电子邮箱地址添加为 查看者。服务账户本身就是一个独立用户;缺少这一步,Google 会返回 403,却不解释原因。
将 JSON 文件内容粘贴到字段中。它会加密存储,此后仅以缩略形式显示。
3. 路径 2:BigQuery 导入
此路径读取 GA4 原始导出。需先在 GA4 中配置一次:“管理,BigQuery 关联”。 表要到次日才会出现 ——在此之前导入找不到内容,这不属于故障。
需要填写什么
- 导出所在的 GCP 项目 ID 。它不一定与导出 MousePlayer 数据所用的项目相同。
- 对应的 数据集 ID。GA4 将其命名为
analytics_<propertyId>。 - 服务账户密钥,其在数据集上需有 BigQuery Data Viewer 权限,并在项目中有 BigQuery Job User 权限。读取权限足够,请勿授予更多权限。
费用与承担方
BigQuery 按 读取的字节数计费,账单由您承担。因此,每次导入仅读取几天的数据,而且始终只运行一次查询——第二次会再次读取相同的表。此外,硬性上限会在查询变得昂贵 之前 中止查询;发生时,投递日志会提示时间窗口过大。
运行频率
默认每六小时一次,每次重新获取最近三天。这并非随意设定:GA4 最多会回填 48 小时的数据,且每日导出在次日才出现。提高请求频率不会得到更新的数字,只会得到相同数字。
4. 连接两端的标识
如果同时将 分析桥接 设为 GA4,MousePlayer 会在每个会话中记录 _ga Cookie 的客户端 ID。这与 BigQuery 导出中的以下值完全相同: user_pseudo_id。
凭借它,可将 GA4 会话匹配到某个录制;反过来,也能看到同一次访问中 GA4 统计了什么。没有桥接,两边只是并排存放,互不关联。
如果使用 setUserId(),同一字段也会承载您自己的客户标识符。两者不可兼有:其中存的要么是 Google 客户端 ID,要么是您自己的编号。
5. 同意、保留与删除
导入的内容使用过 Cookie
仅导入包含 user_pseudo_id 的记录。访客拒绝时,GA4 在 Consent Mode 下发送不含 Cookie 的命中数据,其中没有此值,因此自然被排除,无需任何人作出保证。建模的、即估算的记录也因同一原因被排除:把估算存为会话,就意味着存储从未发生过的访问。
保留多久
默认 180 天,从记录所描述的日期起算,而非从导入时刻起算。否则期限永远不会届满,因为每次运行都会重新获取相同日期。
删除
访客请求删除其数据时,只要能通过上述标识符归属,其导入的 GA4 会话也会一并删除。如果删除项目,则无论如何都会删除,包括从未属于任何录制的记录。每日录制保留清理有意不处理这些数据:GA4 数据遵循自己的期限,而录制更早到期。
6. 没有收到数据时
每次运行都将结果写入集成页面的投递日志,包括失败,且使用清楚的语言。通常其中已经说明缺少什么。
| 消息 | 处理方式 |
|---|---|
| 媒体资源 ID 必须为纯数字 | 输入的是衡量 ID。正确编号位于 GA4 的媒体资源设置中。 |
| Data API 返回 HTTP 403 | 服务账户不是 GA4 媒体资源的查看者,或 GCP 项目未启用 Data API。 |
| 未找到数据集或导出表 | 缺少 BigQuery 关联、数据集名称不同,或尚未过一天。 |
| 访问被拒绝(BigQuery) | 服务账户缺少数据集上的 BigQuery Data Viewer 权限,或项目中的 BigQuery Job User 权限。 |
| 查询将读取过多数据 | 费用上限在产生任何账单前已中止查询。请选择更小的时间窗口。 |
| 时间窗口内没有会话 | 不是故障。获取的日期内没有已同意的会话。 |