Google Analytics 4 Event Tracking: Your Complete Guide

Google analytics 4 events

With the introduction of Google Analytics 4 (GA4), the team at Google also introduced a new data model. This gives you more control and flexibility over the data you collect about your audience, their actions, and your website.

More options and greater flexibility also mean events can become confusing. Fast. So let’s unpack events in Google Analytics, and make sense of what they are and how you can use them to collect the insights you need.

Oh, and if you’ve been using Google Analytics for a while, then you’re probably already familiar with event tracking, which has been available since 2007. We will start by talking about the events we could track in the previous version of Google Analytics (called Universal Analytics) and compare them to the new GA4 events.

If you would prefer to skip ahead to a particular topic, here is what we’re going to cover:

  1. Before Google Analytics 4
  2. Hits vs. Events
  3. What can you track with events in Google Analytics 4?
  4. Event Parameters in Google Analytics 4
  5. Automatic Events in Google Analytics 4
  6. Enhanced Measurement
  7. Recommended Events in Google Analytics 4
  8. Custom Events in Google Analytics 4
  9. Sending Events to Google Analytics 4
  10. Creating New Events in the Interface
  11. Modifying Events in the Interface
  12. Sending Events Using Google Tag Manager
  13. Reporting on Your Events in Google Analytics 4
  14. Conversions Based on Events
  15. Mapping Universal Analytics Events to Google Analytics 4 Events
  16. Limits with Google Analytics 4 Events
  17. Summary of Setting up Events

And here’s a video version if you would prefer to learn on YouTube:


In a hurry? You can also download this post. Get my Guide to Events in Google Analytics 4 PDF.

Download The Guide to Events in GA4


Before Google Analytics 4

Before Google Analytics 4, events were designed to track actions within your website’s pages (or in your app). For example, if you wanted to track the number of times people downloaded a file from your website, you would implement event tracking and use the event reports to see the number of downloads.

The two main issues with the previous version of event tracking were the limits on the amount of information you could collect and the constraints around reporting.

When you implemented event tracking with the previous version of Google Analytics, you could name the category of the event, name the action, include an optional label (to capture additional information), and assign an optional value (like a dollar value).

Here’s an example of a Universal Analytics event to track a video:

  • Event category: Video
  • Event action: Play
  • Event label: https://www.youtube.com/watch?v=4nXYvFXzxV4
  • Event value: 0

If you wanted to capture additional information, you would need to either replace one of the existing values or squeeze the extra information in. For example, if you wanted to use event tracking to report clicks on different promotional banners, you might define the event category as ‘promotion’, then the event action as ‘click’, and the event label as ‘summer specials’, like we can see here:

  • Event category: Promotion
  • Event action: Click
  • Event label: Summer Specials
  • Event value:

But what if you had two banners for the promotion?

You would then need to decide which of the event parameters you would rename. For example, you might have one event label for ‘summer specials top’ and another event label for ‘summer specials sidebar’. This is okay, but it isn’t flexible, especially when it comes to reporting. If you want to report on the performance of the promotion, you would need to include both labels. Otherwise, you would be missing data.

Once you implemented event tracking on your website, all of the events would be included in the event reports.

Once you implemented event tracking on your website, all of the events would be

In Google Analytics 4, everything is sent to your reports as an event, not just actions you’ve tracked within a page, so there’s potential for more flexibility in your reporting. We will talk more about reporting in a moment.

Hits vs. Events

So in Universal Analytics, events were designed for tracking actions within a page. In contrast, in Google Analytics 4, events are used to send all types of data to your reports. This includes actions, details about your users, and other information about your website.

If we compare this to Universal Analytics, data was always sent as a ‘hit’. And there were predefined types of hits you could send, which meant that you were out of luck if you wanted to collect custom information that didn’t match one of the predefined hit types. The hit types in Universal Analytics were:

  • Pageview hit
  • Event hit
  • Ecommerce hit
  • Social interactions hit
  • Exception hit
  • User timing hit
  • Screen hit (for apps)

Hits are replaced by events in Google Analytics 4, which means you can collect data for anything you like. You’re no longer restricted to these predefined options. This brings us to our next topic.

What can you track with GA4 events?

