In GA4, every interaction is an event. GA4 collects many events automatically; to track specific actions like button clicks or form submissions you create custom events in Admin > Events or with Google Tag Manager. New custom events can take 24 to 48 hours to appear in standard reports.
GA4 tracks a lot of things automatically: page views, scrolls, outbound clicks. But the actions that matter most to your business (form submissions, button clicks, sign-ups) usually need custom event tracking.
This tutorial walks you through how GA4 events work and how to set up tracking for the specific actions you care about.
Before you start: Make sure GA4 is installed on your site. If you haven’t done that yet, follow our installation guide first.
How events work in GA4
In GA4, every interaction is an “event.” There’s no separate category for pageviews vs. clicks vs. transactions. They’re all events with different names.
Events in GA4 fall into four categories:
1. Automatically collected events
These fire without you doing anything:
first_visit: Someone visits your site for the first timesession_start: A new session beginsuser_engagement: Someone is actively on your site
You can’t turn these off and you don’t need to configure them.
2. Enhanced Measurement events
These are tracked automatically when Enhanced Measurement is turned on (it is by default):
page_view: A page loadsscroll: Someone scrolls to 90% of a pageclick(outbound): Someone clicks a link that leaves your siteview_search_results: Someone uses your site searchfile_download: Someone downloads a filevideo_start,video_progress,video_complete: YouTube video interactions
Check this now: Go to Admin > Data Streams > your stream > Enhanced Measurement and make sure these are turned on.
3. Recommended events
Google has a list of event names they suggest for common actions. Using these names means GA4 can generate better reports automatically.
Some examples:
| Event name | What it tracks |
|---|---|
sign_up | User creates an account |
login | User logs in |
purchase | User completes a purchase |
generate_lead | User submits a lead form |
add_to_cart | User adds item to cart |
begin_checkout | User starts checkout |
When possible, use Google’s recommended event names instead of making up your own. GA4 knows how to handle them better.
4. Custom events
Anything specific to your business that doesn’t fit the categories above. Examples:
clicked_pricing_buttondownloaded_whitepaperwatched_demo_videoclicked_phone_number
You name these whatever makes sense for your business.
How to create a custom event in GA4
There are two ways to create custom events: inside GA4 directly, or through Google Tag Manager. We’ll cover both.
Method 1: Create events in GA4 (no code needed)
This works when you want to create a new event based on an existing event. For example, creating a “signed_up” event that fires when someone views your thank-you page.
Step 1: Go to Admin > Events > Create Event.
Step 2: Click Create.
Step 3: Give your event a name. Use lowercase and underscores, for example lead_form_submitted.
Step 4: Set the conditions. This is where you tell GA4 when this event should fire.
For a thank-you page event, your conditions would be:
| Parameter | Operator | Value |
|---|---|---|
event_name | equals | page_view |
page_location | contains | /thank-you |
This says: “When a page_view event fires AND the page URL contains ‘/thank-you’, also fire my custom event.”
Step 5: Click Create.
You should see: Your new event listed in the Events table. It won’t show data immediately. It only fires when someone matches the conditions.
Method 2: Use Google Tag Manager (more flexible)
Google Tag Manager (GTM) gives you more control. You can track things like specific button clicks, form submissions, scroll depth at custom percentages, and more. For the full walkthrough of the most common case, see how to track button clicks with GTM.
The basic GTM approach:
- Create a Trigger: What should cause the event to fire? (Example: “Click on element with class
.cta-button”) - Create a Tag: What should happen when the trigger fires? (Example: “Send a GA4 event called
cta_clicked”) - Publish: Push the changes live.
This is a bigger topic. Start with the Google Tag Manager guide. For now, if you’re working with a developer or have GTM installed, the event names and structure described here apply the same way.
How to mark events as key events
Not every event is equally important. A page view is an event, but it’s not the same as a purchase. GA4 lets you flag the events that matter most to your business as key events (this is what used to be called a “conversion”).
Step 1: Go to Admin > Data display > Events.
Step 2: Find the event you want to promote.
Step 3: Click the star icon next to it.
That’s it. GA4 now tracks that event as a key event, and it shows up in your key events reporting.
For the full walkthrough, including counting methods and how to send a key event to Google Ads as a conversion, see our guide on setting up conversions and key events in GA4.
Which events should be conversions?
This depends on your business. Common choices:
- Lead generation site: Form submissions, phone clicks, chat starts
- E-commerce: Purchases, add-to-cart, begin checkout
- Content site: Newsletter sign-ups, resource downloads
- SaaS: Sign-ups, trial starts, demo requests
A good rule: if someone doing this action would make your boss happy, it’s a conversion.
How to check if your events are working
Realtime check
The fastest way:
- Go to Reports > Realtime in GA4.
- Open your website in another tab.
- Trigger the action you’re tracking (submit the form, click the button, etc.).
- Look at the “Event count by Event name” card in the Realtime report.
You should see: Your custom event name appearing in the list within a few seconds.
DebugView (more detailed)
GA4 has a built-in debug tool:
- Install the Google Analytics Debugger Chrome extension.
- Turn it on (click the extension icon).
- Go to your website and trigger the event.
- In GA4, go to Admin > DebugView.
You should see: A timeline of events, including your custom event with all its parameters listed.
DebugView shows you exactly what data GA4 is receiving. If something looks wrong, this is where you’ll spot it.
Event naming best practices
A few rules that will save you headaches:
Use lowercase with underscores. GA4 event names are case-sensitive. Form_Submit, form_submit, and FORM_SUBMIT would be three different events. Pick lowercase with underscores and stick with it.
Be specific but readable. cta_clicked is too vague if you have 10 CTAs. pricing_page_cta_clicked tells you exactly what happened.
Use Google’s recommended names when they fit. If you’re tracking purchases, use purchase, not completed_order or bought_something. GA4 builds special reports around the recommended event names.
Don’t go overboard. Track the actions that answer business questions. You don’t need an event for every mouse movement.
What to do next
You’ve got events set up and tracking the actions that matter. Here are your next steps:
- Mark your most important events as key events so they show up in your key events reports (see the key events guide)
- Report on event details like button name or author by turning event parameters into custom dimensions
- Wait a few days for data to accumulate, then check your Reports > Engagement > Events report to see how often each event fires
- Connect to Google Ads (if you run ads) so conversions flow into your ad reporting for better campaign tracking
The events you set up here are the foundation for everything else in GA4: dashboards, conversion tracking, audience building, and campaign measurement all build on top of events. For the bigger picture, see the GA4 beginner’s guide.