What is Google Analytics 4?

Google Analytics 4 (GA4) is Google's latest analytics platform that tracks how users interact with your website or app. It's event-based, meaning it tracks user actions rather than just page views.

# GA4 vs Universal Analytics (Old Version)

Universal Analytics (Sunset July 2023):
- Session-based: Focused on visits
- Page views as primary metric
- Limited cross-device tracking

Google Analytics 4:
- Event-based: Every interaction is an event
- User-centric: Track users across devices
- Machine learning insights
- Better privacy compliance
- Free BigQuery export

Key Shift:
UA: "How many pageviews did we get?"
GA4: "What are users DOING on our site?"

GA4 Data Model

# Everything is an Event

In GA4, ALL data is captured as events:

┌─────────────────────────────────────────────────────────────────┐
│ EVENT NAME          │ WHAT IT TRACKS                           │
├─────────────────────────────────────────────────────────────────┤
│ page_view           │ User views a page                        │
│ scroll              │ User scrolls 90% of page                 │
│ click               │ User clicks outbound link                │
│ first_visit         │ First time visitor                       │
│ session_start       │ Session begins                           │
│ user_engagement     │ Site in focus for 10+ seconds           │
│ purchase            │ E-commerce transaction                   │
│ sign_up             │ User creates account                     │
│ [custom_event]      │ Anything you define                      │
└─────────────────────────────────────────────────────────────────┘

Each event has PARAMETERS (additional details):

Event: page_view
Parameters:
  - page_location: "https://example.com/products"
  - page_title: "Our Products"
  - page_referrer: "https://google.com"

Event: purchase
Parameters:
  - transaction_id: "T12345"
  - value: 99.99
  - currency: "USD"
  - items: [{name: "Widget", price: 99.99}]

Key Metrics in GA4

Essential GA4 Metrics:

USER METRICS
├── Users: Unique visitors (based on cookies/device)
├── New Users: First-time visitors
├── Active Users: Users with engaged sessions
└── Returning Users: Users who came back

ENGAGEMENT METRICS
├── Sessions: Groups of user interactions
├── Engaged Sessions: Sessions > 10 sec, 2+ pages, or conversion
├── Engagement Rate: Engaged sessions / Total sessions
├── Average Engagement Time: How long users actively interact
├── Bounce Rate: Non-engaged sessions (opposite of engagement)
└── Views: Page/screen views

CONVERSION METRICS
├── Conversions: Completed goals (purchases, signups, etc.)
├── Conversion Rate: Conversions / Users
└── Revenue: Total transaction value

ACQUISITION METRICS
├── Session Source: Where traffic comes from (google, facebook)
├── Session Medium: Traffic type (organic, cpc, email)
├── Session Campaign: Marketing campaign name
└── First User Source: How they FIRST found you

Engagement Rate vs Bounce Rate

# New Way of Thinking About Engagement

OLD (Universal Analytics):
Bounce = Left after 1 page (even if they read for 10 minutes)
Not useful for blogs, single-page apps

NEW (GA4):
Engaged Session = Met ANY of these criteria:
  ✓ Lasted 10+ seconds
  ✓ Had 2+ page views
  ✓ Had a conversion event

Engagement Rate = Engaged Sessions / Total Sessions

Example:
- 1,000 sessions
- 700 were engaged (10+ sec or 2+ pages)
- Engagement Rate: 70%
- "Bounce Rate": 30% (non-engaged sessions)

GA4 Interface Overview

GA4 Navigation:

┌─────────────────────────────────────────────────────────────────┐
│  🏠 HOME                                                        │
│     Overview cards and AI insights                              │
├─────────────────────────────────────────────────────────────────┤
│  📊 REPORTS                                                      │
│     ├── Realtime: What's happening NOW                          │
│     ├── Life cycle                                              │
│     │   ├── Acquisition: How users find you                    │
│     │   ├── Engagement: What users do                          │
│     │   ├── Monetization: Revenue & purchases                  │
│     │   └── Retention: Users coming back                       │
│     ├── User                                                    │
│     │   ├── Demographics: Age, gender, interests              │
│     │   └── Tech: Devices, browsers, OS                       │
│     └── Custom Reports: Build your own                         │
├─────────────────────────────────────────────────────────────────┤
│  🔍 EXPLORE                                                      │
│     Advanced analysis & custom reports                          │
│     ├── Free Form: Flexible tables/charts                      │
│     ├── Funnel: Conversion funnels                             │
│     ├── Path: User journeys                                    │
│     └── Cohort: Retention analysis                             │
├─────────────────────────────────────────────────────────────────┤
│  📣 ADVERTISING                                                  │
│     Google Ads integration & attribution                        │
├─────────────────────────────────────────────────────────────────┤
│  ⚙️ ADMIN                                                        │
│     Account, property & data settings                           │
└─────────────────────────────────────────────────────────────────┘

