Uploaded July 2024 | Updated September 2026, 2 hours ago
Based on this post: bit.ly/ga4-sql-post
In this video, I demonstrate how to query GA-4 landing page data in BigQuery using SQL. I start with a guided tour of BigQuery, dive into the GA-4 schema, explain the difference between GA-3 and GA-4 and why you need to query them very differently, explain what CTEs are and why you need to use them with GA-4 data (and why they're preferable to subqueries imo), demystify the event_params field, explain why some data needs to be flattened (aka unnested), and finally walk you through the final query. It's a good time!
JUMP LINKS
The main topics are below. Click or tap on a minute mark to advance the video.
0:00:05 – Overview of the project
0:01:38 – BigQuery vocab review (e.g., project name, id, dataset, table, view, partitioning)
0:05:00 – Introduction to the GA-4 dataset schema
0:11:09 – Differences between GA-3 and GA-4 data (specific to querying it)
0:19:27 – Why querying GA-4 data is so much more complicated
0:22:23 – The CTE part of the query explained in plain English (using a kitchen prep analogy)
0:26:02 – The main query explained
0:26:45 – Explaining the event_params field + unnesting in the most Gen X way possible
0:36:24 – Demo of unnesting using GA-3 data (b/c it’s easier for neophytes)
0:43:19 – Pulling it all together in the final query
LINKS
You can access the query here: bit.ly/ga4-lp-query
You can get the Dropbox link here: bit.ly/ga4-sql-tutorial
Google's paltry few GA4 SQL recipes: bit.ly/ga4-recipes
Based on this post: bit.ly/ga4-sql-post
In this video, I demonstrate how to query GA-4 landing page data in BigQuery using SQL. I start with a guided tour of BigQuery, dive into the GA-4 schema, explain the difference between GA-3 and GA-4 and why you need to query them very differently, explain what CTEs are and why you need to use them with GA-4 data (and why they're preferable to subqueries imo), demystify the event_params field, explain why some data needs to be flattened (aka unnested), and finally walk you through the final query. It's a good time!
JUMP LINKS
The main topics are below. Click or tap on a minute mark to advance the video.
0:00:05 – Overview of the project
0:01:38 – BigQuery vocab review (e.g., project name, id, dataset, table, view, partitioning)
0:05:00 – Introduction to the GA-4 dataset schema
0:11:09 – Differences between GA-3 and GA-4 data (specific to querying it)
0:19:27 – Why querying GA-4 data is so much more complicated
0:22:23 – The CTE part of the query explained in plain English (using a kitchen prep analogy)
0:26:02 – The main query explained
0:26:45 – Explaining the event_params field + unnesting in the most Gen X way possible
0:36:24 – Demo of unnesting using GA-3 data (b/c it’s easier for neophytes)
0:43:19 – Pulling it all together in the final query
LINKS
You can access the query here: bit.ly/ga4-lp-query
You can get the Dropbox link here: bit.ly/ga4-sql-tutorial
Google's paltry few GA4 SQL recipes: bit.ly/ga4-recipes
![The INDEX Function: Excels More Stable Alternative to OFFSET [VIDEO]
From this post: http://www.annielytics.com/?p=4069. The OFFSET function is terribly volatile and can bring Excel to its knees. This video shows three marketing uses for the INDEX function. The INDEX Function: Excels More Stable Alternative to OFFSET [VIDEO]](https://i.ytimg.com/vi/6coBN0gyZKY/mqdefault.jpg)









