# Analytics
# Events
MOV Player is sending these events to Mediaoutcast Analytics.
# Seen
name: seen
Player came into the viewport.
# Start
name: start
Video starts playing (first play).
# Ad start
name: ad_start
Ad starts playing.
# Ad end
name: ad_end
Ad ends playing.
# Play
name: play
Every video play after first one.
# Pause
name: pause
Every video pause.
# Complete
name: complete
Video ends.
# Video percents
name: video_percent_*
Video is at * percents of duration, player is sending 25
, 50
, 75
and 95
replacing * in name (for example video_percent_25
etc.).
# Web
# Payload
JSON payload props reference:
{
t: 'play', // String (event name) REQUIRED
d: 'example.com', // String (domain) REQUIRED
pid: '<project_id>', // String (project id) REQUIRED
p: '/video/123', // String (page relative url) REQUIRED
s: 'utm_content=example&ref=example.com', // String (page search query)
pp: 'https://example.com/', // String (previous page url)
vid: '<video_id>', // String (video id)
vt: 'My Video Title', // String (video title) REQUIRED - if using video source, not REQUIRED if video id is provided
plid: '<player_id>', // String (player id)
plt: 'My Player Title', // String (player title)
r: '720p', // String (video resolution when event occurs)
cid: '<category_id>', // String (category id)
ct: 'My Category Title', // String (category title)
pos: 'https://example.com/vidposter.jpg', // String (video poster url)
is: true, // Boolean (is livestream)
dur: 0, // Integer (video duration)
tw: 0 // Integer (time watched increments)
}
# Flow
Player is sending JSON to MOA video script that attach function to window object:
window['moavideo']('start',
{
video_id: 'hJ58vc0',
video_title: 'best video ever',
player_id: 'gQ7n32p',
poster: 'https://static.mediaoutcast.com/..../some_image.jpg',
is_stream: false
}
);
Resulting payload example from MOA script to server:
{
vid: 'hJ58vc0',
d: 'somedomain.com',
is: false,
p: '/page/url',
pid: 'vWn2i37',
plid: 'gQ7n32p'
pp: 'somedomain.com/page/url',
t: 'start',
vt: 'best video ever'
}
# Mobile
# Payload
JSON payload props reference:
{
t: 'play', // String (event name) REQUIRED
is: true, // Boolean (is livestream)
pid: '<project_id>', // String (project id) REQUIRED
dev: 'iPhone 12', // String (device) REQUIRED
os: 'iOS', // String (os) REQUIRED
osv: '14.4', // String (os version) REQUIRED
a: 'My App', // String (app) REQUIRED
av: '0.0.1', // String (app version)
s: 'Home', // String (screen) REQUIRED
vid: '<video_id>', // String (video id)
vt: 'My Video', // String (video title) REQUIRED - if using video source, not REQUIRED if video id is provided
plid: '<player_id>', // String (player id)
pos: 'https://example.com/vid.jpg' // String (video poster url)
}
# URLs
For both Web and Mobile collector server URL is the same:
https://moav.mediaoutcast.com
or
https://moav.{client}.mediaoutcast.com
*client
- for enterprise clients, targets separate server setup.