第 1 步:创建 Google API 控制台项目并启用 BigQuery
- 登录 Google Cloud 控制台。
- 创建新的 Google Cloud 控制台项目或选择现有项目。
- 找到 API 表格。
打开左上角的“导航”菜单,点击 API 和服务,然后点击库。 - 激活 BigQuery。
在“Google Cloud API”下,点击 BigQuery API。在随后出现的页面上,点击启用。 - 如果系统提示您阅读并接受服务条款,请按照提示操作。
第 2 步:针对 BigQuery Export 准备您的项目
您可以免费将 Google Analytics 数据导出至 BigQuery 沙盒(有沙盒限制)。
不妨详细了解如何从沙盒升级以及 BigQuery 价格。
第 3 步:将 Google Analytics 4 媒体资源与 BigQuery 相关联
完成前两个步骤后,您就可以从 Google Analytics“管理”标签页启用 BigQuery Export。
BigQuery Export 与 Google Analytics 受到同样的收集和配置限制。如果您需要提高限制,可以将媒体资源升级到 360。
- 在 管理页面中在“产品关联”下,点击BigQuery 关联。
上一个链接会打开您上次访问的 Google Analytics 媒体资源。您可以使用媒体资源选择器来更改媒体资源。
- 您必须是编辑者或更高级别的用户在媒体资源层级将 Google Analytics 媒体资源与 BigQuery 相关联。
- 此外,您还必须使用对 BigQuery 项目有所有者访问权限的电子邮件地址(请参阅下文中的权限部分,详细了解访问权限相关要求)。
- 点击关联。
- 点击选择一个 BigQuery 项目,以列出您有权访问的项目。
如果您已经(或计划)将 Google Analytics 关联至 Firebase,可以考虑将数据导出至同一 Cloud 项目,这有助于更轻松地与其他 Firebase 数据联接。 - 从列表中选择项目,然后点击确认。
- 为数据选择一个位置(如果您的项目已有用于 Google Analytics 媒体资源的数据集,则无法配置此选项)。
- 点击下一步。
- 选择配置数据流和事件,以选择要纳入到导出范围内的数据流和要在导出内容中排除的特定事件。若要排除事件,您可以点击添加,从现有事件列表中进行选择;也可以点击按名称指定事件,按名称选择现有事件或指定尚未在该媒体资源上收集的事件名称。
- 点击完成。
- 如果您想将广告标识符纳入到导出范围内,请选择对于移动应用数据流,将广告标识符纳入到导出范围内。
- 选择每天(一天一次)导出数据或流式(连续)导出数据,或者同时选中这两项。对于 Analytics 360 版媒体资源,您还可以选择每天更新。
- 点击下一步。
- 检查设置,然后点击提交。
权限
项目 getIamPolicy/setIamPolicy 权限,服务 get/enable 权限
OWNER
是这些权限的超集。若要创建 BigQuery 关联,您必须至少具备以下权限:
resourcemanager.projects.get
- 获取项目
resourcemanager.projects.getIamPolicy
- 获取权限列表
resourcemanager.projects.setIamPolicy
- 检查用户是否有权为相关项目创建关联
serviceusage.services.enable
- 启用 BigQuery API
serviceusage.services.get
- 检查 BigQuery API 是否已启用
验证服务账号
在您将 Google Analytics 与 BigQuery 相关联的过程中,系统会创建以下服务账号:
firebase-measurement@system.gserviceaccount.com
请确认已将该账号添加为项目成员,并授予了 BigQuery User (roles/bigquery.user) 角色。
如果您之前已设置 BigQuery Export 来为服务账号授予 Google Cloud 项目的 Editor 角色,可以将该角色降为 BigQuery User。若要更改服务账号的角色,您需要先解除 Google Analytics 与相应 BigQuery 项目的关联,然后再重新关联。首先解除 Google Analytics 与 BigQuery 的关联,并移除具有 Editor 角色的服务账号。然后,按照上文中的说明重新关联 Google Analytics 和 BigQuery,为该项目创建具有正确权限的新服务账号。
重新关联后,请确保服务账号对现有导出数据集具有 Owner (bigquery.dataOwner) 角色。为此,您可以查看数据集的访问权限政策。
更改地区
如果您选择的区域有误,在创建关联后需要更改区域,请执行以下操作:
- 删除与 BigQuery 之间的关联(请参阅下文)。
- 将数据备份到 BigQuery 中的其他数据集(迁移或复制)。
- 删除原始数据集。记下数据集的名称:下一步操作中将会用到该名称。
- 创建一个与您刚刚删除的数据集同名的新数据集,然后为数据选择一个位置。
- 与 firebase-measurement@system.gserviceaccount.com 共享新数据集,并向服务账号授予 BigQuery Data Owner 角色。
- 将备份数据复制到新的数据集。
- 重复上述流程,与 BigQuery 建立新的关联。
更改位置后,您的数据会出现缺口:系统不会处理在删除现有关联后到创建新关联之前产生的数据流以及每日导出的数据。
删除与 BigQuery 之间的关联
- 在 管理页面中在“产品关联”下,点击BigQuery 关联。
上一个链接会打开您上次访问的 Google Analytics 媒体资源。您可以使用媒体资源选择器来更改媒体资源。您必须是编辑者或更高级别的用户在媒体资源层级删除与 BigQuery 之间的关联。
- 点击关联所对应的行。
- 依次点击右上角的 > 删除。
BigQuery Export 限制
标准 GA4 媒体资源的 BigQuery Export 上限为每日(批量)导出 100 万个事件。流式导出的事件数量不受限制。如果您的媒体资源持续超出导出上限,系统将暂停每日 BigQuery 导出,并且不会重新处理之前日期的导出。
对于 Analytics 360 版媒体资源,“每天更新”导出包含系统认为应在每天导出中出现的所有数据字段和列,包括观察到的用户归因和广告展示数据。详细了解“每天更新”导出。
媒体资源每次超出每日上限时,管理此媒体资源的媒体资源编辑者和管理员都会收到电子邮件通知。该通知会指出,如果不采取任何操作,导出将于何时被暂停。此外,如果标准版媒体资源大大超出每日上限(100 万个事件),Google Analytics 可能会立即暂停每日导出。如果您收到通知,请使用数据过滤选项(数据流导出和事件排除)减少每天导出的事件数量,确保每日导出可以继续进行。
详细了解 360 版媒体资源的更高限制。
数据过滤
您可以在导出内容中排除特定的数据流和事件,以限制导出数据的大小,或确保仅导出所需的 BigQuery 事件。
在关联过程中排除数据流和事件
在关联过程中选择要导出的数据流时,您还可以选择要在导出内容中排除的事件。详见关联流程中的第 9 步。
在配置关联后添加或移除数据流/事件
配置 BigQuery 关联后,您可以向排除列表添加数据流/事件,也可以从中移除数据流/事件。
- 在 管理页面中在“产品关联”下,点击BigQuery 关联。
上一个链接会打开您上次访问的 Google Analytics 媒体资源。您可以使用媒体资源选择器来更改媒体资源。
- 您必须是编辑者或更高级别的用户在媒体资源层级添加或移除数据流或事件。
- 此外,您还必须使用对 BigQuery 项目有所有者访问权限的电子邮件地址。
- 点击要修改其关联的项目所对应的行。
- 在“数据流和事件”下,点击查看数据流和事件。
- 在“要导出的数据流”下方,您可以选择要导出的其他数据流或从列表中移除现有数据流。
- 在“要排除的事件”列表中,点击添加,从现有事件的列表中进行选择,或者点击按名称指定事件,按名称选择现有事件或指定尚未在该媒体资源上收集的事件名称。
- 要从列表中移除某个事件,请点击相应行末尾的减号。
定价和结算
BigQuery 有两个按用量计费的项目:存储空间和查询处理量。您可以查看定价表,并了解交互式查询和批量查询之间的区别。
您需要在 Cloud 中提供有效的付款方式,才能继续进行导出操作。如果导出操作因付款方式无效而被中断,我们将无法重新导出相应时间段的数据。
您也可以免费将 Google Analytics 数据导出至 BigQuery 沙盒,但需注意有沙盒限制。
您何时能开始看到数据
完成关联后,数据将会在 24 小时内开始流向您的 BigQuery 项目。如果您启用“每天”导出频率,系统会每天导出 1 个内含前一天数据的文件(导出时间通常是在您为报告设置的时区的午后)。
关联失败的原因
关联 BigQuery 失败的原因可能有以下两种:
导出失败的原因
失败 | 原因 | 结果 |
---|---|---|
没有服务账号 | 您在 Cloud 项目中没有任何具有“活跃用户”角色的服务账号。 | Google Analytics 无法创建表。导出失败。 |
机器人账号在安装后被删除 | Cloud 账号的某位用户移除了 Google Analytics 安装的机器人服务账号。 | Google Analytics 无法再创建表。所有导出停止。 |
组织政策与 BigQuery Export 冲突 | Cloud 项目的某位用户创建了可防止 Google Analytics 导出数据的组织政策。该政策可能会阻止创建 BigQuery 表或将数据写入表。数据存储区域也受到该政策的影响。 | 表未创建或在创建后很快(大约 30 分钟)被删除。 |
用户更改结算设置 | Cloud 项目的某位用户将免费使用 BigQuery 改为付费使用。虽然流程可以正常进行,但可能会出现故障。例如,项目超过 10GB(沙盒限制)时可能出现故障。实际上,导出可能开始失败。 | 表未填充。 |
Cloud 项目超出配额 | Cloud 为大多数项目提供的资源都是有限的。您可能会超出 BigQuery 存储配额,超出之后便无法写入更多数据。请注意,对于免费项目而言,该配额较小 (10GB)。 | 表未填充。 |
用户更改媒体资源所在时区 | 导出会根据某个媒体资源所在的时区获取该媒体资源在 24 小时内的快照。如果时区更改,某一天的导出时间段可能会缩短或延长(例如,如果用户将时区从美国东部标准时间更改为美国太平洋时间,导出时间段会缩短 3 小时)。无论是哪种情况,用户都会发现事件数出现异常。 | 某一天的事件数出现异常。通常会让用户感到困惑。 |
支持
对于 BigQuery 问题(例如结算),请与 Google Cloud 支持团队联系。
相关资源
BigQuery Export
有关导出和访问示例数据集的信息,请参阅 BigQuery Export 文档。