Content rating

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

The content rating variable is the audience rating as defined by TV Parental Guidelines ("TVY", "TVG", "TVPG", "TVMA") or any regional rating system you use. Use it to compare engagement and ad load across rating tiers.

Property
Value
Context data variable
a.media.rating
XDM collection field
mediaCollection.sessionDetails.rating
Required
No
Sent with
Session start, session close

Web SDK

Set rating inside mediaCollection.sessionDetails when calling sendEvent:

alloy("sendEvent", {
  xdm: {
    eventType: "media.sessionStart",
    mediaCollection: {
      sessionDetails: {
        rating: "TVPG"
      },
      playhead: 0
    }
  }
});

Mobile SDK

Pass the rating as a metadata key in the HashMap argument to trackSessionStart. Use MediaConstants.VideoMetadataKeys.RATING.

iOS (Swift)

var metadata: [String: String] = [:]
metadata[MediaConstants.VideoMetadataKeys.RATING] = "TVPG"

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

Android (Kotlin)

val metadata = HashMap<String, String>()
metadata[MediaConstants.VideoMetadataKeys.RATING] = "TVPG"

tracker.trackSessionStart(mediaInfo, metadata)

Roku (BrightScript)

Use createMediaSession to set rating inside sessionDetails:

m.aepSdk.createMediaSession({
    "xdm": {
        "eventType": "media.sessionStart",
        "mediaCollection": {
            "sessionDetails": {
                "rating": "TVPG"
            },
            "playhead": 0
        }
    }
})

Media Edge API

Call the sessionStart endpoint with rating inside mediaCollection.sessionDetails:

{
  "events": [{
    "xdm": {
      "eventType": "media.sessionStart",
      "mediaCollection": {
        "sessionDetails": {
          "name": "video-123",
          "length": 128,
          "contentType": "vod",
          "playerName": "HTML5 Player",
          "channel": "Sports",
          "rating": "TVPG"
        },
        "playhead": 0
      }
    }
  }]
}

Media SDK

Pass the rating in the contextData object using ADB.Media.VideoMetadataKeys.Rating:

var contextData = {};
contextData[ADB.Media.VideoMetadataKeys.Rating] = "TVPG";

tracker.trackSessionStart(mediaInfo, contextData);

Media Collection API

Include media.rating in the params object:

{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.rating": "TVPG"
  }
}

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

recommendation-more-help
media-analytics-help