In Google Analytics 4, you can use events to track any action or piece of information you like. From the pages people view (which are automatically tracked) to button clicks or even information you’ve collected in another platform (like your email marketing platform or CRM). You can send the data to Google Analytics using events.

We will cover different ways you can use events in a moment, but here are some examples of what you can track with events:

  • Pages people load on your website
  • Actions people perform within a page
  • Elements people have clicked
  • Information from the URL of the page
  • Transaction and product details
  • Elements that are visible in the browser
  • Details you’ve collected about a user

There are plenty of ways to use events, and it comes down to your business, your audience, your objectives, and the type of reporting and analysis you want to perform.

Event Parameters in Google Analytics 4

Events can be sent to Google Analytics with parameters. Parameters are extra pieces of information that are tied to the event. For example, the page_view event is sent to your reports with the page_location and the page_referrer parameters. The page_location parameter lets you see the URL of the page that someone viewed, and the page_referrer parameter lets you see the URL of the previous page they viewed.

Here’s what a page_view event looks like in Google Analytics, along with the parameters:

Here’s what a page_view event looks like in Google Analytics, along with the par

Google Analytics will automatically send parameters with each event. These can include:

  • The ga_session_id parameter includes the unique identifier assigned by Google Analytics for the user’s session.
  • The page_location parameter sends the URL of the page currently being viewed.
  • The page_title parameter sends the title of the page currently being viewed.
  • The page_referrer parameter sends the URL that someone viewed before the current page. This can include other pages on your website or third-party websites (if someone clicked through to your website from another website).

For events automatically tracked by Google Analytics, additional parameters are also sent. This brings us to automatic events.

Automatic Events in Google Analytics 4

When you add the Google Analytics 4 tag to your website, it will automatically track a number of events when someone views a page. For example, Google Analytics will automatically track an event when someone spends at least 10 seconds on your website.

Events tracked automatically include:

  • The first_visit event is collected the first time someone visits your website. This event is also used to calculate the ‘New Users’ metric in your reports.
  • The page_view event is used to report on the page the user is viewing.
  • The session_start event is used to determine when the user’s session started. A new session_start event is triggered when there is a period of inactivity of 30 minutes.
  • The user_engagement event can be collected periodically and is used to report when someone has spent at least 10 seconds on your website.

These automatic events can’t be switched off or disabled. They are the critical components needed for Google Analytics, so you will find them in all Google Analytics 4 properties.

Enhanced Measurement

Apart from the automatic events we just covered, you also have the option of using the Enhanced Measurement feature to collect additional data automatically. Enhanced Measurement is configured for each data stream used to send data to Google Analytics.

Apart from the automatic events we just covered, you also have the option of usi

The best way to think about Enhanced Measurement is that it lets you track optional automatic events (while the automatic events we covered previously are mandatory). So with Enhanced Measurement, you can choose to turn particular automatic events ‘on’ or ‘off’ depending on what you would like to see in your reports.

Enhanced Measurement lets you automatically track one or more of the following actions:

  • Scrolls for people scrolling at least 90% of a page.
  • Outbound clicks from your website to other websites.
  • Site search for the keywords entered into your website’s search function.
  • Video engagement of people watching embedded YouTube videos.
  • Files downloads for people downloading files from your website.

These actions are tracked using the following events in your Google Analytics reports:

  • The click event is collected when someone clicks on an outbound link.
  • The file_download event is collected when someone clicks to download a file from your website. Events are triggered for popular file formats, including the following file extensions: pdf, xls, xlsx, doc, docx, txt, csv, key, ppt, pkg, zip, mov, mp4, mp3, wav, and more.
  • The scroll event is collected when someone scrolls 90% of a page.
  • The video_start event when someone starts playing an embedded YouTube video.
  • The video_progress event when 10%, 25%, 50% and 75% of the video’s duration is played.
  • The video_complete event when the video ends.
  • The view_search_results event when people view a page with a query parameter of ‘q’, ’s’, ‘search’, ‘query’, or ‘keyword’.

Enhanced Measurement also provides advanced settings for the automatically collected page view events and site search events. For page views, you can disable the ‘Page changes based on browser history events’ option.

Enhanced Measurement also provides advanced settings for the automatically colle

By default, this option will automatically track page views when the URL of the page changes without the page reloading or if content is loaded into the existing page without the page reloading. For example, if JavaScript is used to include additional content on a page. It’s looking for history events in the browser.

