Products Services Docs Pricing About Contact Sign In Get Started

Google Analytics

Built-in GA4 integration that automatically sends video engagement events — play, pause, complete, milestone progress, fullscreen, and CTA clicks.

Source code

<link rel="stylesheet" href="https://cdn.impossible.io/fxplayer/v3/fxplayer.css" />
<script src="https://cdn.impossible.io/fxplayer/v3/fxplayer.js"></script>

<div id="player" style="width: 720px; aspect-ratio: 16/9;"></div>

<script>
  // Option 1: Let FXPlayer inject the GA4 script automatically
  const player = new fxplayer.FXPlayer('player', {
    src: 'https://www.w3schools.com/html/mov_bbb.mp4',
    controls: true,
    analytics: {
      measurementId: 'G-XXXXXXXXXX',  // Your GA4 measurement ID
    },
  });

  // Option 2: Use an existing gtag() — if gtag is already on the
  // page, FXPlayer detects it and skips script injection.
  // Just omit measurementId:
  //   analytics: {}

  // Option 3: Customize which events and milestones to track
  const player2 = new fxplayer.FXPlayer('player', {
    src: 'https://www.w3schools.com/html/mov_bbb.mp4',
    controls: true,
    analytics: {
      measurementId: 'G-XXXXXXXXXX',
      events: ['play', 'pause', 'ended', 'fullscreenchange', 'cta:click'],
      milestones: [25, 50, 75, 100],  // percentage thresholds
      category: 'video',              // event_category value
      label: 'homepage-hero',         // event_label value
    },
  });
</script>

Events sent to GA4

GA4 EventTriggerParameters
video_playVideo starts playingevent_category
video_pauseVideo is pausedvideo_current_time
video_completeVideo reaches the endvideo_duration
video_milestonePlayback crosses 25/50/75/100%milestone_percent, video_duration
video_fullscreenFullscreen toggledfullscreen (boolean)
video_cta_clickCTA overlay clickedcta_id

Options

OptionTypeDefaultDescription
measurementIdstringGA4 measurement ID (G-XXXXXXXXXX). If omitted, FXPlayer uses an existing gtag() on the page.
eventsstring[]['play', 'pause', 'ended', 'fullscreenchange', 'cta:click']Which player events to track.
milestonesnumber[][25, 50, 75, 100]Percentage thresholds for milestone events. Set to [] to disable.
categorystring'video'Value sent as event_category.
labelstringOptional event_label to identify the video.