What I Do

GA4 Events and Parameters: Automatic, Enhanced, Recommended, Custom

8 min read

All GA4 data is collected as events. How automatic, enhanced measurement, recommended, and custom events differ, what parameters are, and how to see them in reports.

GA4 Events and Parameters: Automatic, Enhanced, Recommended, Custom

GA4 (Google Analytics 4) records every user action, from page views to purchases, as an event. Events fall into four types depending on how they're collected: automatically collected events, enhanced measurement events, recommended events, and custom events. Each event carries parameters that describe the situation in more detail. In this post, I've summarized the differences between the four event types and the concept of parameters.

When you open a GA4 report, you've probably been thrown at least once by a row of names like page_view, session_start, and scroll. Questions like "Who set this up?" and "Which events do we need to create ourselves?" naturally follow. Working in digital marketing, I've come to feel this distinction is the first thing needed whenever GA4 comes up, so in this post I'll go through the basics of events and parameters step by step.

1. What Is an Event in GA4?

The events help article describes an event as a unit that measures a specific interaction or occurrence on your website or app. A page loading, a link being clicked, and a purchase being completed are all events, and things that happen in the system, like an app crashing or an ad being served, can also be captured as events.

A household budget book makes this easy to picture. Just as you write an item like "lunch" on a line in the budget book and fill in the amount, place, and payment method in the next columns, GA4 records an event name like purchase on one line and attaches details like the amount or products as parameters. If only the item is written down, you know "what was done" but not "how much or where." In the same way, event names alone have limits for analysis, which is why parameters are needed alongside them.

2. What Are the Four Types of Events?

The same help article broadly divides events into those collected automatically and those you need to implement yourself.

TypeSetup needed?Description
Automatically collected eventsNoCollected by default once you install the Google tag or Firebase SDK
Enhanced measurement eventsTurned on and off in the GA4 interfaceCollected without code changes once you enable enhanced measurement
Recommended eventsImplement yourselfEvents whose names and parameters Google has defined in advance
Custom eventsImplement yourselfEvents whose names and parameters you define yourself

The first two accumulate as long as the tag is installed and enhanced measurement is on, while the last two appear in reports only if you send them yourself with gtag.js or Google Tag Manager (GTM). The developer documentation also divides them into the same four types and notes that automatically collected and enhanced measurement events don't need any extra setup.

3. Which Events Are Collected Automatically?

According to the automatically collected events help article, the following events are recorded on the web without extra code.

  • first_visit: When a user visits the website for the first time
  • session_start: When a user engages with the website or app and a session starts
  • user_engagement: When the web page has been in focus for at least one second

The enhanced measurement help article describes options you can turn on and off by choosing a web stream under Admin > Data streams. The main ones are these.

  • page_view: When a page loads or the browser history state changes. This event can't be turned off.
  • scroll: The first time the 90% vertical depth of each page becomes visible
  • click: When a link leading away from the current domain is clicked (outbound clicks)
  • view_search_results: When the URL has a search query parameter like q, s, or search
  • file_download: When a link to a file such as a PDF or Excel file is clicked
  • form_start, form_submit: When a user first interacts with a form in a session, and when a form is submitted
  • video_start, etc.: When an embedded YouTube video with JS API support enabled is played

So how should you measure actions that aren't on this list, like sign-ups or consultation requests?

The order is simple: check the recommended events list first, and create a custom event only when nothing fits. The recommended events help article lists events recommended for all industries, such as login, sign_up, generate_lead (submitting a form or a request for information), and purchase, along with events for online sales, lead generation, and games. If you send them with the defined names and parameters, the dimensions and metrics that are already prepared get populated, so you can use the reports right away.

The custom events help article also recommends checking whether something is already measured by an automatically collected or recommended event before creating a custom event. And the events help article explains that custom events don't appear in most standard reports, so you need to set up custom reports or explorations separately.

When naming custom events, you should also look at the naming rules.

  • They're case-sensitive: my_event and My_Event are different events.
  • They start with a letter: Use only letters, numbers, and underscores, with no spaces.
  • Reserved names can't be used: This includes names like page_view, session_start, and first_visit.

5. What Are Parameters, and How Do You See Them in Reports?

A parameter is a name-value pair that carries additional information about an event. The sign_up example in the developer documentation shows the structure at a glance.

gtag("event", "sign_up", {
  method: "Google"
});

sign_up is the event name, method is the parameter name, and "Google" is the value that came in this time. The parameter name stays the same while only the value changes depending on the situation, which is what lets you compare data from many sessions on the same basis. For reference, on the web, parameters like page_location, page_referrer, page_title, language, and screen_resolution are collected by default with every event, including custom events.

To see the parameters you send yourself in reports, one more step is needed. According to the custom dimensions help article, you need to register parameters as custom dimensions (text values) or custom metrics (numeric values), and they become available in reports 24 to 48 hours after registration. On a standard property, you can create up to 50 event-scoped custom dimensions, so I recommend registering the parameters you really need to see first.

It's also good to know the limits in the collection limits help article. The figures below are for standard properties.

ItemLimit
Parameters per event25
Event name length40 characters
Parameter name length40 characters
Parameter value length100 characters (exceptions: page_title 300, page_referrer 420, page_location 1,000 characters)

Summary

GA4 events are divided into automatically collected and enhanced measurement events, which accumulate just by installing the tag and setting up enhanced measurement, and recommended and custom events, which you have to send yourself. If you need to measure something new, look for a recommended event first, and remember that parameters must be registered as custom dimensions before you can see them in reports. You can check the events you send in the Realtime report or DebugView, so please refer to the official help articles linked in this post for detailed setup.

FAQ

Do enhanced measurement events need separate setup?
You don't need to change any code. They're collected once you turn on enhanced measurement in the data stream settings in the GA4 Admin screen, and you can turn off individual options too. However, page_view can't be turned off.
Why don't my custom events show up in reports?
According to the official help, custom events don't appear in most standard reports, so you need to set up custom reports or explorations. The parameters you send with them also need to be registered as custom dimensions or metrics before you can see them in reports.
How many parameters can I send with one event?
On a standard property, 25 per event. Parameter names can be up to 40 characters and values up to 100 characters, with page_title, page_referrer, and page_location allowed to be longer as exceptions.