The other option you can adjust in Enhanced Measurement is the configuration for the Site Search event.

The other option you can adjust in Enhanced Measurement is the configuration for

Apart from the default query parameters, you can also adjust the query parameters Google Analytics uses to identify the keywords people are using to search within your website. And you also have the option of adding additional query parameters to collect further insights.

For example, if your search function lets people refine their search by choosing a search category, you could add this to the ‘Additional Query Parameters’.

If you’re just getting started, I recommend watching my how to get started with Google Analytics 4 video covering Enhanced Measurement.

Okay, we’ve covered events that are automatically tracked into your reports, but what if you want to track something else? Something a little more, well, custom?

The best place to start is by reviewing Google’s list of recommended events. Google’s list of recommended events is designed to give you a starting point for anything custom you want to track into Google Analytics 4. They’re grouped by industry, but you can use any recommended events that fit your needs. Recommended events are given for:

  • Events that apply to all properties
  • Events for online sales
  • Events for games

For example, if we look at the recommendations for websites (and apps) that sell things online, we will see generate_lead included in the list of events. However, we don’t need to be running an ecommerce website for this event to be useful. Any website aiming to capture leads should be using this event to report on the number of people entering their contact details.

The main thing to remember is that you can use any of these recommended events on your website if they’re appropriate.

My top picks from the list of recommended events include:

  • The select_content event for tracking actions within a page
  • The select _promotion event for tracking the number of times a special offer was clicked
  • The view_promotion event to understand the number of impressions of a special offer
  • The generate_lead event to track the number of leads you’ve captured
  • The view_item event to understand when people view particular products
  • The add_to_cart event to track people adding items to their shopping cart
  • The purchase event for successful ecommerce transactions

Along with recommended event names, Google also provides recommended parameters for each of these events. Once you’ve found an event name for what you need to track, you can then choose from the recommended parameters to send additional details to your reports.

If you would like to learn more about the recommended events, watch my tutorial on click, button, and form tracking. In the video, I show you how to track these elements, and you will see recommended events (and parameters) being configured in Google Tag Manager.

Custom Events in Google Analytics 4

If you’ve reviewed the events that are automatically tracked (including the Enhanced Measurement options), and you’ve checked the list of recommended events, then the final option is to create custom events. This is where you decide how to name your events.

You should aim for a consistent naming convention. And, ideally, it should follow Google’s recommended event names. This will help keep things clear and logical in your reports.

For example, you might let people rate products on your website. You could then create a new event named product-rating that collects people’s rating selections. Although you can name your events anything you like, it’s probably better to follow Google’s naming convention.

If we head back to the recommended events, we will see the naming convention for products include view_item and select_item, so we see the action or behavior is used first, followed by an underscore, then ‘item’. This doesn’t quite align with our custom event of product-rating. Instead, we should probably consider a custom event with the name of rate_item to follow a similar naming convention to other events that are already available in our reports.

You can then follow a similar approach for any parameters you send with your custom event. For example, we would use recommended parameters like items and item_id and a custom parameter rating (or similar) for the actual rating people selected.

This means we would end up sending the following event to Google Analytics for someone who rated a product five out of five:

Event NameParameter NameParameter Value
rate_itemitemsYellow Raincoat
 item_idSKU03873
 rating5

And if you want to see the event parameters in your reports, you will also need to register them as custom dimensions or metrics. We will cover registering custom definitions later in this post.

Sending Events to Google Analytics 4

There are different ways you can create new events and send them to Google Analytics 4. The first option is creating a new event based on an existing event. For example, if you want to create an event for people viewing a specific thank you page on your website. You can create a new event using the existing page_view event like this:

There are different ways you can create new events and send them to Google Analy

This new event will be reported every time the page_location parameter from the existing page_view event contains thank-you.

If you’re not able to base your new event on one already being sent to Google Analytics, you can create new event tags in Google Tag Manager. This lets you send new events for just about any action taking place on your website. We will look at this option in a moment.

You can also send events by modifying the Google Analytics tracking code (gtag.js). However, I recommend using Google Tag Manager for custom events. This gives you a robust tag management solution that will put you in control of your tags at a site-wide level instead of hardcoding individual events. For this reason, we’re going to skip the tracking code version for events, but you can see one example on Google Developers.

