Part of our website setup guide series

website-setup

GA4 Events and Custom Tracking: 5 Tested Steps in 2026

Praveen6 min read
Minimal flat editorial illustration of event trigger branching paths with an alert amber custom parameter block
Photo by Carlos Muza on Unsplash
On This Page (10 sections)
Privacy Benchmark & Migration Hub

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 data

Have 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 TierSetup MethodModifiable?Native Report SupportMax Limit per Property
Automatic EventsZero code (Built-in GA4 tag)NoAll standard engagement reportsFixed system events
Enhanced MeasurementToggle switch in Data Stream UILimitedScroll, Outbound, Site Search reportsFixed 6 event types
Recommended EventsGTM or gtag('event') codeNames predefinedEcommerce, Lead Gen, Games reports500 unique event names
Custom EventsCustom GTM trigger or JavaScriptFully customRequires Custom Dimension registration500 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.


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 with transaction_id, value, and currency.

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:

  1. Can Enhanced Measurement handle it? If yes, enable the toggle switch (e.g. PDF downloads or 90% scroll depth).
  2. Does a recommended event match the intent? If someone completes a contact form, do not name it form_done—name it generate_lead.
  3. 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:

  1. Open GTM $\rightarrow$ Tags $\rightarrow$ New.
  2. Tag Configuration: Choose Google Analytics: GA4 Event.
  3. Measurement ID: Select your Configuration Variable.
  4. Event Name: Set to generate_lead (or your custom string).
  5. Event Parameters: Add key-value pairs (e.g., lead_type: newsletter).
  6. 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_click event when GA4’s outbound_click is active inflates event counts by 2x.
  • Case Sensitivity Flaws: GA4 treats Generate_Lead and generate_lead as 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.

Web InfrastructureSponsored Web Platform
Free PowerShell & Sysadmin Toolkit

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.

Zero spam. Unsubscribe anytime in 1 click.

Frequently Asked Questions: GA4 Events and Custom Tracking: 5 Tested Steps in 2026

Can I modify automatic events?
No, automatic events come with predefined names and parameters that you can't change. If you need different data, you'll have to create a custom event that fires alongside the automatic one.
How many custom events can I create?
GA4 allows for up to 500 unique event names per property, but honestly, most sites won't need that many. Too many events can create more noise than insight.
Do recommended events work without GTM?
Yes, you can send recommended events directly from your website code using the gtag() function or the Google Analytics Measurement Protocol. GTM just makes it easier to manage everything.
What happens if I use the wrong event name?
GA4 will store the event as it is. It won't check for typos or correct any invalid names. So, your data might appear in your reports, but not where you expected.
Can I rename an event after creating it?
Unfortunately, no. GA4 doesn't support renaming events. You can delete unused events from the admin panel, but any historical data tied to the old name will remain.
Get Independent Tech Benchmarks First

Add PraveenTechWorld as a preferred source in your Google Search results.

Prefer on Google
P
Praveen

IT ops lead in India. I break Windows, Android and self-hosted AI stacks on my workbench, then write down what actually fixed them.

Explore more: Browse all website setup guides or check related articles below.