The GA4 events you should set up immediately
Learn which events to configure in Google Analytics 4 from the start. Cover enhanced measurement, recommended events, and must-track custom events.
GA4's event-based tracking is powerful, but it's also easy to miss important actions because nobody told you what to configure. Let me save you from that.
Here's what you should have set up from day one, organized from automatic to custom.
Understanding GA4 event types
Before we dive in, know that GA4 has four categories of events:
| Type | Description | Setup Required |
|---|---|---|
| Automatically collected | Always tracked | None |
| Enhanced measurement | Tracked if enabled | Toggle on/off |
| Recommended | Google's suggested events | Custom implementation |
| Custom | Your unique events | Full custom setup |
Let's go through each.
Automatically collected events
These fire no matter what. You can't turn them off.
| Event | What it tracks |
|---|---|
first_visit | User's first visit to your site |
session_start | Beginning of a new session |
page_view | Every page load (and history changes for SPAs) |
user_engagement | When the page is in focus |
Action required: Nothing. Just know they exist.
Enhanced measurement events
These are automatic BUT you can toggle them. They're enabled by default for new data streams.
Where to configure
Admin → Data Streams → [Your Stream] → Enhanced measurement
What each event tracks
| Event | What it tracks | Keep on? |
|---|---|---|
| Page views | All page loads | ✅ Always |
| Scrolls | 90% scroll depth | ✅ Usually |
| Outbound clicks | Clicks leaving your domain | ✅ Usually |
| Site search | Internal search queries | ✅ If you have search |
| Video engagement | YouTube embed interactions | ✅ If applicable |
| File downloads | PDF, DOC, etc. downloads | ✅ Usually |
| Form interactions | Form starts and submits | ⚠️ Often unreliable |
About form interactions
I recommend disabling form interactions. It's the least accurate enhanced measurement and often triggers false positives and misses real submissions. Use GTM for proper form tracking instead.
How to verify enhanced measurement
- Go to Admin → DebugView
- Navigate your site
- Watch for
scroll,click,file_downloadevents - Trigger a search and look for
view_search_results
Recommended events to implement
Google defines "recommended events" for common use cases. Using their exact naming conventions unlocks enhanced reporting and integrations.
For all websites
| Event | When to fire | Required parameters |
|---|---|---|
login | User logs in | method (optional) |
sign_up | User creates account | method (optional) |
share | User shares content | method, content_type, item_id |
search | User searches (beyond enhanced measurement) | search_term |
For e-commerce
| Event | When to fire | Key parameters |
|---|---|---|
view_item | Product page view | items[] array |
add_to_cart | Add to cart | items[], value, currency |
remove_from_cart | Remove from cart | items[] |
begin_checkout | Start checkout | items[], value, currency |
purchase | Complete purchase | transaction_id, items[], value, currency |
For detailed e-commerce setup, see our e-commerce quick start guide.
For lead generation
| Event | When to fire | Key parameters |
|---|---|---|
generate_lead | Form submission | value (optional), currency |
view_item | Viewing a service/product page | Adapt items[] for services |
select_content | Engaging with specific content | content_type, item_id |
For content sites
| Event | When to fire | Key parameters |
|---|---|---|
view_item | Article/content view | content_type, item_id |
select_content | Click on content | content_type, item_id |
share | Content share | method, item_id |
Custom events you likely need
Beyond Google's recommendations, here are events I set up for almost every client:
CTA clicks
Track when users click important buttons:
gtag('event', 'cta_click', {
'cta_text': 'Get Started',
'cta_location': 'header',
'page_path': '/pricing'
});
Newsletter signup
gtag('event', 'newsletter_signup', {
'form_location': 'footer',
'page_path': window.location.pathname
});
Contact form submission
gtag('event', 'contact_form_submit', {
'form_type': 'contact',
'page_path': window.location.pathname
});
Scroll depth milestones
Enhanced measurement only tracks 90% scroll. For deeper analysis:
// Track at 25%, 50%, 75%
gtag('event', 'scroll_milestone', {
'scroll_depth': '50',
'page_path': window.location.pathname
});
External link clicks (specific destinations)
Enhanced measurement tracks all outbound clicks. But you might want to track specific valuable ones separately:
gtag('event', 'partner_link_click', {
'partner_name': 'PartnerCo',
'link_url': 'https://partner.com/signup'
});
Event naming conventions
Follow these rules to avoid data chaos:
| Rule | Example |
|---|---|
| Use snake_case | form_submit ✅ not formSubmit ❌ |
| Start with action verb | download_pdf ✅ not pdf_downloaded ❌ |
| Be specific | pricing_cta_click ✅ not click ❌ |
| Keep consistent | Same format across all events |
Important: Event names are case-sensitive.
form_submitandForm_Submitare different events. Stick to lowercase.
Registering event parameters
If you send custom parameters, you need to register them in GA4 to use them in reports.
Step-by-step
- Go to Admin → Custom definitions
- Click Create custom dimension
- Enter:
- Dimension name (e.g., "Form Location")
- Scope: Event
- Event parameter name (e.g.,
form_location)
- Save
Limits
| Type | Free GA4 | GA4 360 |
|---|---|---|
| Event-scoped dimensions | 50 | 125 |
| User-scoped dimensions | 25 | 100 |
Priority setup checklist
Day one, get these configured:
Enhanced measurement:
- Page views enabled
- Scrolls enabled
- Outbound clicks enabled
- File downloads enabled
- Site search enabled (if applicable)
- Form interactions DISABLED (use GTM instead)
Key events to mark:
- Your primary conversion (purchase, sign_up, generate_lead)
- Secondary conversions (add_to_cart, form_start)
Custom tracking (via GTM):
- Primary form submissions
- CTA button clicks
- Newsletter signups
- Any other business-critical actions
Custom dimensions:
- Register parameters you're sending
- Only register what you'll actually analyze
Testing everything
DebugView is your friend
- Enable GA Debug extension
- Go to Admin → DebugView
- Perform each action you're tracking
- Verify events fire with correct parameters
GTM Preview Mode
If using Tag Manager:
- Click Preview in GTM
- Enter your site URL
- Perform actions
- Verify tags fire when expected
- Check that parameters are populated
What's next?
Once your events are configured:
- Mark important events as key events
- Set up GTM properly for advanced tracking
- Build dashboards to monitor your events
Need a cleaner way to see what's working? Try Analayer. We make GA4 data actually make sense.
See your analytics clearly
Stop struggling with Google Analytics. Connect your account and get a cleaner, simpler view of your data in seconds.