If you have connected a Google Analytics property with BigQuery, GA4 can now export four tables into your BigQuery dataset, five if you are a GA4 360 user. Each of these tables serves a distinct purpose, with specific advantages and caveats. However, some of them are underutilised or rarely explored by BigQuery users. In this article, I will break down the key points, benefits, and limitations of each table, along with their best use cases.
Here are the five available Google Analytics tables in BigQuery:
You can choose to connect these tables when linking a BigQuery project in Google Analytics UI’s. In GA4, navigate to Admin > Product links > BigQuery, where you will see the options on the right in below screenshot. On the left in this screenshot are the correspondent BigQuery tables each of these options enables:
Understanding the purpose of each table allows you to maximize the value of your Google Analytics BigQuery export for different usages.
The daily event table is the most commonly used table containing fully processed event data for each day. GA4 exports a new table for the 24 hour period of the chosen time zone every day. This table takes about 10 hours to process and typically drops between 8 AM - 11 AM every day. The arrival time of this table is often within the same hour every day for each Google Analytics property, however delays can sometimes occur.
Each row in this table represents an event hit on site and contains values based on this GA4 schema:
SELECT *
FROM `yourproject.analytics_123456.events_*`
WHERE _TABLE_SUFFIX
BETWEEN '20250101' AND '20250201'
The intraday event table is often called the streaming table because it provides nearly real-time event data for debugging and monitoring purposes. The Event intraday table uses identical schema as the daily event table. If “Streaming (best-effort)” option is ticked in GA4, this table will be exported in the same BigQuery dataset as the daily event table. The data refreshes almost in real-time, sometimes within minutes but occasionally taking up to an hour.
The event fresh table uses the identical schema as the daily event and intraday event tables, but it differs in two key ways:
The pseudonymous user table contains user-level data such as first touch timestamp, life time value and user actvitiy predictions, etc. This table use GA generated pseudonymous identifiers (pseudo_user_id). This identifier is generated by Google Analytics using a combination of business provided user ID, Google Signals and User Device ID.
This table is updated when data is updated for a user. Sometimes, you may notice that the pseudo_user_id is the same as user_pseudo_id in the event tables, this is because the client cookie ID is used as the user’s pseudonymous identifier for that user.
The user table has very similar schema as the pseudonymous user table. But instead of using a Google generated identifier, it uses business provided user ID as the user identifier. In fact, this table will only be enabled if user_id tracking is enabled and collected in GA4.
Each of these tables plays a role in the GA4 360 BigQuery ecosystem:
Are you using all of these tables or are they just sitting there and waiting for you to unlock their powers? As always, if you need any help on using Google Analytics’s BigQuery data, contact us!
Chat through our services with our team today and find out how we can help.
SERVICES
© Hookflash Analytics | All rights reserved | Company No. 203 831 6690 | Privacy & Cookie Policy