Google Analytics 4 Complete Guide
Overview
Google Analytics 4 (GA4) is Google's event-based analytics platform for measuring user interactions across websites and applications. Every user interaction is tracked as an event with associated parameters, providing flexible cross-platform measurement.
When to Use This Skill
Invoke this skill for any GA4-related task:
- •Setting up GA4 properties, data streams, and Measurement IDs
- •Installing GA4 via gtag.js, GTM, or CMS plugins
- •Implementing event tracking (automatic, recommended, custom, ecommerce)
- •Creating custom dimensions, audiences, and reports
- •Exporting data to BigQuery for SQL analysis
- •Server-side tracking via Measurement Protocol
- •User ID and cross-device tracking
- •Privacy compliance, Consent Mode, and GDPR/CCPA
- •Testing and debugging with DebugView
Quick Start
- •Create property: analytics.google.com -> Admin -> Create -> Property
- •Create data stream: Add web stream, note Measurement ID (G-XXXXXXXXXX)
- •Install tracking (choose one):
- •GTM (recommended): Install container, create Google Tag with Measurement ID, trigger on All Pages, publish
- •gtag.js direct:
html
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXXXXX'); </script>
- •Verify: Enable GA Debugger extension, check Admin -> DebugView for session_start, page_view
- •Send custom events:
javascript
gtag('event', 'button_click', { button_name: 'Subscribe', button_location: 'header' });
Decision Tree: Which Reference Do I Need?
code
What are you trying to do? Setting up GA4 for the first time? -> references/setup.md Understanding how events work? -> references/events-fundamentals.md Implementing standard tracking events? -> references/recommended-events.md Creating business-specific custom events? -> references/custom-events.md Making parameters appear in reports? -> references/custom-dimensions.md Implementing User ID / cross-device? -> references/user-tracking.md Building audiences for remarketing? -> references/audiences.md Analysing data in GA4 reports? -> references/reporting.md Exporting to BigQuery for SQL analysis? -> references/bigquery.md Installing via gtag.js directly? -> references/gtag.md Setting up GA4 in Google Tag Manager? -> references/gtm-integration.md Sending events from server/backend? -> references/measurement-protocol.md Testing and debugging implementation? -> references/debugview.md Implementing GDPR/Consent Mode? -> references/privacy.md Configuring Admin settings? -> references/data-management.md
Core Concepts
Event-Based Model
GA4 tracks everything as events in four categories:
| Category | Description | Examples |
|---|---|---|
| Automatic | Fire without configuration | session_start, first_visit |
| Enhanced Measurement | Toggle on/off in settings | scroll, click, file_download |
| Recommended | Google-defined with standard parameters | purchase, login, sign_up |
| Custom | Business-specific tracking | demo_requested, trial_started |
Key Limits
| Limit | Value |
|---|---|
| Event names per property | 500 distinct |
| Parameters per event | 25 |
| Event name length | 40 characters |
| Parameter name/value length | 40 / 100 characters |
| Custom dimensions (event/user/item) | 50 / 25 / 10 |
| Audiences per property | 100 |
Measurement ID
- •Format:
G-XXXXXXXXXX(G- prefix + 10 alphanumeric characters) - •Location: Admin -> Data Streams -> Web Stream
- •Used in: gtag.js config, GTM tags, Measurement Protocol
Common Workflows
Ecommerce Tracking
- •Review recommended events for the purchase funnel: view_item -> add_to_cart -> begin_checkout -> purchase
- •Structure items array (required: item_id OR item_name; recommended: price, quantity, item_category)
- •Test with DebugView, then register custom item parameters as custom dimensions
Cross-Device Tracking
- •Implement User ID and configure Reporting Identity (Admin -> Data Settings)
- •Set user properties and build cross-device audiences
GDPR Compliance
- •Set up Consent Mode with default denied state
- •Integrate with CMP (OneTrust, Cookiebot, etc.), update consent on user acceptance
- •Test consent implementation with DebugView
Custom Reports
- •Understand available data in reporting
- •Register custom parameters as dimensions, create Explorations
- •For unsampled data, export to BigQuery
Best Practices
- •Naming: Use snake_case, be descriptive and action-oriented, keep under 40 characters, avoid generic names
- •Implementation order: Enhanced Measurement -> recommended events -> custom events -> custom dimensions
- •Data quality: Separate test/production properties, set up internal traffic filters from day one, document all custom events, audit regularly with DebugView, export to BigQuery for backup