Authorized

This page covers data collection for the Authorized variable. See Authorized for the corresponding reporting metric.

The authorized variable flags a session whose user has been authorized through Adobe Pass / TV-Everywhere. Set it to "TRUE" when authorization is confirmed; leave it unset otherwise. Pair with MVPD to break out authentication by provider.

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

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

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

Pass the authorized flag as a metadata key in the HashMap argument to trackSessionStart. Use MediaConstants.VideoMetadataKeys.AUTHORIZED.

code language-swift
var metadata: [String: String] = [:]
metadata[MediaConstants.VideoMetadataKeys.AUTHORIZED] = "TRUE"

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

Pass the authorized flag as a metadata key in the HashMap argument to trackSessionStart. Use MediaConstants.VideoMetadataKeys.AUTHORIZED.

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

tracker.trackSessionStart(mediaInfo, metadata)
Roku

Use createMediaSession to set authorized inside sessionDetails:

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

Call the sessionStart endpoint with authorized 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",
          "authorized": "TRUE"
        },
        "playhead": 0
      }
    }
  }]
}

Legacy implementation types (Analytics-only)

Media SDK JS 3.x

Pass the authorized flag in the contextData object using ADB.Media.VideoMetadataKeys.Authorized:

code language-javascript
var contextData = {};
contextData[ADB.Media.VideoMetadataKeys.Authorized] = "TRUE";

tracker.trackSessionStart(mediaInfo, contextData);
Chromecast

Use ADBMobile.media.VideoMetadataKeys.AUTHORIZED to set the authorized flag 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.AUTHORIZED] = "TRUE";
mediaInfo[ADBMobile.media.MediaObjectKey.StandardMediaMetadata] = standardMetadata;
ADBMobile.media.trackSessionStart(mediaInfo, null);
Media Collection API

Include media.pass.auth in the params object:

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.pass.auth": "TRUE"
  }
}

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

recommendation-more-help
media-analytics-help