GA4 Flattener Tool Now Steamrolls Intraday Data

January 12, 2022

We’ve spent countless hours analyzing Google Analytics (GA) —both the Universal Analytics 360 and GA4 versions— data in BigQuery (BQ) for our clients. So much that we created an open-source tool to help bridge the learning curve. As technologists and analysts, we’re proponents of open source, which enables and encourages collaboration and development of software, and we want to pass along our learnings to help you solve your own real-world challenges. We’re excited to announce that we’ve released a great feature to our GA4 Flattening Tool. Here’s how it works.

You can now configure a schedule to flatten intraday events as they’re collected in GA4 and piped into BQ throughout the current day, providing the most up-to-date data for creating near-time reports or dashboards in any ecosystem. For marketing departments, having near-time data in their dashboards is critical so they don’t have to wait until the next business day to measure advertising campaigns or website performance.

The Details

In addition to daily tables named with the format events_yyyymmdd, you may also have table(s) with the events_intraday_yyyymmdd format, which refreshes every few minutes.  By default, the flattener does not flatten the intraday table. Previously, intraday or real-time tables were not included in the flattening process. That has now changed.  The most recent and accurate data is now available in the flattened tables, updated accordingly when new data arrives. We’ve enhanced the GA4 flattener to include an intra-day data option.  

Getting Started

To enable this feature, simply add or adjust the intraday_schedule key-value pair entry in the configuration file created after installation.  

Figure 1: Example flattener configuration file

  "analytics_222222030303": {
    "tables_to_flatten": [
    "intraday_schedule": {
      "frequency": 30,
      "units": "minutes"

For example, in figure 1 above, the key named intraday_schedule was created upon installation as follows, although by default the frequency is set to null, meaning it will not enable this new functionality.

    "intraday_schedule": {
      "frequency": null,	  #integer value
      "units": "hours"       #hours or minutes

You can enable intraday flattening by editing the config file and supplying valid values for frequency (an integer, if minutes then between 1 and 59) and units (hours or minutes).

The only noticeable difference in the output tables is that ‘todays’ date will now be included in the “flat_” prefixed tables.

Figure 2: GA4 BigQuery tables (including flattened)


We hope that our GA4 flattener tool will help you analyze GA4 data in BQ and extract actionable insights from it, now in near time. You can find the repository, description and installation instructions on, specifically at We encourage all to join the open-source community and install this product.

Please don’t hesitate to reach out with any questions.