Ad break start time

This page covers data collection for the Ad break start time variable. See Pod position for the corresponding reporting dimension.

The ad break start time variable is the offset of the ad break inside the content, measured in seconds. For a pre-roll the value is 0; for a mid-roll the value is the playhead position at which the break begins.

Property
Value
Context data variable
a.media.ad.podSecond
XDM collection field
xdm.mediaCollection.advertisingPodDetails.offset
Audience Manager trait
c_contextdata.a.media.ad.podSecond
Required
Yes
Sent with
Ad break start, ad close
Web SDK

Set offset inside xdm.mediaCollection.advertisingPodDetails when calling sendEvent:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.adBreakStart",
    mediaCollection: {
      advertisingPodDetails: {
        friendlyName: "mid-roll-1",
        index: 2,
        offset: 90
      },
      sessionID: "{sid}",
      playhead: 90
    }
  }
});
iOS

Pass the start time in seconds as the third argument to createAdBreakObject.

code language-swift
let adBreakObject = Media.createAdBreakObjectWith(name: "mid-roll-1",
                                              position: 2,
                                             startTime: 90)

tracker.trackEvent(event: MediaEvent.AdBreakStart, info: adBreakObject, metadata: nil)
Android

Pass the start time in seconds as the third argument to createAdBreakObject.

code language-kotlin
val adBreakObject = Media.createAdBreakObject("mid-roll-1",
                                              2L,
                                              90.0)

tracker.trackEvent(Media.Event.AdBreakStart, adBreakObject, null)
Roku

Set offset inside xdm.mediaCollection.advertisingPodDetails when calling sendMediaEvent for media.adBreakStart:

code language-brightscript
m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.adBreakStart",
        "mediaCollection": {
            "advertisingPodDetails": {
                "friendlyName": "mid-roll-1",
                "index": 2,
                "offset": 90
            },
            "playhead": 90
        }
    }
})
Media Edge API

Call the adBreakStart endpoint with offset inside xdm.mediaCollection.advertisingPodDetails:

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.adBreakStart",
      "mediaCollection": {
        "advertisingPodDetails": {
          "index": 2,
          "offset": 90
        },
        "sessionID": "{sid}",
        "playhead": 90
      }
    }
  }]
}

Legacy implementation types (Analytics-only)

Media SDK JS 3.x

Pass the start time as the third argument to ADB.Media.createAdBreakObject:

code language-javascript
var adBreakInfo = ADB.Media.createAdBreakObject(
  "mid-roll-1",
  2,
  90
);

tracker.trackEvent(ADB.Media.Event.AdBreakStart, adBreakInfo, null);
Chromecast

Pass the start time in seconds as the third argument to ADBMobile.media.createAdBreakObject:

code language-javascript
var adBreakInfo = ADBMobile.media.createAdBreakObject(
  "mid-roll-1",
  2,
  90
);
ADBMobile.media.trackEvent(ADBMobile.media.Event.AdBreakStart, adBreakInfo);
Media Collection API

Include media.ad.podSecond in the params object of your adBreakStart POST request:

code language-json
{
  "playerTime": { "playhead": 90, "ts": 1699523820000 },
  "eventType": "adBreakStart",
  "params": {
    "media.ad.podSecond": 90
  }
}

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

recommendation-more-help
media-analytics-help