Skip to main content

Google Analytics 4 (GA4)

This page contains the setup guide and reference information for the Google Analytics 4 source connector.

note

Google Analytics Universal Analytics (UA) connector, uses the older version of Google Analytics, which has been the standard for tracking website and app user behavior since 2012.

Google Analytics 4 (GA4) connector is the latest version of Google Analytics, which was introduced in 2020. It offers a new data model that emphasizes events and user properties, rather than pageviews and sessions. This new model allows for more flexible and customizable reporting, as well as more accurate measurement of user behavior across devices and platforms.

Prerequisites

  • JSON credentials for the service account that has access to Google Analytics. For more details check instructions
  • OAuth 2.0 credentials for the service account that has access to Google Analytics
  • Property ID

Step 1: Set up Source

Create a Service Account

First, you need to select existing or create a new project in the Google Developers Console:

  1. Sign in to the Google Account you are using for Google Analytics as an admin.
  2. Go to the Service Accounts page.
  3. Click Create service account.
  4. Create a JSON key file for the service user. The contents of this file will be provided as the credentials_json in the UI when authorizing GA after you grant permissions (see below).

Add service account to the Google Analytics account

Use the service account email address to add a user to the Google analytics view you want to access via the API. You will need to grant Viewer permissions.

Enable the APIs

  1. Go to the Google Analytics Reporting API dashboard in the project for your service user. Enable the API for your account. You can set quotas and check usage.
  2. Go to the Google Analytics API dashboard in the project for your service user. Enable the API for your account.

Step 2: Set up the Google Analytics connector in Airbyte

For Airbyte Cloud:

  1. Login to your Airbyte Cloud account.
  2. In the left navigation bar, click Sources. In the top-right corner, click + new source.
  3. On the source setup page, select Google Analytics 4 (GA4) from the Source type dropdown and enter a name for this connector.
  4. Click Authenticate your account by selecting Oauth or Service Account for Authentication.
  5. Log in and Authorize the Google Analytics account.
  6. Enter the Property ID whose events are tracked.
  7. Enter the Start Date from which to replicate report data in the format YYYY-MM-DD. (Not applied to custom Cohort reports).
  8. Enter the Custom Reports (Optional) a JSON array describing the custom reports you want to sync from Google Analytics.
  9. Enter the Data request time increment in days (Optional). The bigger this value is, the faster the sync will be, but the more likely that sampling will be applied to your data, potentially causing inaccuracies in the returned results. We recommend setting this to 1 unless you have a hard requirement to make the sync faster at the expense of accuracy. The minimum allowed value for this field is 1, and the maximum is 364. (Not applied to custom Cohort reports).

For Airbyte Open Source:

  1. Navigate to the Airbyte Open Source dashboard.
  2. In the left navigation bar, click Sources. In the top-right corner, click + new source.
  3. On the source setup page, select Google Analytics 4 (GA4) from the Source type dropdown and enter a name for this connector.
  4. Select Service Account for Authentication in dropdown list and enter Service Account JSON Key from Step 1.
  5. Enter the Property ID whose events are tracked.
  6. Enter the Start Date from which to replicate report data in the format YYYY-MM-DD. (Not applied to custom Cohort reports).
  7. Enter the Custom Reports (Optional) a JSON array describing the custom reports you want to sync from Google Analytics.
  8. Enter the Data request time increment in days (Optional). The bigger this value is, the faster the sync will be, but the more likely that sampling will be applied to your data, potentially causing inaccuracies in the returned results. We recommend setting this to 1 unless you have a hard requirement to make the sync faster at the expense of accuracy. The minimum allowed value for this field is 1, and the maximum is 364. (Not applied to custom Cohort reports).

Supported sync modes

The Google Analytics source connector supports the following sync modes:

Supported Streams

This connector outputs the following incremental streams:

Connector-specific features

note
  • Custom reports should be provided in format [{"name": "<report-name>", "dimensions": ["<dimension-name>", ...], "metrics": ["<metric-name>", ...], "cohortSpec": "<cohortSpec>", "pivots": "<pivots>"}]
  • Both pivots and cohortSpec are optional. Detailed description of the cohortSpec and the pivots objects you can find here and here.
  • To enable Incremental sync for Custom reports, you need to include the date dimension (except for custom Cohort reports). :::

Performance Considerations

Google Analytics Data API Quotas docs.

Data type map

Integration TypeAirbyte TypeNotes
stringstring
numbernumber
arrayarray
objectobject

Changelog

VersionDatePull RequestSubject
1.1.22023-07-0327909Limit the page size of custom report streams
1.1.12023-06-2627718Limit the page size when calling check()
1.1.02023-06-2627738License Update: Elv2
1.0.02023-06-2226283Added primary_key and lookback window
0.2.72023-06-2127531Fix formatting
0.2.62023-06-0927207Improve api rate limit messages
0.2.52023-06-0827175Improve Error Messages
0.2.42023-06-0126887Remove authSpecification from connector spec in favour of advancedAuth
0.2.32023-05-1626126Fix pagination
0.2.22023-05-1225987Categorized Config Errors Accurately
0.2.12023-05-1126008Added handling for 429 - potentiallyThresholdedRequestsPerHour error
0.2.02023-04-1325179Implement support for custom Cohort and Pivot reports
0.1.32023-03-1023872Fix parse + cursor for custom reports
0.1.22023-03-0723822Improve rate limits customer faced error messages and retry logic for 429
0.1.12023-01-1021169Slicer updated, unit tests added
0.1.02023-01-0820889Improved config validation, SAT
0.0.32022-08-1515229Source Google Analytics Data Api: code refactoring
0.0.22022-07-2715087fix documentationUrl
0.0.12022-05-0912701Introduce Google Analytics Data API source