Skip to main content
← Back to Integrations

Google Analytics Integration

Track stream performance and viewer behavior

Difficulty: EasySetup Time: 10 minutesGA4 Compatible

Why Track WAVE Streams in Google Analytics?

Unified Analytics

Combine streaming data with your existing web analytics for complete user journey tracking

Viewer Behavior Insights

Understand watch time, engagement patterns, drop-off points, and viewer demographics

Conversion Attribution

Track how streams drive website visits, sign-ups, and purchases with full attribution

Custom Dashboards

Build custom GA4 dashboards with streaming KPIs alongside your business metrics

Prerequisites

  • Active Google Analytics 4 (GA4) property
  • WAVE account with streaming enabled
  • Access to WAVE Webhook settings
  • Basic understanding of GA4 events and parameters
  • Optional: Google Tag Manager for advanced tracking

Step-by-Step Setup

1

Create GA4 Property (If Needed)

Set up a Google Analytics 4 property for your streaming analytics

  1. 1. Go to analytics.google.com
  2. 2. Click "Admin" (bottom left)
  3. 3. Click "Create Property"
  4. 4. Enter property name (e.g., "WAVE Streaming")
  5. 5. Select timezone and currency
  6. 6. Click "Create" and accept terms

Note: You'll need your Measurement ID (starts with G-) and API Secret from Data Streams settings.

2

Get GA4 Credentials

Retrieve your Measurement ID and API Secret for server-side tracking

Get Measurement ID:

  1. 1. Admin → Data Streams → Select your stream
  2. 2. Copy "Measurement ID" (format: G-XXXXXXXXXX)

Create API Secret:

  1. 1. In Data Stream details, scroll to "Measurement Protocol API secrets"
  2. 2. Click "Create"
  3. 3. Give it a nickname (e.g., "WAVE Integration")
  4. 4. Copy the generated secret value
3

Configure WAVE Webhook

Set up webhook to send stream events to Google Analytics

  1. 1. Log in to WAVE Dashboard
  2. 2. Navigate to Settings → Integrations → Webhooks
  3. 3. Click "Add Webhook"
  4. 4. Select "Google Analytics" from templates
  5. 5. Paste your Measurement ID and API Secret
  6. 6. Select events to track (see options below)
  7. 7. Click "Save & Test"
4

Select Events to Track

Choose which streaming events to send to Google Analytics

Recommended Events:

stream_started - When a stream goes live
stream_ended - When a stream ends
viewer_joined - When a viewer joins
viewer_left - When a viewer leaves
chat_message - Chat engagement tracking
donation_received - Monetization events
subscription_started - New subscriber
milestone_reached - Viewer milestones (100, 500, 1K+)
5

Test Your Integration

Verify events are flowing to Google Analytics correctly

  1. 1. Start a test stream from WAVE
  2. 2. Open GA4 → Reports → Realtime
  3. 3. Look for "stream_started" event in real-time view
  4. 4. Check event parameters are populated correctly
  5. 5. End stream and verify "stream_ended" event
Open GA4 Realtime

Event Parameters Reference

ParameterTypeDescription
stream_idstringUnique stream identifier
stream_titlestringStream title/name
creator_idstringStreamer user ID
creator_namestringStreamer display name
viewer_countnumberCurrent concurrent viewers
peak_viewersnumberMaximum concurrent viewers
duration_minutesnumberStream duration
categorystringStream category/game
qualitystringVideo quality (720p, 1080p, 4K)
revenuenumberTotal revenue generated

Build Custom GA4 Dashboard

Streaming Performance Dashboard

Create a custom GA4 dashboard to monitor your streaming KPIs in real-time

Recommended Metrics:

Performance Metrics:
  • • Total streams (count of stream_started)
  • • Total viewers (count of viewer_joined)
  • • Average concurrent viewers
  • • Peak viewership per stream
  • • Average stream duration
Engagement Metrics:
  • • Chat messages per stream
  • • Average watch time
  • • Viewer retention rate
  • • Returning viewer percentage
  • • Engagement rate by time of day
Revenue Metrics:
  • • Total revenue from streams
  • • Average revenue per viewer
  • • Subscription conversion rate
  • • Donation frequency
  • • Revenue attribution
Growth Metrics:
  • • New vs. returning viewers
  • • Viewer growth rate
  • • Stream frequency
  • • Channel subscriptions
  • • Social sharing metrics

