website-setup
GA4 Events and Custom Tracking: 5 Tested Steps in 2026

On This Page (10 sections)
Want to stop Google from tracking your phone and browser? We ran 72-hour Wireshark packet captures and tested open-source replacements for Search, Gmail, Drive, Photos, and Android.
read our complete DeGoogle Starter Pack and benchmark dataHave you ever felt a bit lost when diving into GA4? On our workbench, our team certainly did! During our team’s first month exploring Google Analytics 4, we were completely overwhelmed by the variety of events available. Some popped up automatically, while others needed a bit of manual setup, and there were also those that Google recommended but didn’t enforce. Figuring out which ones to use and when was quite a puzzle.
After auditing dozens of tracking setups, our team realized that GA4 categorizes events into three main tiers: automatic, recommended, and custom. Each tier serves a specific architectural role in your measurement pipeline.
📋 GA4 Event Architecture Comparison Matrix
Use automatic events for baseline traffic, recommended events for standard conversions, and custom events strictly when tracking custom app interactions.
| Event Tier | Setup Method | Modifiable? | Native Report Support | Max Limit per Property |
|---|---|---|---|---|
| Automatic Events | Zero code (Built-in GA4 tag) | No | All standard engagement reports | Fixed system events |
| Enhanced Measurement | Toggle switch in Data Stream UI | Limited | Scroll, Outbound, Site Search reports | Fixed 6 event types |
| Recommended Events | GTM or gtag('event') code | Names predefined | Ecommerce, Lead Gen, Games reports | 500 unique event names |
| Custom Events | Custom GTM trigger or JavaScript | Fully custom | Requires Custom Dimension registration | 500 unique event names |
1. Automatic Events: The Freebies
Automatic events (page_view, session_start, first_visit) fire immediately when your gtag script runs, without needing extra code tags.
Automatic events start recording the exact millisecond your GA4 measurement snippet executes in the browser:
page_view: Fires every time the browser pushes a new URL state.session_start: Fires when a user begins a new interaction session (after 30 minutes of inactivity).first_visit: Fires the first time a user interacts with your domain.user_engagement: Fires periodically while the browser tab remains in active focus.
These events take care of the essentials for you. Plus, if you have enabled Enhanced Measurement (which our team highly recommends in Admin > Data Streams), you automatically receive scroll (90% depth), click (outbound external links), view_search_results, video_start, and file_download.
2. Recommended Events: The Industry Template
Always use Google’s official recommended names (like generate_lead or purchase) instead of invented strings to populate pre-built funnel reports.
Recommended events are predefined by Google across four vertical categories: Generic Web, Retail/E-Commerce, Jobs/Real Estate, and Gaming.
If you run an e-commerce platform, use:
view_item: Triggered on product detail page load.add_to_cart: Triggered when an item is added to the shopping cart.begin_checkout: Triggered on cart transition to the payment gateway.purchase: Triggered on the final receipt page withtransaction_id,value, andcurrency.
For B2B or content publications:
generate_lead: Triggered on successful newsletter or contact form submission.sign_up: Triggered on user account creation.share: Triggered when visitors click social syndication buttons.
3. Custom Events: Your Own Rules
When tracking actions outside Google’s standard schema, send custom events via gtag() and register your parameters in the GA4 Admin console.
When none of Google’s recommended names accurately represent your user interaction (such as calculating mortgage estimates or running an interactive benchmark calculator), build a custom event:
// gtag-custom-event.js
// Send custom benchmark calculator event to GA4
window.gtag("event", "calculate_vram_usage", {
model_family: "DeepSeek-R1",
parameter_count: "70B",
quantization_level: "Q4_K_M",
required_vram_gb: 42.5
});
Critical Requirement: Register Custom Dimensions
Simply sending parameter_count to GA4 will NOT make it appear in standard reports! You must navigate to Admin $\rightarrow$ Data display $\rightarrow$ Custom definitions and register model_family and quantization_level as Event-scoped Custom Dimensions.
4. How to Choose the Right Event Type
If enhanced measurement already captures it, leave it alone; if Google defines a recommended event, adopt their syntax; otherwise, write a scoped custom event.
Use this simple decision tree:
- Can Enhanced Measurement handle it? If yes, enable the toggle switch (e.g. PDF downloads or 90% scroll depth).
- Does a recommended event match the intent? If someone completes a contact form, do not name it
form_done—name itgenerate_lead. - Is it unique to your application logic? If yes, design a custom event with clear snake_case formatting (e.g.,
run_hardware_diagnostic).
5. Implementing Events with Google Tag Manager
To wire up events in Google Tag Manager, link a GA4 Event Tag to your base tag and populate parameters from Data Layer variables.
Google Tag Manager decouples event tracking from production code deployments:
- Open GTM $\rightarrow$ Tags $\rightarrow$ New.
- Tag Configuration: Choose Google Analytics: GA4 Event.
- Measurement ID: Select your Configuration Variable.
- Event Name: Set to
generate_lead(or your custom string). - Event Parameters: Add key-value pairs (e.g.,
lead_type: newsletter). - Triggering: Select your form submit trigger or custom event listener.
6. Common Pitfalls to Avoid in Production
Keep event names lowercase, watch out for double-firing enhanced measurement triggers, and stay well under the 500-event property limit.
- Duplicating Enhanced Measurement: Firing a custom
link_clickevent when GA4’soutbound_clickis active inflates event counts by 2x. - Case Sensitivity Flaws: GA4 treats
Generate_Leadandgenerate_leadas two completely separate events. Always enforce strict lowercase snake_case. - Event Sprawl: Properties have a 500-event limit, but logging dozens of noisy events clutters reporting tables. Maintain an internal tracking dictionary.
7. Frequently Asked Questions
Common questions about GA4 event limits, parameter registration, and retroactive data processing.
Q: Can I modify automatic events?
A: No, automatic events come with predefined names and parameters that you cannot change. If you need different data, create a custom event that fires alongside the automatic one.
Q: How many custom events can I create?
A: GA4 allows up to 500 unique event names per web property. Keep your catalog lean to avoid cluttering BigQuery schemas.
Q: Do recommended events work without GTM?
A: Yes, you can send recommended events directly from your website code using the gtag() function or the Measurement Protocol. GTM simply makes governance easier.
Q: What happens if I make a typo in an event name?
A: GA4 will store the typo as a separate, permanent event name. Always test new tracking scripts in the GA4 DebugView before publishing.
References & Further Reading
Official Google documentation and related technical analytics runbooks.
Get Our Sysadmin & AI Runbooks Direct to Your Inbox
Join 2,500+ engineers receiving our weekly PowerShell automation scripts, root cause analyses, and hardware diagnostic playbooks.
Frequently Asked Questions: GA4 Events and Custom Tracking: 5 Tested Steps in 2026
Can I modify automatic events?
How many custom events can I create?
Do recommended events work without GTM?
What happens if I use the wrong event name?
Can I rename an event after creating it?
Add PraveenTechWorld as a preferred source in your Google Search results.
Explore more: Browse all website setup guides or check related articles below.


