Overview
Video tracking enables:- Behavioral cohorts based on video consumption
- Engagement metrics for video content
- Contextual targeting on video pages
- Ad performance insights
Video Events
Videoview
Track when video playback starts:VideoEngagement
Track engagement during playback:VideoCompletion
Track when video ends:Event Properties
Standard Properties
| Property | Type | Description |
|---|---|---|
video_id | string | Unique video identifier |
video_title | string | Video title |
video_duration | number | Total duration in seconds |
categories | array | Video categories |
engaged_time | number | Time watched in seconds |
completion | number | Percentage complete (0-1) |
Extended Properties
Player Integration
Generic Pattern
JW Player
Permutive offers dedicated video player integrations. See Video Integrations for JW Player, Brightcove, YouTube, and more.
YouTube (iframe API)
HTML5 Video
Page Context for Video
Set page context for video pages:Video Ad Tracking
Track video ad events:Best Practices
Track at Meaningful Moments
Track at Meaningful Moments
Include Consistent IDs
Include Consistent IDs
Calculate Completion Correctly
Calculate Completion Correctly
Handle Edge Cases
Handle Edge Cases
Engagement Tracking Patterns
Milestone-Based
Time-Based
Troubleshooting
Video events not tracking
Video events not tracking
Problem: Player events not firing Permutive tracks.Solutions:
- Verify player events are firing (add console.log)
- Check video data is populated (id, title, duration)
- Ensure SDK is loaded before player initializes
- Check for JavaScript errors in console
Duplicate events
Duplicate events
Problem: Multiple Videoview events for single play.Solutions:
- Use a flag to prevent duplicate start tracking
- Reset flag on new video or replay
- Check player doesn’t fire multiple play events
Incorrect completion values
Incorrect completion values
Problem: Completion percentage is wrong.Solutions:
- Ensure duration is populated before calculating
- Use actual watched time, not current position
- Handle seek events appropriately