How to Create Dashboard

  1. 1. In GA4, go to "Library" in left sidebar
  2. 2. Click "Create new" → "Dashboard"
  3. 3. Add cards for each metric you want to track
  4. 4. Use custom event parameters for streaming-specific data
  5. 5. Set up comparisons (week-over-week, month-over-month)
  6. 6. Share dashboard with your team

Conversion Attribution

Track Stream → Conversion Path

Understand how streams influence user behavior and drive conversions on your website

Set Up Conversions:

  1. 1. In GA4, go to "Configure" → "Events"
  2. 2. Find your stream events (stream_started, viewer_joined, etc.)
  3. 3. Toggle "Mark as conversion" for key events
  4. 4. Set up e-commerce tracking for purchases
  5. 5. Link conversions to stream sessions via user_id or client_id

Attribution Models:

  • Last Click: Credit the stream that directly preceded conversion
  • First Click: Credit the first stream in the conversion path
  • Linear: Distribute credit equally across all stream interactions
  • Time Decay: Give more credit to streams closer to conversion
  • Data-Driven: Let GA4 determine optimal attribution (requires sufficient data)

Pro Tip: Use UTM parameters in stream descriptions to track traffic from streams to your website: ?utm_source=wave&utm_medium=stream&utm_campaign=stream_id

Advanced: Custom Event Tracking

Server-Side Event Tracking

Example code to send custom events from your server to GA4

// Node.js example
const fetch = require('node-fetch');

async function sendGA4Event(measurementId, apiSecret, clientId, event) {
  const url = `https://www.google-analytics.com/mp/collect?measurement_id=${measurementId}&api_secret=${apiSecret}`;

  const payload = {
    client_id: clientId,
    events: [{
      name: event.name,
      params: event.params
    }]
  };

  const response = await fetch(url, {
    method: 'POST',
    body: JSON.stringify(payload)
  });

  return response.ok;
}

// Usage example
await sendGA4Event(
  'G-XXXXXXXXXX',     // Your Measurement ID
  'your_api_secret',  // Your API Secret
  'user_12345',       // Client ID (user identifier)
  {
    name: 'stream_started',
    params: {
      stream_id: 'stream_abc123',
      stream_title: 'Product Launch 2024',
      creator_name: 'JohnDoe',
      category: 'Technology',
      quality: '1080p'
    }
  }
);

Client-Side Tracking (GTM)

Track viewer interactions directly from your streaming page

<!-- Add to your streaming page -->
<script>
// Send event when viewer joins
gtag('event', 'viewer_joined', {
  'stream_id': 'stream_abc123',
  'stream_title': 'Product Launch 2024',
  'viewer_id': 'viewer_12345',
  'timestamp': new Date().toISOString()
});

// Track watch time every 30 seconds
setInterval(() => {
  gtag('event', 'watch_time_update', {
    'stream_id': 'stream_abc123',
    'seconds_watched': getCurrentWatchTime(),
    'quality': getCurrentQuality()
  });
}, 30000);

// Send event on stream end
window.addEventListener('beforeunload', () => {
  gtag('event', 'viewer_left', {
    'stream_id': 'stream_abc123',
    'total_watch_time': getTotalWatchTime()
  });
});
</script>

Troubleshooting

Events Not Showing in Realtime

Check that Measurement ID and API Secret are correct. Verify webhook is enabled in WAVE settings. Events can take 1-2 minutes to appear in realtime view.

Missing Event Parameters

Ensure all custom parameters are registered in GA4 (Admin → Custom Definitions → Create Custom Dimension/Metric). Parameter names must match exactly.

Inaccurate Viewer Counts

Verify client_id is unique per viewer. Check for duplicate events. Confirm viewer_joined and viewer_left events are being tracked correctly.

Attribution Not Working

Ensure user_id or client_id is consistent across stream and website tracking. Set up cross-domain tracking if needed. Mark key events as conversions in GA4.

Analytics Best Practices

  • • Register all custom parameters as custom dimensions in GA4 for reporting
  • • Use consistent naming conventions for events and parameters
  • • Set up data retention to 14 months for historical analysis
  • • Create audiences based on stream engagement for remarketing
  • • Enable Google Signals for cross-device tracking
  • • Set up BigQuery export for advanced analysis and ML models
  • • Review data quality regularly and fix missing or incorrect events
  • • Respect user privacy and comply with GDPR/CCPA regulations

Enhance Your Analytics Stack

Explore other analytics and tracking integrations

Google Analytics Integration - Track Stream Performance | WAVE | WAVE