Ad in pod position

This page covers data collection for the Ad in pod position variable. See Ad in pod position for the corresponding reporting dimension.

The ad in pod position variable is the zero-indexed position of the ad inside its parent ad break. The first ad in a pod has index 0, the second has index 1, and so on. Use the dimension to compare engagement and completion by position within an ad break.

Property
Value
Context data variable
a.media.ad.podPosition
XDM collection field
mediaCollection.advertisingDetails.podPosition
Audience Manager trait
c_contextdata.a.media.ad.podPosition
Required
Yes
Sent with
Ad start, ad close

Web SDK

Set podPosition inside mediaCollection.advertisingDetails when calling sendEvent:

alloy("sendEvent", {
  xdm: {
    eventType: "media.adStart",
    mediaCollection: {
      advertisingDetails: {
        name: "ad-2125",
        podPosition: 0
      },
      sessionID: "{sid}",
      playhead: 0
    }
  }
});

Mobile SDK

Pass the position as the third argument to createAdObject.

iOS (Swift)

let adObject = Media.createAdObjectWith(name: "Ford F-150",
                                          id: "ad-2125",
                                    position: 0,
                                      length: 15)

tracker.trackEvent(event: MediaEvent.AdStart, info: adObject, metadata: nil)

Android (Kotlin)

val adObject = Media.createAdObject("Ford F-150",
                                    "ad-2125",
                                    0L,
                                    15.0)

tracker.trackEvent(Media.Event.AdStart, adObject, null)

Roku (BrightScript)

Set podPosition inside mediaCollection.advertisingDetails when calling sendMediaEvent for media.adStart:

m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.adStart",
        "mediaCollection": {
            "advertisingDetails": {
                "name": "ad-2125",
                "podPosition": 0,
                "length": 15,
                "playerName": "Roku Player"
            },
            "playhead": 0
        }
    }
})

Media Edge API

Call the adStart endpoint with podPosition inside mediaCollection.advertisingDetails:

{
  "events": [{
    "xdm": {
      "eventType": "media.adStart",
      "mediaCollection": {
        "advertisingDetails": {
          "name": "ad-2125",
          "length": 15,
          "playerName": "Freewheel",
          "podPosition": 0
        },
        "sessionID": "{sid}",
        "playhead": 0
      }
    }
  }]
}

Media SDK

Pass the position as the third argument to ADB.Media.createAdObject:

var adInfo = ADB.Media.createAdObject(
  "Ford F-150",
  "ad-2125",
  0,
  15
);

tracker.trackEvent(ADB.Media.Event.AdStart, adInfo, contextData);

Media Collection API

Include media.ad.podPosition in the params object:

{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "adStart",
  "params": {
    "media.ad.podPosition": 0
  }
}

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

recommendation-more-help
media-analytics-help