If you learned analytics in Universal Analytics, you probably think in sessions, pageviews and "category, action, label" events. Google Analytics 4 throws that model out. In GA4, everything is an event: a page view is an event, a scroll is an event, a purchase is an event, and even the start of a session is an event.
That change makes GA4 more flexible, but it also means the quality of your reporting depends almost entirely on which events you collect and how you name them. A property with sloppy, inconsistent events produces reports nobody trusts. A property with a short, well-planned event list makes questions like "which campaign brought in leads that actually qualified?" easy to answer.
This guide explains the four types of GA4 events, the naming rules and limits that trip people up, a step-by-step process for setting events up, how to test them before you rely on them, and the mistakes we see most often when auditing client accounts in 2026.
Key Takeaways
- GA4 records every interaction as an event, each with optional parameters that add detail.
- There are four event types: automatically collected, enhanced measurement, recommended and custom. Use them in that order of preference.
- Use Google's recommended event names (such as
generate_leadandpurchase) wherever one fits, because they unlock built-in reports. - Custom parameters need to be registered as custom dimensions before they appear in reports.
- Always test new events in DebugView before marking them as key events or importing them into Google Ads.
What is an event in GA4?
Google's own definition is short and useful:
“An event allows you to measure a specific interaction or occurrence on your website or app.”
— Google Analytics Help, About events
Each event has a name (for example file_download) and can carry parameters, which are key-value pairs describing the event (for example file_name or link_url). Some parameters, such as the page location and page title, are attached to every event automatically. Others you add yourself.
This flat, flexible model is what lets GA4 combine website and app data, build audiences from any behaviour, and feed key events into advertising platforms. If you are new to the platform, start with our complete GA4 guide and come back here for the event layer.
The four types of GA4 events
Google groups events into four categories. Understanding the difference saves you from building custom tracking for things GA4 already measures.
| Event type | Who sets it up | Examples | When to use |
|---|---|---|---|
| Automatically collected | GA4, as soon as the tag is installed | first_visit, session_start, user_engagement, page_view | Always on. Nothing to configure. |
| Enhanced measurement | GA4, when the toggle is on in your web data stream | scroll, click (outbound), view_search_results, video_start, file_download, form_start, form_submit | Turn on, then switch off any that create noise (form tracking is the usual suspect). |
| Recommended | You, using Google's predefined names and parameters | generate_lead, sign_up, login, add_to_cart, purchase | Whenever Google has a name for the action you want to track. |
| Custom | You, with names you invent | quote_calculator_complete, pricing_toggle | Only when no automatic, enhanced or recommended event fits. |
Enhanced measurement: what you get for free
According to Google's documentation, enhanced measurement fires a scroll event the first time a user reaches 90% vertical depth on a page, a click event for links that lead away from your domain, view_search_results when a URL query parameter indicates a site search, video events for embedded YouTube videos (start, progress at 10%, 25%, 50% and 75%, and complete), file_download for links to common file types, and form_start and form_submit for form interactions.
These are useful defaults, but they are generic. A 90% scroll event tells you little on a short page, and the built-in form events can fire on newsletter boxes, search boxes and checkout forms alike. Treat them as a starting point, not as your lead tracking.
Recommended events: use Google's names first
Google publishes recommended event lists for all properties, online sales and lead generation. The lead-generation list, for example, includes generate_lead, qualify_lead, disqualify_lead, working_lead, close_convert_lead and close_unconvert_lead. Google's developer documentation describes recommended events as standardised events that "unlock prebuilt reporting panels". In practice that means the ecommerce reports only fill in properly if you use names like view_item, add_to_cart, begin_checkout and purchase with the expected parameters.
Custom events: the last resort
Custom events are for genuinely unique interactions, such as completing a pricing calculator or toggling between monthly and annual plans. They are powerful, but every custom event you add is another thing to document, maintain and explain to colleagues.
Naming rules and limits you need to know
GA4 is strict about event names and parameters, and it fails silently. Data that breaks the rules may simply not show up. These are the main limits from Google's event collection and configuration limits pages:
| Item | Limit (standard GA4) |
|---|---|
| Distinct event names (web streams) | No limit (app streams: 500 per app user) |
| Event name length | 40 characters |
| Parameters per event | 25 |
| Parameter name length | 40 characters |
| Parameter value length | 100 characters (longer for page_location, page_title and page_referrer) |
| Event-scoped custom dimensions | 50 per property |
| User-scoped custom dimensions | 25 per property |
| Key events | 30 per property |
Good naming habits matter as much as the hard limits:
- Use lowercase
snake_case(quote_request, notQuote Request). Event names are case-sensitive, soQuote_Requestandquote_requestbecome two different events. - Do not reuse reserved names or prefixes (such as
firebase_,google_orga_). - Name the action, not the location. Use one
generate_leadevent with aform_nameparameter rather than separate events for every form. - Keep a tracking plan (a simple spreadsheet) listing every event, its trigger, its parameters and its owner.
How to set up GA4 events: step by step
- List the business questions first. Write down what you need to know, for example "which channels drive quote requests" or "how many visitors use the price calculator". Each question maps to one or two events.
- Check what already exists. Open Reports > Engagement > Events (or Admin > Events) to see what GA4 is collecting automatically and via enhanced measurement.
- Map each action to a recommended event. Only create a custom name when nothing on Google's recommended lists fits.
- Choose your implementation method. For most marketing sites, Google Tag Manager is the most maintainable option: a trigger (such as a form success message or a data layer push) fires a GA4 event tag. Developers can also send events directly with gtag.js (see the code below).
- Add useful parameters. Include context that will help you segment later, such as
form_name,serviceorvalueandcurrencyfor anything with monetary value. - Test in DebugView and Tag Assistant. Confirm each event fires once, at the right moment, with the right parameters.
- Register custom parameters. In Admin > Custom definitions, register any parameter you want to report on as a custom dimension or metric.
- Mark the important ones as key events. Only the actions that represent business value, such as
generate_leadorpurchase, should be GA4 key events. - Document and review. Update your tracking plan and review it quarterly, or whenever the site changes.
Here is what a basic gtag.js call for a lead event looks like, following the syntax in Google's developer documentation:
gtag('event', 'generate_lead', {
form_name: 'contact_footer',
service: 'local_seo',
value: 50,
currency: 'USD'
});
You can also create or modify events inside the GA4 interface (Admin > Events) based on existing events, for example creating a thank_you_view event when page_view fires on a URL containing /thank-you/. This is handy for quick fixes, but code or Tag Manager is more reliable for anything important.
Testing events with DebugView
Never trust an event you have not watched fire. Google is explicit that DebugView needs debug mode:
“You must enable debug mode to use DebugView.”
— Google Analytics Help, Monitor events in DebugView
The simplest route is Tag Assistant or Tag Manager's Preview mode, which turns on debug mode for your browser. You can also set debug_mode: true in your gtag config. Then open Admin > DebugView and work through your checklist:
- Does the event fire exactly once per action (not twice on double clicks or page reloads)?
- Are all parameters present, correctly spelled and populated with real values?
- Does the event respect your consent banner? If you use Consent Mode, test both accepted and declined states.
- Does it fire on every relevant template, including mobile layouts?
Turning events into insight
Once events are flowing, they become the raw material for almost everything else in GA4:
- Standard reports. The events report shows counts and users per event; see our guide to GA4 reports for where to find them.
- Explorations. Funnel and path explorations let you see the sequence of events before a lead or sale. Our GA4 explorations guide walks through the main templates.
- Audiences. You can build GA4 audiences from event behaviour, such as people who started but did not submit a quote form, and share them with Google Ads.
- Campaign analysis. Combine key events with clean UTM parameters to compare campaigns fairly.
- Ads optimisation. Key events can be imported as conversions; our Google Ads conversion tracking guide explains the trade-offs.
Common mistakes with GA4 events
- Relying on enhanced measurement form events as lead tracking.
form_submitcan fire on failed submissions and on non-lead forms. Track the success state (thank-you page or confirmation message) instead. - Inventing custom names when a recommended one exists. You lose the prebuilt reporting and make benchmarks harder.
- One event per button. Dozens of near-identical events (
click_header_cta,click_footer_cta) bloat reports. Use one event with a parameter. - Forgetting to register parameters. Parameters that are not registered as custom dimensions do not appear in standard reports, and registration is not retroactive.
- Marking too many key events. If scrolls and page views are key events, your "conversion rate" becomes meaningless.
- Sending personal data. Never put email addresses, names or phone numbers into event parameters or URLs. Google's policies prohibit sending personally identifiable information to Analytics.
- Not testing after site changes. A redesign or new form plugin can silently break triggers. Re-test after every release.
Related Guides
- GA4 Key Events: How to Choose, Set Up and Report on Them
- GA4 Reports: Which Ones to Use and How to Customize Them
- GA4 Explorations: A Practical Guide to Every Technique
Frequently Asked Questions
What is an event in GA4?
An event is any interaction or occurrence you measure, such as a page view, scroll, form submission or purchase. GA4 records every hit as an event with optional parameters.
What is the difference between an event and a key event?
Every key event is an event, but you mark only the handful of events that matter most to the business (such as purchase or generate_lead) as key events. Key events power conversion-style reporting and can be imported into Google Ads.
Why don't my custom event parameters show up in reports?
Custom parameters must be registered as custom dimensions or metrics in Admin before they appear in standard reports and explorations, and they only populate from the moment you register them.
Do I need Google Tag Manager to send GA4 events?
No. You can send events with gtag.js code or create some events in the GA4 interface, but Tag Manager makes it far easier to manage many events without editing site code.
How many events can I track in GA4?
Google states there is no limit on distinct event names for web data streams, while app streams are limited to 500 distinct event names per app user. Each event can carry up to 25 parameters.
Get event tracking you can trust
GA4 events are only as useful as the plan behind them. Start with your business questions, use Google's recommended names, keep parameters tidy, and test everything before you report on it. With clean events in place, you can build a marketing dashboard that leadership actually believes.
If you would rather have specialists audit and rebuild your tracking, our team sets up GA4 and Tag Manager as part of our conversion optimization service. Request a quote and we will review your current event setup.
References
- About events – Analytics Help
- Enhanced measurement events – Analytics Help
- Recommended events – Analytics Help
- Event collection limits – Analytics Help
- Configuration limits – Analytics Help
- Monitor events in DebugView – Analytics Help
- Set up events – Google Analytics for Developers
- Google Analytics 4 Events Guide: Event Tracking Explained – Semrush Blog