Setting Up Conversions

Conversions (goals) are the most important actions on your site:

Common Conversions to Track:

E-COMMERCE
├── purchase         (automatic with e-commerce setup)
├── add_to_cart
├── begin_checkout
└── add_payment_info

LEAD GENERATION
├── form_submit      (custom event)
├── sign_up
├── generate_lead
└── contact_click

ENGAGEMENT
├── scroll           (built-in, 90% of page)
├── video_complete
├── file_download
└── outbound_click

How to Create a Conversion:

1. Go to: Admin → Events
2. Find the event you want as conversion
3. Toggle "Mark as conversion"

Or create from Admin → Conversions → New Conversion Event

Custom Event Tracking

# Track Custom Events with gtag.js

// Button click tracking
document.getElementById('cta-button').addEventListener('click', function() {
    gtag('event', 'cta_click', {
        'button_text': 'Get Started',
        'button_location': 'hero_section'
    });
});

// Form submission tracking
document.getElementById('contact-form').addEventListener('submit', function() {
    gtag('event', 'form_submit', {
        'form_name': 'contact_form',
        'form_location': 'contact_page'
    });
});

// Video engagement tracking
gtag('event', 'video_progress', {
    'video_title': 'Product Demo',
    'video_percent': 50
});

// Custom purchase tracking
gtag('event', 'purchase', {
    'transaction_id': 'T12345',
    'value': 99.99,
    'currency': 'USD',
    'items': [{
        'item_id': 'SKU123',
        'item_name': 'Widget Pro',
        'price': 99.99,
        'quantity': 1
    }]
});

Essential Reports

1. Traffic Acquisition Report

Where is your traffic coming from?

Reports → Acquisition → Traffic Acquisition

Key Dimensions:
- Session default channel group
- Session source/medium
- Session campaign

Example Insights:
┌────────────────────┬─────────┬────────────┬──────────┐
│ Channel            │ Users   │ Engagement │ Converts │
├────────────────────┼─────────┼────────────┼──────────┤
│ Organic Search     │ 15,000  │ 65%        │ 2.1%     │
│ Direct             │ 8,000   │ 70%        │ 3.5%     │
│ Paid Search        │ 5,000   │ 45%        │ 4.2%     │
│ Social             │ 3,000   │ 40%        │ 0.8%     │
│ Email              │ 2,000   │ 75%        │ 5.1%     │
└────────────────────┴─────────┴────────────┴──────────┘

Insight: Email has highest engagement & conversion rate.
         Social needs improvement.

2. Pages and Screens Report

Which pages are most popular/engaging?

Reports → Engagement → Pages and screens

Key Metrics:
- Views
- Users
- Average engagement time
- Conversions

Example Analysis:
┌────────────────────────┬────────┬───────────┬──────────┐
│ Page                   │ Views  │ Avg Time  │ Converts │
├────────────────────────┼────────┼───────────┼──────────┤
│ /                      │ 50,000 │ 0:45      │ 500      │
│ /products              │ 20,000 │ 2:30      │ 800      │
│ /pricing               │ 15,000 │ 3:15      │ 450      │
│ /blog/popular-post     │ 12,000 │ 4:00      │ 120      │
│ /contact               │ 5,000  │ 1:30      │ 200      │
└────────────────────────┴────────┴───────────┴──────────┘

Insight: /products has high engagement and conversions.
         /pricing visitors spend longest - they're comparing.

3. User Acquisition Report

How did users FIRST find you? (Different from session source)

Reports → Acquisition → User Acquisition

Why It Matters:
- User who found you via Google last week
- Returns today via direct link
- Session source: Direct
- First user source: Google (the REAL origin)

Use for: Understanding which channels bring new customers

Exploration Reports

Build custom analyses in the Explore section:

Funnel Exploration

Track conversion funnels:

Explore → Funnel exploration

Example: E-commerce Funnel
┌─────────────────────────────────────────────────────────────────┐
│                                                                  │
│  view_item ────► add_to_cart ────► begin_checkout ────► purchase│
│   10,000          3,000              1,500              500     │
│   100%            30%                15%                5%      │
│                                                                  │
│  Drop-off:        70%                50%                67%     │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Insights:
- 70% leave without adding to cart → improve product pages
- 67% abandon checkout → simplify checkout process

