Attached is a block of code that you can copy and paste into a JavaScript Code Extension. If you need help adding a JavaScript Code Extension see this post:
JavaScript Code Extension
Once pasted into the JavaScript code extension there are two configuration fields at the very top of the code that you can customize: video_events and milestone_percentages.
- video_events - This is a list of events that you would like to track with the code. By default this is set up to track play, pause, complete, buffer and milestones, but you can simply add events to this like like "mute" to track when a user mutes the volume. A list of available events are found at the bottom of this post. You can also see a list of event here: https://developer.jwplayer.com/jw-player/docs/javascript-api-reference/
- milestone_percentages - This is a list of percentages that you would like to track as milestones. By default this is set to trigger an event when the video has reached 25, 50, 75 and 90 percent complete. However, this can be customized to your specific milestones. You can deactivate milestone tracking by removed the "onTime" event from the video_events list.
This code will wait until the JWPlayer has been defined then run through the necessary functions to attach the listeners.
*** Though the code has logic to wait for the player to be defined, the JavaScript Code extension where you paste the code should be scoped to DOM Ready. ***
Output Variables
This code will output a set of data sources that you can add in the UI and then use to send data to your tag vendors.
The variables are as follows:
- event_type - "video" This will always equal video for these events
- event_name - "play", "pause", "resume", "bufer", "complete", "milestone" These are the default names that will be output. If you have customized the video_events variable as mentioned above then you may see something like: jwplayerMute for the 'mute' event.
- video_position - "11" This will output the position, in seconds, of the video when one of the events took place. i.e. pause or milestone
- video_duration - "119" This tells the over length of the video
- video_milestone - "M:1:25" This outputs the milestone number "1" and the milestone percentage "25." This allows you to see where your users are dropping out of the videos
Attached is a csv file with these variables and descriptions for easy uploading into the Data Sources tab of the Tealium UI.
JWPlayer Extension Data Sources Upload