Complete GA4 Guide
Master Google Analytics 4 from setup to advanced analysis in 2025.
Introduction
Google Analytics 4 (GA4) is Google's current analytics platform, having fully replaced Universal Analytics (UA) in July 2023. GA4 represents a fundamental shift in how digital analytics works—moving from session-based to event-based tracking.
In 2025, GA4 processes data for over 28 million websites worldwide, making it the dominant web analytics platform. Understanding GA4 is essential for measuring the performance of all your marketing channels.
Key Insight: GA4 isn't just an upgrade—it's a complete reimagining of analytics. Everything is an event, privacy is built-in, and machine learning powers insights automatically.
GA4 vs Universal Analytics
GA4 and Universal Analytics are fundamentally different:
| Aspect | Universal Analytics | GA4 | |--------|--------------------|----| | Data Model | Session-based | Event-based | | Tracking | Pageviews + Events | Everything is an event | | Cross-Platform | Web only | Web + App unified | | Privacy | Cookie-dependent | Privacy-first, cookieless support | | Machine Learning | Limited | Built-in predictions | | BigQuery | Paid (360 only) | Free for all | | Data Retention | Unlimited | 2-14 months |
Why Google Made the Switch
- Privacy regulations (GDPR, CCPA) require less reliance on cookies
- Cross-device journeys need unified web + app tracking
- Machine learning can fill gaps when data is incomplete
- Future-proofing for a cookieless world
The Biggest Mindset Shifts
UA Thinking → GA4 Thinking
"How many sessions?" → "How many engaged sessions?"
"Bounce rate" → "Engagement rate"
"Goals" → "Key events (conversions)"
"Views" → "Data streams"
"Segments" → "Audiences + Comparisons"Account Structure
GA4 uses a hierarchical structure:
Google Analytics Account
├── Property (GA4)
│ ├── Data Stream (Web)
│ ├── Data Stream (iOS App)
│ └── Data Stream (Android App)
├── Property (GA4) - Another site
│ └── Data Stream (Web)
└── Account Settings
├── User Management
└── Account AccessKey Components
Account Level:
- Organization container
- User permissions management
- Can contain multiple properties
- Billing and account settings
Property Level:
- Single measurement entity
- Contains all your data
- Configuration settings
- Audiences, conversions, custom definitions
Data Stream Level:
- Individual data source
- Web stream (website)
- App streams (iOS, Android)
- Measurement ID (G-XXXXXXX)
Account Limits
| Resource | Limit | |----------|-------| | Properties per account | 2,000 | | Data streams per property | 50 | | Custom dimensions | 50 event-scoped, 25 user-scoped | | Custom metrics | 50 | | Audiences | 100 | | Conversions | 30 |
The Event-Based Data Model
In GA4, everything is an event. This is the most important concept to understand.
Event Structure
// Every interaction is an event with parameters
{
"event_name": "purchase",
"parameters": {
"transaction_id": "T12345",
"value": 99.99,
"currency": "USD",
"items": [...]
}
}Event Categories
| Category | Description | Examples | |----------|-------------|----------| | Automatically Collected | Tracked without configuration | first_visit, session_start, page_view | | Enhanced Measurement | Toggle on/off in UI | scroll, outbound_click, file_download, video_start | | Recommended Events | Google-suggested names | purchase, sign_up, add_to_cart | | Custom Events | You define these | custom_button_click, pricing_view |
Key Automatically Collected Events
first_visit - First time user visits
session_start - New session begins
page_view - Page is loaded
user_engagement - User actively engagedEnhanced Measurement Events
Enable in Admin → Data Streams → Enhanced Measurement:
| Event | Trigger | |-------|---------| | page_view | Page loads (history change) | | scroll | 90% page depth reached | | outbound_click | Click to external domain | | site_search | Site search performed | | video_start | Embedded video starts | | video_progress | 10%, 25%, 50%, 75% watched | | video_complete | Video finishes | | file_download | File download initiated | | form_start | Form interaction begins | | form_submit | Form submitted |
2025 Platform Updates
GA4 continues to evolve rapidly. Key 2025 updates include:
AI-Powered Insights
Generated Insights in Reports:
├── Automatic anomaly detection
├── Trend identification
├── Suggested causes for changes
└── Natural language explanationsNew in 2025: AI-generated insights appear directly in reports, explaining traffic spikes, drops, and unusual patterns automatically.
Improved Conversion Accuracy
August 2025 updates addressed:
- Under-reporting fixes
- Duplicate session elimination
- Reduced reporting latency
- Better cross-device attribution
Enhanced Event Tracking
No-code event creation expanded:
- Track button clicks without code
- Form submission tracking
- Video engagement
- Custom interactions via UI
Key Events & Conversions Clarification
Terminology (2024+):
Key Events = Important actions in GA4 reports
Conversions = Key Events imported to Google Ads
An event can be both a Key Event AND a ConversionOther 2025 Updates
- Copy reports/explorations between properties
- Campaign Data Import (renamed from Cost Data)
- User-Provided Data enhancements for attribution
- Measurement Protocol improvements for server-side
Getting Started Checklist
## Account Setup
□ Create Google Analytics account (analytics.google.com)
□ Create GA4 property
□ Add web data stream
□ Install tracking code (gtag.js or GTM)
□ Verify data in Realtime report
□ Set timezone and currency
□ Configure data retention (14 months recommended)
## Essential Configuration
□ Enable Enhanced Measurement events
□ Link Google Ads account
□ Link Google Search Console
□ Set up key events (conversions)
□ Configure cross-domain tracking (if needed)
□ Set up internal traffic filters
□ Create essential audiences
## Advanced Setup
□ Implement custom events for key actions
□ Configure custom dimensions/metrics
□ Set up BigQuery export
□ Enable Google Signals (for demographics)
□ Configure User-ID tracking (if applicable)
□ Set up Consent Mode (for GDPR/CCPA)
## Verification
□ Test all events in DebugView
□ Verify conversions are tracking
□ Check Realtime for data flow
□ Review data quality metricsPro Tip: Don't skip the verification step. Use DebugView (Admin → DebugView) to watch events fire in real-time during testing. This catches 90% of tracking issues before they affect your data.