Path Exploration

See how users navigate your site:

Explore → Path exploration

Starting Point: page_view (Homepage)
                    │
        ┌───────────┴───────────┐
        │                       │
   /products (40%)         /blog (30%)
        │                       │
   ┌────┴────┐             ┌────┴────┐
   │         │             │         │
/pricing  /demo        /article1  /article2
 (25%)    (15%)         (20%)      (10%)

Use for:
- Understanding user journeys
- Finding unexpected paths
- Identifying drop-off points

Audiences

Create user segments for analysis and remarketing:

Useful Audiences to Create:

HIGH-VALUE USERS
- Conditions: purchase event with value > $100
- Use: Target with VIP offers

CART ABANDONERS
- Conditions: add_to_cart event, NOT purchase event
- Time: Last 7 days
- Use: Remarketing campaigns

ENGAGED READERS
- Conditions: session duration > 5 min, 3+ page views
- Use: Newsletter targeting

RETURNING VISITORS
- Conditions: session count > 3
- Use: Loyalty analysis

Create Audience:
Admin → Audiences → New Audience → Create Custom Audience

UTM Parameters

Track marketing campaigns with UTM tags:

UTM Parameters:

https://example.com/page?
    utm_source=facebook          (WHERE: platform)
    &utm_medium=paid_social      (HOW: ad type)
    &utm_campaign=summer_sale    (WHAT: campaign name)
    &utm_content=banner_v2       (WHICH: ad variation)
    &utm_term=running_shoes      (KEYWORDS: for search)

Example URLs:

Email Newsletter:
https://example.com?utm_source=newsletter&utm_medium=email
&utm_campaign=weekly_digest

Facebook Ad:
https://example.com?utm_source=facebook&utm_medium=cpc
&utm_campaign=spring_promo&utm_content=carousel_ad

Google Search Ad:
https://example.com?utm_source=google&utm_medium=cpc
&utm_campaign=brand&utm_term=company+name

Tool: Use Google's Campaign URL Builder

BigQuery Export

GA4 offers free daily export to BigQuery for advanced analysis:

Why Use BigQuery?

1. Raw event-level data
2. No sampling
3. Combine with other data sources
4. Custom SQL analysis
5. Historical data beyond GA4 limits

Example Query: Top Converting Pages

SELECT
    (SELECT value.string_value FROM UNNEST(event_params)
     WHERE key = 'page_location') AS page,
    COUNT(DISTINCT user_pseudo_id) AS users,
    COUNTIF(event_name = 'purchase') AS conversions,
    SAFE_DIVIDE(
        COUNTIF(event_name = 'purchase'),
        COUNT(DISTINCT user_pseudo_id)
    ) * 100 AS conversion_rate
FROM
    `project.analytics_123456789.events_*`
WHERE
    _TABLE_SUFFIX BETWEEN '20240101' AND '20240131'
GROUP BY
    page
HAVING
    users > 100
ORDER BY
    conversion_rate DESC
LIMIT 20;

Common GA4 Questions

Frequently Asked Questions:

Q: Why are my numbers different from UA?
A: Different data models. GA4 counts users differently,
   especially across devices. GA4 also has different
   session timeout rules and engagement definitions.

Q: Where is Bounce Rate?
A: GA4 uses "Engagement Rate" instead. You can find
   non-engaged sessions (inverse of engagement rate)
   or add Bounce Rate to reports via customization.

Q: Why is my traffic lower in GA4?
A: - Cookie consent: GA4 respects user preferences
   - Different counting: Users vs Sessions
   - Filter settings: Check if filters are applied

Q: How long is data retained?
A: - Free: 2 or 14 months (you choose)
   - 360: Up to 50 months
   - BigQuery: Unlimited (export daily)

Q: Can I track across domains?
A: Yes! Admin → Data Streams → Configure tag settings
   → Configure your domains

GA4 Best Practices

  • Set up conversions early: Track what matters to your business
  • Use UTM parameters: Tag all marketing campaigns
  • Create audiences: Segment users for insights and remarketing
  • Enable BigQuery export: Even if you don't use it now
  • Check data regularly: Verify tracking is working
  • Use Explorations: Go beyond standard reports
  • Document your setup: Track what events and conversions you've configured

Master Web Analytics

Our Data Analytics program covers GA4, web analytics, and data-driven marketing.

Explore Data Analytics Program

Related Articles