ORIBI.api('track', 'custom event name') function and add your custom event's name.<script> and </script> tags.Code Example
// Sends a "successful subscription" event to Oribi
ORIBI.api('track', 'successful_subscription');
// Sends a "chat initiation" event to Oribi
ORIBI.api('track', 'chat_started');
// Sends an event that a user watched a whole video
ORIBI.api('track', 'user_completed_video');Code Example
let player;
let videoInterval;
let videoEventName = "sample-video";
let passedBreakpoint = 0;
const breakpoints = [0.25, 0.5, 0.75];
function onYouTubeIframeAPIReady() {
player = new YT.Player("player", {
height: "360",
width: "640",
videoId: "M7lc1UVf-VE",
events: {
onStateChange: onPlayerStateChange
}
});
}
let done = false;
function onPlayerStateChange(event) {
if (
!done &&
event.data === YT.PlayerState.PLAYING &&
parseInt(player.getCurrentTime(), 10) === 0
) {
ORIBI.api("track", `clicked-${videoEventName}`);
videoInterval = setInterval(checkVideoState, 1000);
}
if (event.data === YT.PlayerState.ENDED) {
done = true;
ORIBI.api("track", `watched-${videoEventName}-100%`);
clearInterval(videoInterval);
}
}
function checkVideoState() {
const viewedPercentage = player.getCurrentTime() / player.getDuration();
breakpoints.forEach((breakpoint) => {
if (passedBreakpoint < breakpoint && viewedPercentage >= breakpoint) {
passedBreakpoint = breakpoint;
ORIBI.api("track", `watched-${videoEventName}-${breakpoint * 100}%`);
}
});
}