将 Google 分析数据提取到 S3 或 Redshift

Ingesting Google Analytics data into S3 or Redshift

我正在寻找将 Google 分析数据(以及历史数据)提取到 Redshift 中的选项。欢迎任何有关工具的建议,API。我在网上搜索并发现 Stitch 是 ETL 工具之一,帮助我更好地了解此选项和其他选项(如果有)。

Google Analytics 有一个 API (Core Reporting API)。这对于偶尔获得 KPI 很有用,但由于 API 限制,它不适合导出大量历史数据。

对于大数据转储,最好使用 BigQuery 的 Link("Link" 因为我想避免使用 "integration" 这个词,它意味着比您实际拥有的控制级别更高).

为 BigQuery 设置 link 相当简单 - 您在 Google Cloud Console, enable billing (BigQuery comes with a fee, it's not part of the GA360 contract), add your email address as BigQuery Owner in the "IAM&Admin" section, go to your GA account and enter the BigQuery Project ID in the GA Admin section, "Property Settings/Product Linking/All Products/BigQuery Link". The process is described here: https://support.google.com/analytics/answer/3416092

中创建一个项目

您可以 select 在标准更新和流式更新之间选择 - 后者需要额外付费,但可以为您提供近乎实时的数据。前者每 8 小时每天更新 BigQuery 中的数据 3 次。

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

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

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

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

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

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

scitylana.com 有一项服务可以将 Google Analytics 免费数据传送到 S3。 您可以获得 3 年或更长时间。

提取是通过 API 完成的。模式是命中级别并且有 100+ dimensions/metrics。 根据您认为的数据量,我认为这也可以用 GA360 完成。

另一种选择是使用 Stitch 自己的规范 singer.io 和相关的开源包:

您使用它们的方式是将数据从管道传输到另一个:

tap-google-analytics -c ga.json | target-redshift -c redshift.json