更新时间:2025年6月16号
认识BigQuery
BigQuery是Google Cloud提供的一项完全托管的 企业级大数据分析服务,它使用户能够在极其庞大的数据集上运行SQL查询,并进行快速、高效的数据分析。
你可以将Google Analytics 4(GA4)中的所有原始数据导出到BigQuery,然后使用类似SQL的语法查询该数据。
关联导出数据前提是:
- GA4媒体资源编辑者的权限
- BigQuery项目拥有所有者访问权限
- 存储费用:根据数据存储量计费。对于长期存储的数据,费用较低。
- 查询费用:基于查询扫描的数据量计费。
GA4关联BigQuery设置
接下来看关联,先在Google API控制台创建项目,然后在到GA4关联BigQuery。
创建项目
在Google API控制台,点击项目(在左上角),然后点击「创建项目」去创建一个项目。
开启BigQuery API
在Google API控制台里的API 和服务,中搜索“BigQuery”,然后开启BigQuery API:
打开「IAM和管理」,将firebase-measurement@system.gserviceaccount.com添加为成员:
GA4关联BigQuery关联
在GA4中点击「管理」——「BigQuery关联」——「关联」,进入设置界面:
就分为三步:
选择一个BigQuery项目
点击「选择一个BigQuery项目」,可以看到你的谷歌ID满足服务权限要求的所有项目ID:
选择一个项目,然后点击右上角的「确定」。
然后是设置数据存储位置:
需要注意,大陆是没有服务器,但香港和台湾有。
配置设置
配置设置主要是配置数据流和事件和设置频率。
配置数据流就是确定哪个数据流要导入到BigQuery,还可以设置排除某个事件,就是某个事件不导入:
GA4导出数据规模(事件数)的限制:
- 免费版GA4,每天可以导出100万个事件,超过暂停处理数据(但会有一次豁免的机会,也就是超过了,仍然可以正常导出)
- 付费版GA4,每天可以导出10亿个事件
频率其实就是设置导方式,分为两种:
- 每日导出:按天导出,表格名为events_YYYYMMDD,隔天导出数据,误差在2%,表格数据最长72小时内还会更新,所以72小时内看到的数据可能会不同的
- 流式导出:实时导出,这是内部临时表,表格名为events_intraday_YYYYMMDD,需要项目开启结算功能才可以选择流式导出。如果要获取GA4实时数据,就需要选这种,延伸阅读:GA4中如何获取真正的实时数据?
你在BigQuery里看到的就是这样的:
event_(58)表示存储了的数据。
检查并提交
设置没问题,在Review一下,就可以提交。
如何用SQL查询所需数据
我是推荐两种方式获取基本的SQL,在此基础上做修改,效率比较快:
- 第三方工具GA4SQL
- AI,如ChatGPT
方法一:使用GA4 SQL在线生成工具(推荐入门)
如GA4SQL,这是一个在线的GA4 SQL转化工具,专门用于生成常见分析场景下的查询语句。
在左侧选择所需的维度,指标、过滤器等,完成选择后,右侧会自动生成对应的BigQuery SQL,可直接复制到BigQuery控制台中执行。
优点
- 不需要熟悉GA4的底层表结构
- 对新手非常友好
- 覆盖了大多数常见GA4分析场景
- 适合快速验证数据或做临时分析
方法二:使用AI生成GA4 BigQuery SQL
现在主流的AI工具(如ChatGPT、Copilot等)都已经具备生成SQL代码 的能力。
你只需要明确描述需求,AI通常可以直接生成一份可运行的GA4 SQL查询语句
优点
- 灵活度高
- 可根据业务逻辑定制(如去除内部流量、测试流量)
- 适合进阶用户或分析师
常见问题
BigQuery导入时间
一般是第二天的早上导入,有时候会延时,晚上才导入。
BigQuery数据只保留60天
免费版的BigQuery默认只保留60天,如要保留更长时间,请升级付费版。
GA4的数据与BigQuery不一致
有两个原因:
- 1、因为使用Consent Mode,即时用户拒绝了跟踪,仍然会发送ping,GA4是基于ping的数据建模计算出来,而Bigquery是真实的ping数据计数计算,所以不同。
- 2、有些指标是估算或有特定的计算逻辑,如会话数、活跃用户数和用户总数
BigQuery的限制
BigQuery导入数据对每天导入的数据规模是有限制的,每天限额是100万事件数,也就是一个月最多3000万。
BigQuery里没有年龄、兴趣的数据
BigQuery里的数据是定位到个体,为保护用户的隐私,没有年龄和兴趣的数据。
BigQuery里丢失很多数据
首先考虑GAP的合理性,Google对免费版是没有SLA承诺,会有一定的GAP,低于2%考虑是合理范围。
其次考虑限额:如免费版的BigQuery每天最多导出100万,存储只有10G
最后考虑Bug,这是一个已经知道的问题,延伸阅读:https://issuetracker.google.com/issues/369533075













