GA4 Events Setup Guide: How to Track What Actually Matters in 2026
Analytics · Rama Krushna Pati · 2026-11-05

Quick answer: GA4 events are the single data model Google Analytics 4 uses for every interaction - page views, clicks, form submits and purchases are all events with parameters. To set them up, turn on enhanced measurement, add recommended events in Google Tag Manager, create custom events only for gaps, mark key events and verify in DebugView.
Most GA4 properties I audit for US small businesses and SaaS teams have the same problem: plenty of data, very little of it useful. Page views are there, maybe a scroll event, but the actions that pay the bills - demo requests, calls, trial signups, checkouts - are either missing or double counted. This guide walks through how I set up event tracking from scratch so the reports answer real business questions.
How GA4 events work
In Universal Analytics you had hits with a category, action and label. GA4 replaced that with one flexible model: everything is an event, and every event can carry parameters that describe it.
Event names and parameters
An event has a name (for example generate_lead) and a set of parameters (for example form_name, value, currency). GA4 automatically attaches some parameters, such as page location and page title. You add the rest. To use a custom parameter in standard reports, you register it as a custom dimension or metric in the admin settings.
The four types of GA4 events
| Event type | Examples | Setup needed | When to use |
|---|---|---|---|
| Automatically collected | first_visit, session_start, user_engagement | None | Always on; baseline engagement |
| Enhanced measurement | page_view, scroll, click (outbound), file_download, form_start, video_start | Toggle in the data stream | Quick wins for content and engagement |
| Recommended | generate_lead, sign_up, login, purchase, begin_checkout | You implement, using Google's names | Any action Google already has a name for |
| Custom | book_demo_click, pricing_toggle, calculator_complete | You implement and name | Only when no recommended event fits |
The rule I follow: use an automatic or recommended name whenever one fits. Recommended GA4 events unlock built-in reports and play better with Google Ads, while custom names are invisible to those features.
Step 1: Plan your GA4 events with a measurement plan
Before touching Tag Manager, write a one-page measurement plan. It saves hours of cleanup later.
- List your business goals. For a B2B SaaS site that is usually demo requests, free trial signups and pricing page engagement. For a local service business it is calls, quote forms and direction clicks.
- Map each goal to an action on the site. "More qualified leads" becomes "submits the demo form with a work email."
- Pick the event name. Use a recommended name if one exists, otherwise a short, lowercase, snake_case custom name.
- Define the parameters. Decide what context you need: form name, plan type, CTA location, value.
- Flag which events are key events. Usually three to six. If everything is a key event, nothing is.
Here is a simplified example plan for a hypothetical SaaS company in Austin, Texas:
| Business action | Event name | Key parameters | Key event? |
|---|---|---|---|
| Demo form submitted | generate_lead | form_name, lead_source | Yes |
| Free trial started | sign_up | method, plan | Yes |
| Pricing page plan toggle | pricing_toggle | billing_period | No |
| Phone number clicked | click_to_call | cta_location | Yes |
| Case study PDF downloaded | file_download | file_name | No |
Step 2: Turn on enhanced measurement
In GA4, go to Admin, then Data streams, select your web stream and open enhanced measurement. Turn on page views, scrolls, outbound clicks, site search, video engagement and file downloads.
Two cautions from experience:
- Form interactions can be noisy. GA4 may fire
form_startandform_submitfor newsletter boxes, search bars and forms that fail validation. I usually leave it on for discovery but never treat the automatic form submit as a key event. A dedicated lead event is far more reliable. - Page changes based on browser history matter for single-page apps built in React or Vue. If your site changes URLs without a full page load, make sure this option is on, or page views will be undercounted.
Step 3: Set up recommended and custom GA4 events in Google Tag Manager
Google Tag Manager (GTM) is where most of the real work happens. Make sure your Google tag (the GA4 configuration) fires on all pages first, then add event tags.
Example: tracking a lead form submit
- Choose the trigger. The most reliable option is a thank-you page view or a dataLayer push from your developer, such as
dataLayer.push({event: 'lead_submitted', form_name: 'demo'}). Generic form submission triggers often fail with modern form builders. - Create the tag. Add a new "Google Analytics: GA4 Event" tag, enter your measurement ID and set the event name to
generate_lead. - Add parameters. Map
form_nameand any other context from dataLayer variables. - Attach the trigger and save.
- Preview in Tag Assistant, submit a test form, and confirm the tag fired once - not twice.
Naming rules that keep reports clean
- Use lowercase snake_case:
book_demo_click, notBook Demo Click. - Keep names under 40 characters and avoid reserved prefixes such as
ga_,google_andfirebase_. - Never put personal data (emails, names, phone numbers) in event names or parameters. That violates Google's policies.
- Do not create one event per button. Use one event with a parameter, for example
cta_clickwithcta_location = header.
If you also run Meta ads, plan the same actions for the Meta pixel and server events at the same time - my Meta Conversions API setup guide covers that side.
Step 4: Mark key events and register custom dimensions
Once your events arrive, go to Admin, then Events (or Key events) and mark the business-critical ones as key events. This is the GA4 term that replaced "conversions" inside Analytics, though Google Ads still calls imported actions conversions.
Next, register your custom parameters. Go to Admin, then Custom definitions, and create a custom dimension for each parameter you want to report on, such as form_name or cta_location. Parameters that are not registered are still collected but will not appear in standard reports.
For lead generation businesses, my GA4 conversion tracking checklist for lead gen goes deeper on linking key events to Google Ads and assigning values.
Step 5: Test and debug before you trust the data
Never publish a GTM container without testing. My QA routine:
- Open Tag Assistant preview mode and walk through every tracked action.
- In GA4, open Admin, then DebugView, and confirm each event appears once with the right parameters.
- Check the Realtime report from a normal browser session (not preview mode) to confirm production tags work.
- Test with consent declined if you run a cookie banner, so you understand what consent mode v2 does to your data.
- Recheck reports after 48 hours to confirm counts look reasonable against your CRM or backend.
Common GA4 events mistakes to avoid
- Double firing. Two tags, or both a hardcoded gtag snippet and GTM, sending the same event. Compare GA4 lead counts to your CRM.
- Too many key events. Marking scrolls or page views as key events inflates conversion rates and confuses ad bidding.
- Unregistered parameters. Teams collect great context and then cannot see it because nobody created the custom dimension.
- No internal traffic filter. Your own team testing forms can pollute small accounts. Define internal traffic by IP and activate the filter.
- No UTM discipline. Clean events mean little if traffic sources are messy. See my guide to UTM parameters best practices.
If you would rather have someone audit your setup, you can book a consultation and I will walk through your property with you.
Key takeaways
- GA4 events are the foundation of all GA4 reporting; every interaction is an event with parameters.
- Use automatic and recommended event names first, and create custom events only for real gaps.
- Write a measurement plan before building anything in Google Tag Manager.
- Mark only three to six business-critical actions as key events and register the parameters you need.
- Test every change in Tag Assistant and DebugView, then reconcile counts against your CRM.
GA4 Events FAQ
What is the difference between events and key events in GA4?
Every interaction GA4 records is an event. A key event is simply an event you have flagged as important to your business, such as a lead form submit or a purchase. Key events get their own reporting columns and are the ones you typically import into Google Ads as conversions.
How many custom events can I create in GA4?
GA4 caps the number of distinct event names, parameters per event and registered custom dimensions, and the current limits are listed in the Google Analytics Help Center. For most businesses the limit you hit first is registered custom dimensions, so plan parameters carefully instead of creating a new event for every variation.
Do I need Google Tag Manager to create GA4 events?
No. You can create and modify some events inside the GA4 interface and send others with gtag.js code. Google Tag Manager is still the most practical option for most marketing teams because you can add, test and version events without waiting on a developer release.
How long does it take for GA4 events to show up in reports?
Events appear in DebugView and the Realtime report within seconds to minutes. Standard reports and explorations can take up to 24-48 hours to fully process, so verify new events in DebugView first rather than waiting for the reports.
Why are my GA4 events not showing up?
The most common causes are a tag that is not firing, a trigger that does not match, consent settings blocking collection, or an internal traffic or data filter excluding the hits. Use Tag Assistant preview mode and DebugView together to see whether the event is sent and whether GA4 receives it.
Sources and further reading
Written by Rama Krushna Pati — Growth & Performance Marketing Manager with 7+ years in B2B SaaS, Tech and EdTech. Need help? Book a consultation or see my services.