Creating New Events in the Interface

To create a new event based on an existing event, you’ll need edit-permission in Google Analytics. You can then navigate to ‘Events’ and select ‘Create Event’ on the top-right corner.

To create a new event based on an existing event, you’ll need edit-permission in

After selecting the data stream that contains the existing event, you can then name your new event, enter the conditions you want to use for matching, and then choose if you want to copy (or modify) the parameters for your new event.

After selecting the data stream that contains the existing event, you can then n

Once the conditions for your new event match an existing incoming event, you will begin to see your new event in the ‘Events’ report. Here’s an example:

Once the conditions for your new event match an existing incoming event, you wil

We can now see that the new generate_lead event is included in our reports.

Modifying GA4 Events in the Interface

Apart from creating new events, you can also modify existing events. This option lets you modify events, parameters, and values before they’re available in your reports.

To modify incoming events, navigate to ‘Events’ and select ‘Modify Event’ on the top-right corner.

To modify incoming events, navigate to ‘Events’ and select ‘Modify Event’ on the

You’ll need to select the data stream that includes the event you want to modify, name the modification, enter your conditions, and make the modifications. In the following example, we’re modifying the click event, which is automatically used to track outbound links:

You’ll need to select the data stream that includes the event you want to modify

Moving forward, the click event will be reported as outbound_link.

Sending Events Using Google Tag Manager

The best way to send custom events to Google Analytics 4 is by using Google Tag Manager. You can create a new tag using the ‘GA4 Event’ tag type:

The best way to send custom events to Google Analytics 4 is by using Google Tag

You can then name the event and add the parameters (and values) you would like to send to your reports. This example will send an event when people click on a promotional banner featured on the website:

You can then name the event and add the parameters (and values) you would like t

If you would like to learn more about creating these types of tags, I recommend watching my Google Tag Manager tutorial series on YouTube and checking out my Google Tag Manager Course.

Reporting on Your Events in Google Analytics 4

The most important thing to point out is that if you want to see the values of the parameters you’ve sent with your events, you will need to register them in Google Analytics. If you don’t register the parameter, you won’t see them in your reports.

To register a parameter, navigate to ‘Custom Definitions’, choose either ‘Custom Dimensions’ or ‘Custom Metrics’, and then select ‘Create’.

To register a parameter, navigate to ‘Custom Definitions’, choose either ‘Custom

Custom dimensions are generally used to report text-based information. For example, the name of a Country or the URL of a link someone has clicked. In comparison, custom metrics are used to report a numerical value, like a count or a percentage. For example, if you’re sending a dollar value as a parameter, you would register this as a metric.

For a dimension, you will need to give it a name, choose if you want it tied to the individual event (or assigned to the user), enter a description, and then select the name of the parameter you want to register.

For a dimension, you will need to give it a name, choose if you want it tied to

After your parameter is registered, you will find it in your Google Analytics 4 reports moving forward. And you will also be able to use it when creating custom reports (under ‘Analysis’ and then ‘Analysis Hub’).

We cover the reports in more detail in my GA4 course if you’re keen to learn more.

Conversions Based on Events

Once events are available in Google Analytics, you can enable them as a conversion in the interface. This lets you define important actions as a conversion. To do this, navigate to ‘All Events’ and then use the ‘Mark As Conversion’ toggle switch on the right.

Once events are available in Google Analytics, you can enable them as a conversi

Once you’ve marked an event as a conversion, it will be included in the ‘Conversions’ report.

The main thing to highlight is that the event will be reported as a conversion moving forward. And in some cases, you might need to create a new event before enabling it as a conversion (as we covered earlier in this post under creating events). For example, if you want to track an individual thank you page on your website as a conversion, then enabling the ‘page_view’ event as a conversion will mean ALL of your pages will be considered a conversion.

Learn more about configuring conversions in Google Analytics 4 for a full walk-through, or watch this tutorial:

Mapping Universal Analytics Events to Google Analytics 4 Events

If you’re already using event tracking with Universal Analytics, then I recommend documenting the current events. To get started, you can check the events reports in your Universal Analytics property by navigating to ‘Behavior’, then ‘Events’, and then ‘Top Events’.

If you’re already using event tracking with Universal Analytics, then I recommen

