首页 > 解决方案 > 将 Google Analytics 数据提取到 S3 或 Redshift

问题描述

我正在寻找将 Google Analytics 数据(以及历史数据)引入 Redshift 的选项。欢迎任何关于工具、API 的建议。我在网上搜索并发现 Stitch 作为 ETL 工具之一,如果您有,请帮助我更好地了解此选项和其他选项。

标签: google-analyticsamazon-redshiftetlgoogle-analytics-firebasedata-ingestion

解决方案


Google Analytics 有一个 API(核心报告 API)。这有利于获得偶尔的 KPI,但由于 API 限制,它不适合导出大量历史数据。

对于大数据转储,最好使用 BigQuery 的链接(“链接”,因为我想避免使用“集成”这个词,这意味着比您实际拥有的控制级别更高)。

设置 BigQuery 的链接相当简单 - 您在Google Cloud Console中创建一个项目,启用计费(BigQuery 需要付费,它不是 GA360 合同的一部分),将您的电子邮件地址添加为“IAM&Admin”中的 BigQuery Owner部分,转到您的 GA 帐户并在 GA 管理部分“属性设置/产品链接/所有产品/BigQuery 链接”中输入 BigQuery 项目 ID。此处描述了该过程:https: //support.google.com/analytics/answer/3416092

您可以在标准更新和流媒体更新之间进行选择——后者需要额外付费,但可以为您提供近乎实时的数据。前者每八小时每天更新三次 BigQuery 中的数据。

导出的数据不是原始数据,这已经是会话化的(即,虽然每次点击都会得到一行,但该点击的流量归因将是基于会话的)。

您将支付三种不同的费用 - 一种用于导出到 BigQuery,一种用于存储,另一种用于实际查询。此处记录了定价:https ://cloud.google.com/bigquery/pricing 。

定价取决于地区等。在涉及法律事务时,存储数据的区域可能也很重要——例如,如果您必须遵守 GDPR,您的数据应存储在欧盟。确保您获得正确的区域,因为在区域之间移动数据很麻烦(您需要将表导出到 Google Cloud 存储并在适当的区域重新导入它们)并且有点昂贵。

您不能只删除数据并进行新的导出 - 在您第一次导出时,BigQuery 将回填过去 13 个月的数据,但每次视图只会执行一次此操作。因此,如果您需要历史数据,最好正确处理,因为如果您删除 BQ 中的数据,您将无法取回它。

我实际上对 Redshift 了解不多,但根据您的评论,您希望在 Tableau 中显示数据,并且 Tableau 直接连接到 BigQuery。

我们使用自定义 SQL 查询将数据导入 Tableau(Google Analytics 数据存储在日常表格中,自定义 SQL 似乎是在许多表格中查询数据的最简单方法)。BigQuery 有一个基于用户的缓存,只要查询不发生变化,它就会持续 24 小时,因此您无需在每次打开报表时都为查询付费。密切关注成本仍然是一个好主意 - 成本不是基于结果大小,而是取决于必须搜索以产生所需结果的数据量,所以如果您在很长一段时间内查询,也许做几个join 单个查询可能会跑到几十欧元(乘以使用查询的用户数量)。


推荐阅读