The core concepts of video measurement are the same for Milestone and Custom Link tracking, which is taking video player events and mapping them to analytics methods, while also grabbing player metadata and values and mapping them to analytics variables. The Custom Link approach should be considered as a slimming down and simplifying of both the implementation and the data collected. With the Custom Link solution, no variables or methods are pre-defined for video measurement, it requires a full custom set-up. It should be possible to update the player event code to point to the custom link tracking calls for basic player events such as start and complete. See Custom Link implementation guide for more details.
The following tables provide translations between the Milestone solution and the Custom Link solution.
Milestone Metric | Variable Type | Custom Link |
---|---|---|
Content | eVar Default expiration: Visit |
Define your own eVar. |
Content Type | eVar Default expiration: Page view |
Define your own eVar. |
Content Time Spent | Event Type: Counter |
Define your own event. |
Video Initiates | Event Type: Counter |
Define your own event. |
Video Completes | Event Type: Counter |
Define your own event. |
Milestone | Milestone Syntax | Custom Link | Custom Link Syntax |
---|---|---|---|
Media.trackUsingContextData | s.Media.trackUsingContextData = true; |
linkTrackVars | s.linkTrackVars = 'events, contextData.video.name’; s.contextData["video.name"] = mediaName; |
Media.contextDataMapping | s.Media.contextDataMapping = { "a.media.name":"eVar2,prop2", "a.media.segment":"eVar3", "a.contentType":"eVar1", "a.media.timePlayed":"event3", "a.media.view":"event1", "a.media.segmentView":"event2", "a.media.complete":"event7", "a.media.milestones": { 25:"event4", 50:"event5", 75:"event6" } }; |
N/A | Mapping context data to eVars, props, and events is now completed through processing rules. |
Media.trackVars | s.Media.trackVars = "events, prop2, eVar1, eVar2, eVar3"; |
linkTrackVars | s.linkTrackVars = 'events, prop10, eVar10, eVar12, eVar13, eVar15, contextData. video.name, contextData. video.view'; |
Media.trackEvents | s.Media.trackEvents = "event1, event2, event3, event4, event5, event6, event7" |
linkTrackEvents | s.linkTrackEvents = 'event2'; |
Milestone | Milestone Syntax | Custom Link | Custom Link Syntax |
---|---|---|---|
Media.autoTrack | s.Media.autoTrack = true; |
N/A | Not available. |
Media.autoTrackNetStreams | s.Media. autoTrackNetStreams = true |
N/A | Not available. |
Media.completeByCloseOffset | s.Media. completeByCloseOffset = true |
N/A | Not available. |
Media.completeCloseOffsetThreshold | s.Media. completeCloseOffsetThreshold = 1 |
N/A | Not available. |
Media.playerName | s.Media.playerName = "Custom Player Name" |
Set eVar or context data variable in link call. | s.contextData['video.player'] = "CustomPlayer Name"; |
Media.trackSeconds | s.Media. trackSeconds = 15 |
N/A | Not available. |
Media.trackMilestones | s.Media. trackMilestones = "25,50,75"; |
N/A | Not available. |
Media.trackOffsetMilestones | s.Media. trackOffsetMilestones = "20,40,60"; |
N/A | Not available. |
Media.segmentByMilestones | s.Media.segmentByMilestones = true; |
N/A | Not available. |
Media.segmentByOffsetMilestones | s.Media. segmentByOffsetMilestones = true; |
N/A | Not available. |
Milestone | Milestone Syntax | Custom Link | Custom Link Syntax |
---|---|---|---|
Media.adTrackSeconds | s.Media. adTrackSeconds = 15 |
N/A | Not available. |
Media.adTrackMilestones | s.Media. adTrackMilestones = "25,50,75"; |
N/A | Not available. |
Media.adTrackOffsetMilestones | s.Media. adTrackOffsetMilestones = "20,40,60"; |
N/A | Not available. |
Media.adSegmentByMilestones | s.Media. adSegmentByMilestones = true; |
N/A | Not available. |
Media.adSegmentByOffsetMilestones | s.Media. adSegmentByOffsetMilestones = true; |
N/A | Not available. |
Milestone | Milestone Syntax | Custom Link | Custom Link Syntax |
---|---|---|---|
Media.open | s.Media.open( mediaName, mediaLength, mediaPlayerName) |
s.tl() |
s.linkTrackVars = 'events, prop10, eVar10, eVar12, eVar15, contextData.video.name, contextData.video.view'; s.linkTrackEvents = 'event2'; s.prop10 = mediaName; s.eVar10 = mediaName; s.eVar12 = "video"; s.eVar15 = mediaPlayerName; s.events = 'event2'; s.contextData['video.name'] = mediaName; s.contextData['video.view'] = 'true'; s.tl(this,'o','Video Start'); |
mediaName | mediaName : (required) The name of the video as you want it to appear in video reports. |
Set eVar or context data variable in link call. | s.prop10 = mediaName; s.eVar10 = mediaName; s.contextData['video.name'] = mediaName; |
mediaLength | mediaLength : (required) The length of the video in seconds. |
Set eVar or context data variable in link call. | s.contextData['video.length'] = "90"; |
mediaPlayerName | mediaPlayerName : (required) The name of the media player used to view the video, as you want it to appear in video reports. |
Set eVar or context data variable in link call. | s.contextData['video.player'] = "CustomPlayer Name"; |
Media.openAd | s.Media.openAd( name, length, playerName, parentName, parentPod, parentPodPosition, CPM) |
N/A | Not available. |
name | name : (required) The name or ID of the ad. |
N/A | Not available. |
length | length : (required) The length of the ad. |
N/A | Not available. |
playerName | playerName : (required) The name of the media player used to view the ad. |
N/A | Not available. |
parentName | parentName : The name or ID of the primary content where the ad is embedded. |
N/A | Not available. |
parentPod | parentPod : The position in the primary content the ad was played. |
N/A | Not available. |
parentPodPosition | parentPodPosition : The position within the pod where the ad is played. |
N/A | Not available. |
CPM | CPM : The CPM or encrypted CPM (prefixed with a “~”) that applies to this playback. |
N/A | Not available. |
Media.click | s.Media.click(name, offset) |
s.tl() |
Use a custom link analytics call to track clicks. |
Media.close | s.Media.close(mediaName) |
N/A | Not available. |
Media.complete | s.Media.complete( name, offset) |
s.tl() |
s.linkTrackVars = 'events, prop10, eVar10, eVar12, eVar15, contextData.video.name, contextData.video.complete'; s.linkTrackEvents = 'event3'; s.prop10 = mediaName; s.eVar10 = mediaName; s.eVar12 = "video"; s.eVar15 = mediaPlayerName; s.events = 'event3'; s.contextData['video.name'] = mediaName; s.contextData['video.complete'] = 'true'; s.tl(this,'o','Video Complete'); |
Media.play | s.Media.play( name, offset, segmentNum, segment, segmentLength) |
N/A | Not available. |
Media.stop | s.Media.stop( mediaName, mediaOffset) |
N/A | Not available. |
Media.monitor | s.Media.monitor(s, media) |
Set eVar or context data variable in link call. | s.linkTrackVars = 'events, prop10, eVar10, eVar12, eVar15, contextData. video.name, contextData. video.view'; s.linkTrackEvents = 'event2'; |
Media.track | s.Media.track( mediaName) |
N/A | Not available. |