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:
What is an event?
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.
A bit about naming conventions
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.
Automatically collected events
The following events are automatically collected when you add the GA4 configuration tag to a site:
- Page views
- Outbound clicks
- Site searches
- Form interactions
- Video engagements
- File downloads
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:
- For a rental property management business I created property address dimensions so they can report on engagement metrics by property.
- For an e-commerce website, I created a search results count metric so they can see how well their inventory aligns with the products users are looking for.