Why the Data Model Matters
If you do not understand how GA4 collects data, you will struggle to configure it correctly, interpret reports, or debug tracking issues.
This article explains the GA4 data model from first principles - no assumptions, no jargon left unexplained.
Everything Is an Event
In GA4, every interaction that gets recorded is called an event.
A pageview is an event. A click is an event. A purchase is an event. A scroll is an event.
There is only one type of data structure in GA4 - the event - and everything else is built on top of it.
This is fundamentally different from Universal Analytics, which had multiple hit types (pageview, event, transaction, etc.) with different fields and rules.
What an Event Looks Like
An event has two parts:
- Event name - identifies what happened
- Event parameters - provide context about what happened
Example:
Event name: purchase
Parameters:
transaction_id: "ORD-1234"
value: 149.99
currency: "USD"
items: [...]
Another example:
Event name: page_view
Parameters:
page_title: "Homepage"
page_location: "https://example.com/"
page_referrer: "https://google.com/"
Every event you see in GA4 reports follows this structure.
Types of Events in GA4
GA4 organises events into four categories.
1. Automatically Collected Events
GA4 collects these without any configuration the moment you install the tag.
Examples:
first_visit- first time a user visitssession_start- start of a new sessionpage_view- every page loaduser_engagement- triggered when the page is in focus for 1+ seconds
2. Enhanced Measurement Events
These are collected automatically when you enable Enhanced Measurement in your data stream settings.
Examples:
scroll- when a user scrolls 90% down a pageclick- outbound link clicksview_search_results- when a user searches on the sitevideo_start,video_progress,video_complete- YouTube embedsfile_download- PDF, ZIP, and other file downloads
3. Recommended Events
These are events Google recommends you implement based on your industry. They have predefined names and parameters that GA4 and Google Ads understand natively.
Examples for ecommerce:
view_itemadd_to_cartbegin_checkoutpurchase
Examples for lead generation:
generate_leadloginsign_up
You are not required to use these names, but if you do, GA4 can generate additional insights automatically.
4. Custom Events
Any event you define yourself with a name and parameters of your choosing.
Example:
Event name: quote_requested
Parameters:
service_type: "SEO"
budget_range: "2000-5000"
Use custom events for actions that are specific to your business and not covered by recommended events.
What Are Parameters?
Parameters are key-value pairs attached to an event that give it context.
Without parameters, an event just tells you something happened. With parameters, it tells you what happened, in what context, with what details.
Event Parameters
Scoped to a single event. They describe that specific interaction.
Example on purchase:
value- the order valuecurrency- the currency codetransaction_id- unique order ID
User Properties
These describe the user, not the event. They persist across sessions.
Examples:
logged_in_statuscustomer_type(new vs returning)preferred_language
User properties allow you to segment reports and build audiences based on who the user is, not just what they did.
The Session in GA4
Even though GA4 is event-based, sessions still exist - they just work differently.
A session in GA4 starts when a session_start event fires. It is identified by a session_id parameter attached to every subsequent event in that session.
A session ends after 30 minutes of inactivity (the same default as UA), but unlike UA:
- Sessions do not reset at midnight
- Sessions do not reset when the campaign source changes
This means GA4 session counts will differ from UA session counts - usually showing fewer, longer sessions.
How GA4 Identifies Users
GA4 uses a hierarchy of identity signals to recognise returning users.
In order of priority:
- User ID - a unique ID you assign when a user logs in (most accurate)
- Google Signals - cross-device tracking via Google account sign-in (requires consent)
- Device ID - client ID stored in a cookie (
_gacookie), or app instance ID
If a user logs in on both mobile and desktop with a User ID, GA4 can unify their behaviour into a single user journey. Without User ID, GA4 treats each device as separate.
Custom Dimensions and Metrics
By default, GA4 only reports on a predefined set of parameters in standard reports.
To report on custom parameters, you need to register them as custom dimensions or metrics in GA4.
- Custom dimensions - text-based parameters (e.g.
service_type,user_role) - Custom metrics - numeric parameters (e.g.
score,items_viewed)
You register these in: GA4 → Admin → Custom Definitions → Custom Dimensions
Until a parameter is registered as a custom dimension, it will not appear in standard reports (though it is still stored and accessible in Explorations and BigQuery).
The Data Model in Practice
Here is how a typical user journey looks in GA4’s data model:
- User lands on your site →
page_viewevent fires withpage_location,page_referrer - User scrolls 90% →
scrollevent fires - User clicks a product →
view_itemevent fires withitem_id,item_name,price - User adds to cart →
add_to_cartevent fires - User completes checkout →
purchaseevent fires withtransaction_id,value,currency,items
Every step is an event. Every event has parameters. The parameters make the data useful.
Why This Model Is More Powerful
The event + parameter model gives you flexibility that Universal Analytics never had.
In UA, if you wanted to track something custom, you had to fit it into a rigid Category / Action / Label / Value structure. Reporting was limited to those four dimensions.
In GA4, you can attach any parameters you need to any event and report on them in Explorations or BigQuery - with no structural constraints.
This makes GA4 more complex to learn but far more capable as a measurement tool.
Final Thoughts
Understanding events and parameters is the foundation of everything in GA4.
Once you understand this model:
- Setting up tracking becomes logical, not guesswork
- Debugging becomes faster
- Reports become readable
- Audiences become more precise
In the next article of this series, we will cover:
Setting up GA4 from scratch - the right way (property, data stream, GTM).
Related Posts
GA4 Explorations - How to Build Custom Reports That Actually Answer Business Questions
9 min read
The GA4 Reports You Actually Need as a Google Ads Advertiser
8 min read
GA4 vs Universal Analytics - What Actually Changed and Why It Matters
7 min read
Need Help With Your Google Ads?
I help e-commerce brands scale profitably with data-driven PPC strategies.
Get In Touch