events_intraday and events tables in BigQuery for GA4 data

 

events_intraday and events tables are two sets of tables that get created in BigQuery by GA4 when you enable the GA4 and BigQuery integration.

These two tables store data for every event that's tracked in GA4.  If you are not familiar with how to setup this integration then check out this blog post: Transfer GA4 Data to BigQuery in 3 Simple Steps

During the integration process, you will see two options under Events data --> Export type. These options are Daily and Streaming.

 

When you check Daily option then the events data is sent at the end of the day and is stored in events table. This table shows up as event_#, where # is a number. If you are curious to know what this # is then continue reading.

When you check the Streaming option then the events data is sent to BigQuery within seconds and is stored in events_intraday_ table. This table shows up as event_intraday_#. This table stores the real-time data.

If you select both options then you will see both sets of tables, event_ (#) and events_intraday_(#).

What is the number after the events_intraday_ and events_ tables?

The number shows you the number of days of data. So in the above screen 420 means that we have collected 420 days worth of data in the events_table.

If you pick both options during GA4 and BigQuery integration then you will see events_(with number of days of data) and events_intraday_(1) or events_intraday_(2).  Generally when the day is over GA4 rolls past day of the intraday data is rolled into events_ table, the corresponding event_intraday tables in delete and the events_intraday only contains the current day of data. However sometimes there is a delay in processing and in that case you will see events_intrday_(2).


Click here to Signup for BigQuery Newsletter


Why do you see more 1 or 2 in events_intraday?

As you might have noticed in my screenshot the events_intraday_ tables shows 8. So why are there 8?

If at anytime you only select Streaming and not Daily then the data will only collect in events_intraday_ tables. Later if you turn daily on, the data that has already been collected in events_intraday_ will remain there and any new data will be processed on nightly bases and get moved to events_ table.

Which table should you use?

events_ table is more stable and complete than events_intraday table so you should use it for most of you reporting.

However if you do need real-time reporting then events_intraday table is your option.

You can even combine the two tables in your query.

 

Need help with GA4 and BigQuery?

Do not hesitate to reach out to us at suppor@optizent.com.  We have extensive experience working with GA4 and BigQuery.

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *