Migrating from Milestone to Media Analytics migrating-from-milestone-to-media-analytics

Overview overview

The core concepts of video measurement are the same for Milestone and Media Analytics, 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 Media Analytics solution grew out of Milestone, so many of the methods and metrics are the same, however, the configuration approach and code has changed significantly. It should be possible to update the player event code to point to the new Media Analytics methods. See SDK Overview and Tracking Overview for more details on implementing Media Analytics.

The following tables provide translations between the Milestone solution and the Media Analytics solution.

Migration guide migration-guide

Variable reference

Milestone Metric
Variable Type
Media Analytics Metric
Content
eVar
Default expiration: Visit
Content
Content Type
eVar
Default expiration: Page view
Content Type
Content Time Spent
Event
Type: Counter
Content Time Spent
Video Initiates
Event
Type: Counter
Video Initiates
Video Completes
Event
Type: Counter
Content Complete

Media Module variables

Milestone
Milestone Syntax
Media Analytics
Media Analytics Syntax
Media.trackUsingContextData
s.Media.trackUsingContextData
= true;
N/A
All Media Analytics data is only sent using Context Data.
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
Media Analytics context data is automatically populated into reserved variables. Mapping to eVars, props, and events I no longer needed within the implementation code. Customers can map context data to variables using processing rules.
Media.trackVars
s.Media.trackVars =
"events,
prop2,
eVar1,
eVar2,
eVar3";
N/A
No longer needed since mapping happens via reserved variables and processing rules.
Media.trackEvents
s.Media.trackEvents =
"event1,
event2,
event3,
event4,
event5,
event6,
event7"
N/A
No longer needed since mapping happens via reserved variables and processing rules.

Optional variables

Milestone
Milestone Syntax
Media Analytics
Media Analytics Syntax
Media.autoTrack
s.Media.autoTrack
= true;
N/A
We no longer provide pre-built player mappings.
Media.autoTrackNetStreams
s.Media.
autoTrackNetStreams
= true
N/A
We no longer provide pre-built player mappings.
Media.completeByCloseOffset
s.Media.
completeByCloseOffset
= true
N/A
Content Complete only supports a 100% progress marker.
Media.completeCloseOffsetThreshold
s.Media.
completeCloseOffsetThreshold
= 1
N/A
Content Complete only supports a 100% progress marker.
Media.playerName
s.Media.playerName
= "Custom Player Name"
SDK Key: playerName;
API Key: media.playerName
MediaHeartbeatConfig.
playerName
Media.trackSeconds
s.Media.
trackSeconds
= 15
N/A
Media Analytics is set to 10 seconds for content and 1 second for ads. No other options are available.
Media.trackMilestones
s.Media.
trackMilestones
= "25,50,75";
N/A
Media Analytics always tracks progress markers at 10%, 25%, 50%, 75%, 95%.
Media.trackOffsetMilestones
s.Media.
trackOffsetMilestones
= "20,40,60";
N/A
Media Analytics always tracks progress markers at 10%, 25%, 50%, 75%, 95%.
Media.segmentByMilestones
s.Media.segmentByMilestones
= true;
N/A
Auto track is no longer available.
Media.segmentByOffsetMilestones
s.Media.
segmentByOffsetMilestones
= true;
N/A
Auto track is no longer available.

Ad tracking variables

Milestone
Milestone Syntax
Media Analytics
Media Analytics Syntax
Media.adTrackSeconds
s.Media.
adTrackSeconds
= 15
N/A
Media Analytics is set to 10 seconds for content and 1 second for ads. No other options are available.
Media.adTrackMilestones
s.Media.
adTrackMilestones
= "25,50,75";
N/A
Progress markers are not provided by default for ads. Use calculated metrics to build ad progress markers.
Media.adTrackOffsetMilestones
s.Media.
adTrackOffsetMilestones
= "20,40,60";
N/A
Media Analytics is set to 1 second for ads. No other options are available.
Media.adSegmentByMilestones
s.Media.
adSegmentByMilestones
= true;
N/A
Auto track is no longer available.
Media.adSegmentByOffsetMilestones
s.Media.
adSegmentByOffsetMilestones
= true;
N/A
Auto track is no longer available.

Media Module methods

Milestone
Milestone Syntax
Media Analytics
Media Analytics Syntax
Media.open
s.Media.open(
mediaName,
mediaLength,
mediaPlayerName)
trackSessionStart
trackSessionStart(
mediaObject,
contextData)
mediaName
mediaName: (required) The name of the video as you want it to appear in video reports.
name
createMediaObject(
name,
mediaId,
length,
streamType)
mediaLength
mediaLength: (required) The length of the video in seconds.
length
createMediaObject(
name,
mediaId,
length,
streamType)
mediaPlayerName
mediaPlayerName: (required) The name of the media player used to view the video, as you want it to appear in video reports.
playerName
MediaHeartbeatConfig.
playerName
Media.openAd
s.Media.openAd(
name,
length,
playerName,
parentName,
parentPod,
parentPodPosition,
CPM)
trackEvent
mediaHeartbeat.trackEvent(
MediaHeartbeat.
Event.
AdBreakStart,
adBreakObject);
...
trackEvent(
MediaHeartbeat.
Event.
AdStart,
adObject,
adCustomMetadata);
name
name: (required) The name or ID of the ad.
name
createAdObject(
name,
adId,
position,
length)
length
length: (required) The length of the ad.
length
createAdObject(
name,
adId,
position,
length)
playerName
playerName: (required) The name of the media player used to view the ad.
playerName
MediaHeartbeatConfig.
playerName
parentName
parentName: The name or ID of the primary content where the ad is embedded.
N/A
Automatically inherited.
parentPod
parentPod: The position in the primary content the ad was played.
position
createAdBreakObject(
name,
position,
startTime)
parentPodPosition
parentPodPosition: The position within the pod where the ad is played.
position
createAdObject(
name,
adId,
position,
length)
CPM
CPM: The CPM or encrypted CPM (prefixed with a “~”) that applies to this playback.
N/A
Not available by default in Media Analytics.
Media.click
s.Media.click(name, offset)
N/A
Use a custom link analytics call to track clicks.
Media.close
s.Media.close(mediaName)
trackSessionEnd
trackSessionEnd()
Media.complete
s.Media.complete(name, offset)
trackComplete
trackComplete()
Media.play
s.Media.play(
name,
offset,
segmentNum,
segment,
segmentLength)
trackPlay
trackPlay()
Media.stop
s.Media.stop(mediaName, mediaOffset)
trackPause
or
trackEvent
trackPause()
or trackEvent(
MediaHeartbeat.
Event.
SeekStart)
or
trackEvent(
MediaHeartbeat.
Event.
BufferStart);
Media.monitor
s.Media.monitor(s, media)
Use custom or standard metadata to set additional variables.
var customVideoMetadata =
{
isUserLoggedIn:
"false",
tvStation:
"Sample TV station",
programmer:
"Sample programmer"
};
...
var standardVideoMetadata
= {};
standardVideoMetadata
[MediaHeartbeat.
VideoMetadataKeys.
EPISODE] =
"Sample Episode";
standardVideoMetadata
[MediaHeartbeat.
VideoMetadataKeys.
SHOW] = "Sample Show";
...
mediaObject.setValue(
MediaHeartbeat.
MediaObjectKey.
StandardVideoMetadata,
standardVideoMetadata);
Media.track
s.Media.track(mediaName)
N/A
Tracking call frequency is automatically set.
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb