Up until the advent of GA4, Google Analytics had evolved incrementally since its first release in 2005. If you’ve used it at any time since launch and prior to GA4, then you have a general understanding of functionality and terminology that is now mostly obsolete. I’ll summarize some important differences below, but first let’s talk about the GA4 event model.
I also created a video that goes over how to create events, how they flow into GA4, and more:
In GA4, everything that happens is an event. Forget what you know about events from Universal Analytics and just think about what the word event means. According to Merriam-Webster, the primary definition of event is:
something that happens
That sums up what it means in GA4 too. When a page gets viewed, that’s an event. When a purchase is made, that’s an event. When a video gets played, that’s an event. You get the idea.
GA4 events also have parameters. For example, the page_view event has page_location (address) as a parameter. In fact, page_location is a global parameter that gets associated with every type of event. Most parameters are specific to a single event or a set of related events. For example, scroll_percentage is specific to a scroll event, while an item list is a parameter that is associated with a variety of e-commerce events.
You may have noticed that I wrote “page_location” above, rather than “page location”. I did this because all event and parameter names in GA4 are lower-case and use underscores instead of spaces. This is known as snake case in the coding world.
Dimensions and metrics use sentence case in GA4, which means the first letter of the first word is upper-case, but subsequent words are not. I will be following this convention as well.
Below are the parameters associated with the page_view event.
Events and parameters are the foundation of how data is collected and organized in GA4, but they have to get translated into dimensions and metrics before they are visible in reporting. For example, when the event above happens, it is translated into the View metric in reporting. The parameters are translated into dimensions as follows:
page_location → Page location
page_referrer → Page referrer
page_title → Page title
language → Language
screen_resolution → Screen resolution
These parameters all become dimensions, but engagement_time_msec does not, and its role is a bit more complicated. It is used to calculate a variety of metrics in combination with other events and parameters. For example, any non-zero value for engagement_time_msec results in a User metric being counted.
Most built-in events and parameters are mapped automatically, but you can also define your own mappings to custom dimensions and metrics by going to Admin > Custom definitions.
The following events are automatically collected when you add the GA4 configuration tag to a site:
Google also has a long list of events they recommend collecting for different circumstances.
You can also add your own events and parameters which, from a data standpoint, are treated the same as any built-in event or parameter. This, paired with the ease of adding custom dimensions and metrics is one of my favorite things about GA4. I have created a number of custom dimensions and metrics when setting up GA4 for different clients. A couple of examples:
If you’re brand new to Analytics and curious about what goes on under the hood, we recommend you check out How Web Tracking Works, which is a great primer. To continue your GA4 learning journey, check out Intro to GA4 Part 2: GA4 vs. Universal Analytics.
Nico loves marketing analytics, running, and analytics about running. He's Two Octobers' Head of Analytics, and loves teaching. Learn more about Nico or read more blogs he has written.
The latest developments in digital marketing include Meta feature updates, Google downgrading ranking on vastly…
ChatGPT traffic in the GA house! Plus new features in GA4 and understanding GTM first-party…
This article details the process of building two BigQuery tables for path analysis, with a…