You should then check to see if any of these events will be replaced by the automatic tracking available in Google Analytics 4 (read the section where we covered Enhanced Measurement). If all of your events from Universal Analytics are automatically tracked, then you will be good to go. For example, if you implemented Universal Analytics events to track embedded YouTube videos, then Enhanced Measurement will look after this for you automatically.

However, if there are events that won’t be tracked automatically, then you’ll need to create a recommended event or a custom event. It’s essential to spend time thinking about how you translate your events from Universal Analytics to events in Google Analytics 4.

For example, you might have implemented events to track a chat widget on your website. Here’s how you might have named an event:

  • Event category: Chat Widget
  • Event action: Widget Opened
  • Event label:
  • Event value:

And then if someone sends you a message using the chat widget, you might have sent another event for:

  • Event category: Chat Widget
  • Event action: Widget Closed
  • Event label:
  • Event value:

If we were to translate this to events in Google Analytics 4, we have greater flexibility. For example, we might use the following event when people open the chat widget:

Event NameParameter NameParameter Value
chat_startchat_current_time0
 page_locationhttps://www.example.com/contact-us

And this event when people complete their chat:

Event NameParameter NameParameter Value
chat_completechat_current_time720
 page_locationhttps://www.example.com/contact-us
 agent_nameJessica J.
 chat_rating5

This is better than replicating the previous category, action, and label structure from Universal Analytics. There is also the opportunity to collect richer insights about the actions people take and their experience on your website.

Limits with Google Analytics 4 Events

There are some limits when it comes to Google Analytics 4 events. Most people using Google Analytics probably won’t reach these limits, but since events are so flexible, it’s good to know the constraints.

Event limits:

  • You can track up to 500 unique events.
  • The name of each event can be a maximum of 40 characters.

Parameter limits:

  • You can send up to 25 parameters with each event.
  • Each parameter’s name can be a maximum of 40 characters, and the value of the parameter can be a maximum of 100 characters.
  • You can register up to 50 text-based parameters and up to 50 numerical parameters from your events. You need to register a parameter for it to be available in your reports. (You can also register up to 25 parameters that are user-scoped.)

They’re the most important limits to be aware of when it comes to events, but you can also check out Google’s full list of collection and configuration limits.

Summary of Setting up Events

Before you start configuring new events in Google Analytics 4, I recommend you take the time to review your current implementation and decide what events you need to track. It’s always a good idea to tie your Google Analytics setup to the objectives of your organization.

Here are some important questions to ask:

1. Are you already tracking events into Universal Analytics?

If you are, then document the events that are already being used before answering the next question.

And if you don’t have a Universal Analytics property in Google Analytics, you can jump straight to the next question.

2. Is automatic event tracking (including Enhanced Measurement) enough?

If you want to track scrolls, outbound clicks, site search, embedded YouTube videos, or file downloads, they can all be tracked automatically. You’ll need to check the Enhanced Measurement configuration for each of your data streams in Google Analytics.

If there are other behaviors or information you want to see in your reports, then it’s time to answer the next question.

3. Do the recommended events cover what you want to track?

Review the recommended events section in this post. See if the event you want to track can use one of the recommended naming conventions. If one of the recommended events works, then head straight to question five.

And if your event doesn’t fit with any of the recommended events, you’ll need to come up with names for your custom events and then head to the next question.

4. Do your custom events follow Google’s naming convention?

Ideally, your custom events will follow Google’s naming convention. Review the custom events section in this post for an example. Then it’s time to implement event tracking on your website.

5. Can you use existing triggers in Google Tag Manager to fire new event tags?

Once you’re happy with the naming for your event and its parameters, it’s time to create your event tag. In most cases, you should aim to implement the event using Google Tag Manager. If you’ve implemented other tags on your website, then it’s worth taking the time to see if existing triggers can be used with your new event tag.

6. Will the event you’re looking to track provide valuable insights?

Finally, it’s always worth ensuring that what you track aligns with your objectives. You can track just about anything on your website (or in your app), so take a moment to ask yourself if the data will provide valuable insights. If not, then consider skipping that particular event.


Get the Guide to Events in Google Analytics 4

In a hurry? You can also download this post. Get my Guide to Events in Google Analytics 4 PDF.

Download The Guide to Events in GA4


Comments