Ivory Studio makes it easy to push the analytics data of interactive videos via Post Message to the next layer of the website. This provides insight in the performance and impact of the interactive video. Moreover, this allows users to collect data to their own source and combine different datasets for the best possible interpretation of data.
The following parameters are available.
Event | Explanation | Data |
iv.playerLoad | Is activated as soon as the Ivory Player is loaded | n.a. |
iv.playerUnload | for internal use only | n.a. |
iv.videoLoad | Is activated as soon as the video is made available on the concerning webpage / device. | n.a. |
videoLoaded | for internal use only | n.a. |
iv.videoUnload | Is activated as soon as the browser is closed | viewed playing, seeking |
iv.play | Is activated as soon as the interactive video is played. | n.a. |
iv.pause | Is activated as soon as the interactive video is paused | n.a. |
timeupdate | Heartbeat of the timeline | duration, playing, time |
iv.eleOn | Is activated as soon as an element is shown within the interactive video. | ivElementId, ivElementLabel |
iv.interaction | Is activated as soon as a viewer interacts with an element. | ivElementId, ivElementLabel, ivInteraction |
iv.eleoff | Is activated as soon as the element is passed. | ivElementId, ivElementLabel |
iv.seek | Is activated as soon as the player is seeking / buffering after a jump in the timeline | ivElementId, ivElementLabel |
Data | Explanation |
ivElementId | id of an element that is assigned by Ivory Studio |
ivElementLabel | Label of an element that is assigned by the video’s creator. |
ivInteraction | The action that is performed by the viewer. The following interactions can be activated by the viewer: [click, mouseover] |
duration | Duration of timeline in miliseconds |
playing / seeking | true or false |
time | playtime in miliseconds |
viewed | The time between iv_start and iv_videoUnload. Attention! not all browser will send the iv_videoUnload event by closing browser |
window.addEventListener('message', function(ev) { const message = JSON.parse(ev.data); { console.log(message); } });
window.addEventListener('message', function(ev) { const message = JSON.parse(ev.data); if (message.type != 'timeupdate') { console.log(message); } });