One of the most powerful features of GA4 is event tracking. Events are not tracked by default with Universal Analytics (Google Tag Manager is required), but they are the default tracking approach with GA4. This is a guided tour of event tracking and specifically, events in GA4 vs UA.
What Are Events?
An event allows you to measure a distinct user interaction on your site or app. In GA4, some examples are page loads, downloads, link clicks, add-to-cart actions, form submissions and time spent on a page are all events that we can measure to better understand user behavior. In GA4 all of these distinct user interactions are measured as events, in Universal analytics they are measured in different ways. Check out the table below.
The Universal Analytics (UA) data collection model relies on collecting interactions in different ways. These different types of interactions are called “hit types.” Read on below for a brief explanation of hits or check out the embedded video if you’d prefer a visual review.
What is a “Hit” in Google Analytics?
A hit is simply an interaction that a visitor has on your site that is recorded and results in data being sent to Google Analytics.
As we saw above, hits in GA4 are event hit types whereas there are multiple hit types for visitor interactions in Universal Analytics. In Universal Analytics, the UA property automatically collects data each time a new page loads up (the “pageview” hit type). With UA, it is possible to track things like file downloads, button clicks and scroll depth tracking, but it requires using Google Tag Manager to set up event tracking. In UA, all of the user interactions that occur during a single visit (page views, tracked clicks, downloads and more) are bundled together and sent as a distinct “session” so there is a record of everything that took place during that visit.
Let’s get into tracking event differences a little bit more.
Event Tracking in GA4 vs UA
Things are different when we look at GA4 vs UA. As we’ve seen, GA4 does not measure things based on sessions and pageviews. Instead, GA4 measures an assortment of different events to understand user behavior. In fact, it’s fair to say that everything is an event with GA4. There are 4 distinct categories of events in GA, which we will get into a little later.
To understand events in GA4, we should first understand how events work in UA.
How Events Work in UA
In Universal Analytics, events are created with the help of Google Tag Manger (GTM). When we create a UA event with GTM, we set up new tracking for something new that Universal Analytics won’t track out of the box. There are 4 specific “parameters” that we can send along with every event in Universal Analytics. A parameter is additional information that we can use to better understand and analyze the event in question. Here are those parameters:
- Event Category (category is required)
- Event Action (action is required)
- Event Label (label is optional)
- Event Value (value is optional)
You will see these 4 parameters when you create a new event Tag in Google Tag Manager, and these are the same parameters that you see in your UA property. The names you give your parameters in GTM are the same names that flow into your Universal Analytics reports.
An Example of Event Parameters in UA and GTM
The example below shows event tracking to measure link clicks to a business directory listing scan on the Root & Branch site (if you’re interested, you can do your own free Local SEO scan that takes about 40 seconds).
I’ve configured the tag (the event) using 3 of the 4 available parameters.
- Event Category is important-link-click. I’ll see important-link-click within my Universal Analytics reports on Event Category based on how I’ve set this up.
- Event Action is yext-scan. I’ll see yext-scan within my Universal Analytics reports on Event Category based on how I’ve set this up.
- Event Label is a variable (those curly braces indicate a variable). With a variable, the data that will flow into Universal Analytics is not static as Category and Action are in this example. This means that Google Tag Manager will send the specific page that the user was on when they clicked to go to the Yext scan along with the rest of the event information. So if you click the link above, I’ll see that specific URL of the page you’re reading now in my Universal Analytics reports under the Event Label. Cool, huh?
- Event Value is blank. It’s optional, so hold your judgement.
How Events Work in GA4
The naming convention is much more “flexible” in GA4. I’m using quotes because this flexibility can either make things better (if you know what you’re doing and have a great plan) or much more complicated. With these events, you need to have an Event Name and then can identify 0 – 4 additional parameters.
- Event Name (event name is required)
- Additional Parameter 1: (you can choose whatever parameter you want and name the parameter however you want)
- Additional Parameter 2: (you can choose another parameter of whatever you want and name it as you choose)
- Additional Parameter 3: (etc, etc)
- Additional Parameter 4: (you get the idea)
Well, if you’re anything like me you’re probably a bit confused by all this at this point. I had mentioned there are 4 different categories of events. Let’s take a look at those categories and perhaps things will start making a bit more sense.
Categories of Events in GA4
There are 4 categories of events in GA4.
- Automatically collected events
- Enhanced measurement events
- Recommended events
- Custom events
Automatically collected events in GA4
Automatically collected events are events that are automatically collected by GA4. Automatically collected means all you need to do is implement the GA4 tracking code on your site and the events start rolling in to your GA4 property. This is great!
The three automatically collected events are first_visit, session_startm and something new called user_engagement.
- session_start: This event fires when a user first launches a session with a website (or app).
- first_visit: Was it the first time this particular user has been on the site or the app? If so, the first_visit event will fire.
- user_engagement: A user_engagement event will fire when a visitor has been on a page for 10 seconds OR has viewed two pages OR has completed a conversion event. It is tracked automatically by GA4.
Enhanced measurement events in GA4
Enhanced measurement events are specific events that you can toggle on or off within the GA4 platform. This is also great. They are turned on by default, but you can turn them off if for some reason you don’t want them.
Some enhanced measurement events are page_view, site_search, scroll, click, and more. In your GA4 data stream, you can elect to turn any of these off if you don’t want them turned on.
With both automatically collected events and enhanced measurement events, the event parameters have already been decided upon by Google Analytics. The parameter data will be collected in your GA4 property and there’s nothing you need to do about it. Wonderful!
There are times when we may elect to turn off an enhanced measurement event and replace it with a custom event that we create ourselves. This may make sense because of the limitations inherent in some of the enhanced measurement event. One example is the scroll enhanced measurement event. This will automatically collect data every time a visitor scrolls 90% of the way down the page. But what if you wanted to track when a visitor scrolled 25% of the way down the page and 50% and 75% and 90% (or whatever)? To do that, you’d want to turn off the scroll enhanced measurement event, and then create your own GA4 custom event with Google Tag Manager. Here’s a tutorial showing exactly how to do that.
With recommended events and custom events, however, we need to embrace the “flexibility” of naming our GA4 event parameters. Fortunately, there are developer guides from Google that provide recommended naming conventions for these recommended events. Let’s explore more and look at the first two categories of events: Automatically Collected events and Enhanced Measurement events.
Accessing Enhanced Measurement in GA4
Enhanced Measurement Events are really where GA4 starts to show some of its value. Eeven though some of them are a bit limited (such as the scroll example above), these are events that would require help from Google Tag Manager and / or a developer with a Universal Analytics property.
You can access Enhanced Measurement Events by going to Admin (gear icon) and then Data Streams and then select your web data stream. Here’s what you’ll see:
These are the names of the events you can track with Enhanced Measurement. Each can be turned on or off by simply selecting the event.
- page_view: Guess what this is? Page view.
- scroll: Scroll depth tracking requires GTM work with Universal Analytics, but it’s a simple Enhanced Measurement Event in GA4.
- click: this will only track outbound link clicks. If you want to track internal links, you can follow this GA4 link tracking tutorial.
- view_search_results: Site Search activity.
- video_start: YouTube video engagement.
- video_progress: YouTube video engagement.
- video_complete: YouTube video engagement.
- file_download: You guessed it! A file was downloaded.
Not too bad, right? Below you can see an example of basic event reporting in GA4 vs. similar event reporting in Universal Analytics. The GA4 events are a combination of both Automatically Collected and Enhanced Measurement events (do not require the use of Tag Manager), while the UA events are all created with the help of Google Tag Manager.
Recommended events and custom events in GA4
Recommended events and custom events are both event types that we need to create on our own with the help of Tag Manager.
The difference is simply that with recommended events, Google has provided a “recommended” event name to use. You can read more about what Google says about that here.
Like recommended events, custom events require the help of Tag Manager to create. Unlike recommended events, Google doesn’t provide a recommended event name so we can use our creativity. When naming events, it is recommended to have a consistent naming convention. And we should always use snake_case (lowercase and with underscores instead of spaces). One example of a custom event is this page timer event I’ve created in GA4.
An Example of Tracked Events in GA4 vs UA
This is a screenshot showing Google Analytics 4 data during a 28 day period. To access this report in GA4, go to Engagement > Events. Here are some things we can see.
- Pageviews: 1,546 (tracked as events)
- Unique Users: 902
- First Visits (New Users): 876
- Examples of High User Engagement: 798
- Scroll: 271 / 173 unique users
- Click: 18 total / 12 unique users
- Video plays (progress): 14 / 6 unique users
Now, let’s take a look at the same period of time for the same website with Universal Analytics. The data table below is from Behavior > Events > Top Events. Some user data (marked with an asterisk) is pulled from the Audience > Overview report that is not shown. Metrics in italics are significantly different from GA4.
- Pageviews*: 1,556
- Unique Users*: 910
- First Visits (New Users)*: 882
- Examples of High User Engagement: does not exist in UA
- Scroll: 3,022 / 2,783 unique users
- Click: 305 total / 277 unique users
- Video plays (progress): 13 / 13 unique users
What’s Up With the Data Discrepancy Between GA4 and UA?
Some of the metrics are comparable between GA4 and UA, while others are quite different. There are two reasons for the discrepancy.
First, since the data collection models are different, some of the data will inherently be different. This explains some slight differences. The second reason is the default event data reporting from GA4 is different from what I had set up in my Universal Analytics property. Further explanations below.
- Pageviews*: This is essentially the same. The minor difference here is due to the different data collection models between GA4 and UA.
- Unique Users*: Same situation as above. The data is quite similar.
- First Visits (New Users)*: Same as above.
- Examples of High User Engagement: User engagement is a new event that Google developed for GA4. There is no comparable metric in UA.
- Scroll: There are more than 10 times as many scroll events tracked in UA as in GA4. This is because the two properties track very different things. My UA scroll tracking fires an event at 6 different scroll depths. You can see this in the screenshot below. So, a user who makes it all the way to the bottom of the page will trigger 6 different events to fire (at 10% scroll depth, 25% scroll, 50%, 75%, 90%, and 100%). It looks like the GA4 scroll event probably fires at 90% completed scroll based on the 271 events for “scroll” in GA4 and the 272 events for the 90% scroll depth shown below for UA. You’ll notice a difference in unique user count (Users in GA4 reporting example and Unique Events in UA example), which may be a case of GA4 doing a better job of identifying returning users.
- Click: Once again, the two properties track very different things. My UA click tracking fires an event I called “link-click” on every click. With GA4 Enhanced Measurement event tracking, however, the event named “click” only fires on outbound link clicks that leave the domain. This is not necessarily super intuitive.
- Video plays (progress): The data is quite similar, but it seems as though GA4 is doing a better job of de-duping users.
Now that we know more about what we’re looking at with these new GA4 events it starts to become less daunting.
Well, that should about do it. You made it all the way to the end! I’ll eventually update this blog to cover Recommended Events and Custom Events in greater detail.
If you’re interested in digital marketing training or SEO strategy support, feel free to hit me up on LinkedIn or click here to subscribe on YouTube for weekly updates on GA4, GTM, Google Ads, and SEO.