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.
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.
To enable this feature, simply add or adjust the intraday_schedule key-value pair entry in the configuration file created after installation.
{ "analytics_222222030303": { "tables_to_flatten": [ "events", "event_params", "user_properties", "items" ], "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.
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 github.com, specifically at https://github.com/adswerve/google_analytics_flattener_ga4. We encourage all to join the open-source community and install this product.
Please don’t hesitate to reach out with any questions.