Show

This page covers data collection for the Show variable. See Show for the corresponding reporting dimension.

The show variable is the program or series name (for example, "Blinding Light" or "Coastline Mysteries"). Set it on every session whose content belongs to a series so that episodes across multiple seasons roll up to a single line item in the Show dimension. Leave it unset for one-off content that is not part of a series.

Property
Value
Context data variable
a.media.show
XDM collection field
xdm.mediaCollection.sessionDetails.show
Audience Manager trait
c_contextdata.a.media.show
Required
No
Sent with
Session start, session close
Web SDK

Set show inside xdm.mediaCollection.sessionDetails when calling sendEvent:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.sessionStart",
    mediaCollection: {
      sessionDetails: {
        show: "Blinding Light"
      },
      playhead: 0
    }
  }
});
iOS

Pass the show name as a metadata key in the HashMap argument to trackSessionStart. Use MediaConstants.VideoMetadataKeys.SHOW.

code language-swift
var metadata: [String: String] = [:]
metadata[MediaConstants.VideoMetadataKeys.SHOW] = "Blinding Light"

tracker.trackSessionStart(info: mediaObject, metadata: metadata)
Android

Pass the show name as a metadata key in the HashMap argument to trackSessionStart. Use MediaConstants.VideoMetadataKeys.SHOW.

code language-kotlin
val metadata = HashMap<String, String>()
metadata[MediaConstants.VideoMetadataKeys.SHOW] = "Blinding Light"

tracker.trackSessionStart(mediaInfo, metadata)
Roku

Use createMediaSession to set show inside sessionDetails:

code language-brightscript
m.aepSdk.createMediaSession({
    "xdm": {
        "eventType": "media.sessionStart",
        "mediaCollection": {
            "sessionDetails": {
                "show": "Blinding Light"
            },
            "playhead": 0
        }
    }
})
Media Edge API

Call the sessionStart endpoint with show inside xdm.mediaCollection.sessionDetails:

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.sessionStart",
      "mediaCollection": {
        "sessionDetails": {
          "name": "video-123",
          "length": 128,
          "contentType": "vod",
          "playerName": "HTML5 Player",
          "channel": "Sports",
          "show": "Blinding Light"
        },
        "playhead": 0
      }
    }
  }]
}

Legacy implementation types (Analytics-only)

Media SDK JS 3.x

Pass the show name in the contextData object using ADB.Media.VideoMetadataKeys.Show:

code language-javascript
var contextData = {};
contextData[ADB.Media.VideoMetadataKeys.Show] = "Blinding Light";

tracker.trackSessionStart(mediaInfo, contextData);
Chromecast

Use ADBMobile.media.VideoMetadataKeys.SHOW to set the show name in the StandardMediaMetadata property of the media object before calling trackSessionStart:

code language-javascript
var mediaInfo = ADBMobile.media.createMediaObject("My Video", "video-123", 128,
  ADBMobile.media.StreamType.VOD, ADBMobile.media.MediaType.Video);
var standardMetadata = {};
standardMetadata[ADBMobile.media.VideoMetadataKeys.SHOW] = "Blinding Light";
mediaInfo[ADBMobile.media.MediaObjectKey.StandardMediaMetadata] = standardMetadata;
ADBMobile.media.trackSessionStart(mediaInfo, null);
Media Collection API

Include media.show in the params object of your sessionStart POST request:

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.show": "Blinding Light"
  }
}

See the Media Collection API sessions reference for the full request structure.

recommendation-more-help
media-analytics-help