What You Will Learn
- The four categories of GA4 events — automatically collected, enhanced measurement, recommended, and custom
- What GA4 collects automatically without any additional configuration
- How enhanced measurement works and which events it adds
- What recommended events are and why following the schema matters
- How to create custom events — via GTM, gtag.js, and the GA4 interface
- What event parameters are and how to create custom dimensions from them
- How to designate events as conversions (key events) in GA4
- How to build a measurement plan that documents your entire event strategy
- The standard e-commerce event schema for GA4
- How to debug and validate events using DebugView
GA4 Event Types
GA4 organises events into four categories, distinguished by how they are created and what they measure. Understanding this hierarchy prevents the common mistake of creating custom events for things GA4 already measures — which creates duplicate data and measurement confusion.
| Category | Created By | Examples |
|---|---|---|
| Automatically collected | GA4, requiring only the base tag | session_start, first_visit, page_view, user_engagement |
| Enhanced measurement | GA4 when Enhanced Measurement is enabled in stream settings | scroll, click, view_search_results, video_start, file_download |
| Recommended | You, following Google's naming schema | purchase, sign_up, login, add_to_cart, begin_checkout |
| Custom | You, with any name and parameters you define | form_submit, trial_start, document_download, chat_opened |
Automatically Collected Events
These events fire automatically when you install the GA4 tag — no additional configuration needed:
- first_visit. Fires when a user visits for the first time on a device. Used to measure new user acquisition.
- session_start. Fires at the beginning of each new session. Sessions in GA4 are defined by 30 minutes of inactivity — a new session begins after 30 minutes with no events, or when the session extends past midnight in the reporting time zone.
- page_view. Fires on every page load (and in SPAs when history-based navigation is used). Contains the page_location, page_referrer, and page_title parameters.
- user_engagement. Fires when a user has been engaged with the page for at least 1 second with the page in the foreground. This powers GA4's "engaged sessions" metric — a session with at least one user_engagement event, a conversion event, or a session duration over 10 seconds.
Enhanced Measurement Events
Enhanced Measurement adds these events when enabled in the data stream settings (all on by default):
- scroll. Fires when a user scrolls to 90% depth on a page. The 90% threshold is fixed — GA4 does not natively track multiple scroll depth thresholds. If you need 25%, 50%, 75%, and 90% thresholds, you need a custom implementation via GTM.
- click. Fires when a user clicks a link that leaves the domain (outbound click). Parameters include link_url, link_text, and outbound (boolean).
- view_search_results. Fires when a user submits an on-site search query. Requires configuration of the search query parameter name in the stream settings (typically "q", "s", "query", or "search").
- video_start, video_progress, video_complete. Fires on YouTube embeds with the JS API enabled. Does not fire on native HTML5 video or non-YouTube embeds without additional implementation.
- file_download. Fires when a user clicks a link to a file with a matching extension (pdf, doc, xlsx, zip, etc.). The extension list is configurable in stream settings.
Recommended Events
Google maintains a list of recommended event names for common business scenarios. Using these names — rather than creating custom event names for the same interactions — enables two things: GA4's pre-built reports that use these event names work correctly; and Google can apply standard parameters and reporting logic to the events. If you implement a purchase event and call it "conversion" instead of "purchase," none of GA4's e-commerce reports will recognise it.
Key recommended events by business type:
| Event Name | When to Use |
|---|---|
| purchase | A purchase is completed. Required for e-commerce revenue reporting. |
| add_to_cart | A product is added to the shopping cart. |
| begin_checkout | A user initiates the checkout process. |
| sign_up | A user creates an account or registers. |
| login | A user logs in. |
| generate_lead | A lead form is submitted. |
| view_item | A product detail page is viewed. |
| search | A user performs an on-site search. |
| share | A user shares content. |
| tutorial_begin / tutorial_complete | A user starts or completes an onboarding tutorial. |
Custom Events
Custom events measure interactions not covered by auto-collected, enhanced measurement, or recommended events. Three implementation methods:
Via Google Tag Manager
In GTM: create a new Tag → GA4 Event → configure with your Measurement ID and event name → set the trigger (the GTM trigger that fires when the interaction occurs). Example: fire a "contact_form_submit" event when the contact form's thank-you page loads (trigger: Page View → Page Path contains "thank-you"). GTM is the preferred method for most custom events because it does not require code changes to the website itself.
Via gtag.js
Call gtag directly in your site's JavaScript: gtag('event', 'event_name', {'parameter_name': 'parameter_value'});. This method requires developer access to add code at the correct interaction point, but is more precise for events triggered by complex user interactions that are difficult to capture with GTM triggers alone.
Via GA4 interface (event modification)
GA4 allows creating new events from existing events using the "Create event" feature (Admin → Data Display → Events → Create event). This is useful for creating a derived event from an existing event — for example, creating a "newsletter_signup" event from the existing form_submit event filtered to a specific form ID. No code changes required, but this method only works when the source event is already being collected.
Event Parameters and Custom Dimensions
Parameters are additional data attached to events — they describe the context of the event. The click event includes link_url and link_text as parameters; the purchase event includes transaction_id, value, currency, and items. Parameters are what make events analytically useful — without them, you know something happened but not what specifically.
Registering custom dimensions
GA4 collects custom parameters in events but does not display them in reports unless they are registered as Custom Dimensions (for text/string parameters) or Custom Metrics (for numeric parameters). Register a custom dimension: Admin → Data Display → Custom Dimensions → Create. Once registered, the parameter data appears in reports within 24–48 hours — data collected before registration is not retroactively reported.
GA4 limits: 50 custom event-scoped dimensions, 25 user-scoped dimensions, 50 item-scoped dimensions per property (for standard properties; GA4 360 has higher limits). Plan your custom dimension strategy carefully — you cannot recover unused quota once a dimension is registered and cannot delete registered dimensions.
Key Events (Conversions)
In GA4, "conversions" are called "key events" — events that are designated as particularly important to the business. Designating an event as a key event causes it to appear in conversion columns throughout GA4 reports and enables it to be imported into Google Ads as a conversion action for Smart Bidding.
To mark an event as a key event: Admin → Data Display → Events → find the event → toggle "Mark as key event." Events must have fired at least once before they appear in this list. Key events are retroactive — once marked, historical data for that event is counted in conversion reports.
Which events should be key events?
- Macro conversions: purchases, lead form submissions, phone call clicks, booking completions — the primary business goals
- For sites using key events in Google Ads Smart Bidding: only the conversions you want Google Ads to optimise for. Including every micro-conversion (scrolls, page views) in Smart Bidding optimisation targets dilutes the signal and degrades bid strategy performance.
- Micro-conversions (newsletter sign-up, brochure download, pricing page visit) can be key events in GA4 for funnel analysis without being imported into Google Ads bidding
The Measurement Plan
A measurement plan is a document (typically a spreadsheet) that specifies every event to be tracked, its trigger, its parameters, whether it is a key event, and who is responsible for implementation. It is the contract between the business strategy and the technical implementation.
Measurement plan columns
| Column | Contents |
|---|---|
| Event name | Exact GA4 event name (snake_case, max 40 chars) |
| Type | Auto / Enhanced / Recommended / Custom |
| Trigger | What user action fires this event |
| Parameters | List of parameters with data types and example values |
| Custom dimensions needed | Which parameters need to be registered as dimensions |
| Key event? | Yes/No — is this a conversion? |
| Implementation method | Auto / GTM / gtag.js / GA4 interface |
| Status | Planned / Implemented / Verified |
E-commerce Events
GA4 e-commerce measurement uses a specific set of recommended events that must be implemented in order for the Monetisation reports to populate. These events follow the Google Analytics 4 e-commerce schema documented in Google's developer documentation. The key events in the purchase funnel:
- view_item_list → view_item → add_to_cart → view_cart → begin_checkout → add_payment_info → purchase
Each event requires specific parameters — the purchase event requires at minimum: transaction_id, value, currency, and an items array containing item_id, item_name, and price. Without these parameters in the correct format, e-commerce reports will not display correctly. Google's e-commerce developer documentation contains the complete parameter specification for each event.
Debugging Events
- DebugView (Admin → DebugView). Activate with the Google Analytics Debugger Chrome extension. Shows every event firing in real time with all parameters — the primary tool for event validation.
- GA4 Realtime report. Shows events firing in the last 30 minutes. Less detail than DebugView but accessible without a browser extension.
- GTM Preview mode. If using GTM, Preview mode shows which tags fire on each page load and user interaction — with the network request details including event names and parameters sent to GA4.
- Common event errors: Events not appearing (tag not on page; trigger condition not met; adblocker blocking); parameters showing as "(not set)" (parameter not passed; custom dimension not registered); duplicate events (tag firing twice; GTM trigger firing on both DOM Ready and Window Loaded).
Authentic Sources
Every factual claim in this guide is drawn from official Google documentation, regulatory bodies, or platform-published technical specifications. No third-party blogs or marketing tools are used as primary sources. All content is written in our own words — we learn from official sources and explain them; we never copy.
Official reference for all automatically collected, enhanced measurement, and recommended GA4 events with their parameters.
Official implementation guide for the GA4 e-commerce event schema.
Official documentation on creating and managing custom events in GA4.
Official documentation on marking events as key events (conversions) in GA4.