How to connect Google Analytics 4 (GA4) with BigQuery

Author : Ayruz

Insight by: Ayruz

What is GA4 Big Query?

GA4 BigQuery is the integration between Google Analytics 4 (GA4) and Google BigQuery, enabling the export and storage of GA4 data directly into BigQuery. It can create custom reports and combine GA4 data with other datasets (Google Analytics, Google Ads, Google Sheets, Facebook Ads, etc.) within Bigquery’s cloud-based data warehouse environment.

What are the advantages of using BigQuery for GA4?

  1. Integration with Other Data Sources: BigQuery can easily integrate GA4 data with other datasets from various sources. This enables you to combine GA4 data with additional data sets, such as customer, marketing, or sales data, to understand your business comprehensively.
  2. Integration with Data Visualization Tools: BigQuery integrates with popular data visualization tools like Google Data Studio, Tableau, and Looker. This allows you to create interactive and visually appealing reports and dashboards based on your GA4 data within these platforms.
  3. Big Query uses SQL: In BigQuery, you can utilize SQL queries to interact with the data, enabling sophisticated analysis and exploration. This allows you to pose complex questions and obtain high-level insights from your GA4 data. Furthermore, BigQuery offers the flexibility to create reports with any desired combination of metrics, empowering you to tailor your analysis precisely to your needs.
  4. Flexibility and Data Exploration: With the direct transfer of raw data from GA4 to BigQuery, you can rest assured that there is no need to worry about data sampling. Sampling occurs when a subset of data is analyzed and used to represent the entire dataset. However, when utilizing BigQuery for GA4, there is no sampling involved. Unlike custom reports in GA4, which may be subject to data sampling, BigQuery allows you to work with complete, unaltered data, providing more accurate and comprehensive insights.

Cost /Billing of using BigQuery for GA4:

The cost of using Google BigQuery depends on several factors, including data storage, data processing, and data transfer.

Storage Costs: BigQuery charges for the amount of data stored in your tables and data sets. The pricing is based on the total data size, including both the original data and any derived tables or partitions.

  1. Query Costs: BigQuery charges for the data your queries process. The pricing is based on the total data processed, measured in bytes. Complex or resource-intensive queries may incur higher costs.
  2. Streaming Inserts and Data Loading: If you use the streaming insert method to load data continuously into BigQuery, additional costs may be associated with the streaming inserts. Batch loading of data from Cloud Storage or other sources may also have associated costs.
  3. Data Transfer Costs: Transferring data into and out of BigQuery can have associated costs, particularly when data is transferred from external sources or across regions.

Requirements for using BigQuery in GA4:

Before using BigQuery, there are several important prerequisites to consider. Here are some key points to keep in mind:

  1. Google Cloud Platform (GCP) Account: You will need a Google Cloud Platform account to access and use BigQuery. If you don’t have an account, you can sign up for one at
  2. Project Creation: Create a project within your Google Cloud Platform account. BigQuery resources and usage will be associated with this project.
  3. Billing Setup: Ensure that billing is enabled for your project. BigQuery usage is typically billed on a pay-as-you-go basis, and you need to have a valid billing account linked to your GCP project.
  4. Access Permissions: Manage access permissions for your project and BigQuery datasets. Grant appropriate roles and permissions to individuals or groups who will be using or administering BigQuery. This ensures proper data security and privacy.
  5. Data Organization: Organize your data within BigQuery using datasets and tables. Datasets serve as logical containers for tables containing your actual data. Design a logical structure that fits your use case and helps with data management.

 Knowledge of SQL: Meeting these prerequisites allows users to leverage the power of SQL queries to analyze and extract valuable insights from their GA4 data stored in BigQuery.

How to connect GA4 to Big Query:

  • Go to Google Analytics and click on “Admin.”
  • In the “Property” column, look for “PRODUCT LINKS” and click on “BigQuery Links.”

BigQuery linking

  • Click on Link button.

Bigquery linking

  • Click on “Choose a BigQuery project” to see a list of projects where you have permission to read the data at least.

create a link with BigQuery

  • Select the Project from the link and click confirm. You can only link one project at a time.
  • Select a location for the data. Click Next.
  • Select “Configure data streams and events” to choose the data streams you want to include in the export and specify any specific events you want to exclude.
  • Select Include advertising identifiers for mobile app streams if you want to include advertising identifiers. Choose either a “Daily” export (once a day) or a “Streaming” export (continuous) of data. You can select one or both options.
  • Review your GA4 integration setup setting, ensuring all configurations are in place.
  • Once double-checked everything, click the “Submit” button to proceed. 
  • Your link is created.

Create a Google-APIs-Console project and enable BigQuery:

  • Go to the Google Cloud Console (
  • If you still need to do so, create a project or select an existing one from the dropdown.
  • Click “APIs & Services” in the navigation menu and then “Library.”
  • Click the “Enable” button to enable the API for your project. You will be navigated to a page as shown below.
  • From the search results, click on the API you wish to enable.
  • Search for Big Query API
  • To access the API click on Create credentials.
  • Grand the Access as required and click on the Done button.

The BigQuery Export schema in Google Analytics 4:

The BigQuery Export schema in Google Analytics 4 (GA4) refers to the structure and organization of the data exported from GA4 to BigQuery. It defines the format and layout of the exported data, specifying the tables, columns, and data types used to represent the GA4 events, parameters, and user properties in BigQuery.

  1. Datasets: Datasets in BigQuery are containers that hold related tables and provide a way to organize and manage data. In the context of GA4 export schema, a dataset represents a collection of tables that store the exported GA4 data.
  2. Tables: Tables are the primary components of the schema where the data is stored. In the BigQuery Export schema, tables correspond to different aspects of the GA4 data, such as events, event parameters, and user properties. Each table has a specific purpose and contains relevant columns to represent the data. These options allow you to export your GA4 data to BigQuery once a day or continuously, with the tables organized based on the chosen export method.

Option 1: Daily Export

  • Choose this option to export your GA4 data to BigQuery once every day.
  • A table named “events_YYYYMMDD” contains all the data for that particular day. The “YYYYMMDD” represents the actual date.

Option 2: Streaming Export

  • Choose this option to continuously export your GA4 data to BigQuery throughout the day.
  • An “events_intraday_YYYYMMDD” table is created and updated as new data is recorded in GA4.
  • At the end of each day, the intraday table is replaced by the same full-day table mentioned in Option 1.

 3. Columns: Columns represent the individual data fields within a table. In the GA4 Export schema, columns define the attributes or properties associated with events, parameters, or user-related information. Examples of columns include event name, timestamp, user ID, and parameter values.

4. Rows: Rows represent the individual records of data within a table. Each row contains values for the columns, providing specific information about an event, parameter, or user property. For example, a row might include the timestamp, event name, and corresponding parameter values for a particular event occurrence.


Notify of
Inline Feedbacks
View all comments