Ad break start

The ad break start event signals the beginning of an ad break. An ad break is a sequence of one or more ads. Every adStart, adComplete, and adSkip event must occur between an adBreakStart and adBreakComplete pair, even when a single ad plays.

IMPORTANT
Ad events (adStart, adComplete, adSkip) are ignored without adBreakStart and adBreakComplete bookends. Without them, the ad duration is attributed to main content duration, which affects aggregated reporting data.

Web SDK

Call sendEvent with eventType: "media.adBreakStart" and the required advertisingPodDetails:

alloy("sendEvent", {
  xdm: {
    eventType: "media.adBreakStart",
    mediaCollection: {
      advertisingPodDetails: {
        friendlyName: "pre-roll",
        index: 1,
        offset: 0
      },
      sessionID: "{sid}",
      playhead: 0
    }
  }
});

Mobile SDK

Pass the ad break name, position, and start time to createAdBreakObject, then call trackEvent.

iOS (Swift)

let adBreakObject = Media.createAdBreakObjectWith(name: "pre-roll",
                                              position: 1,
                                             startTime: 0)

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

Android (Kotlin)

val adBreakObject = Media.createAdBreakObject("pre-roll",
                                              1,
                                              0)

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

Roku (BrightScript)

Call sendMediaEvent with eventType: "media.adBreakStart" and the required advertisingPodDetails:

m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.adBreakStart",
        "mediaCollection": {
            "advertisingPodDetails": {
                "friendlyName": "pre-roll",
                "index": 1,
                "offset": 0
            },
            "playhead": 0
        }
    }
})

Media Edge API

Call the adBreakStart endpoint with the required advertisingPodDetails:

curl -X POST "https://edge.adobedc.net/ee/va/v1/adBreakStart?configId={datastreamID}" \
--header 'Content-Type: application/json' \
--data '{
  "events": [{
    "xdm": {
      "eventType": "media.adBreakStart",
      "mediaCollection": {
        "sessionID": "{sid}",
        "playhead": 0,
        "advertisingPodDetails": {
          "index": 0,
          "offset": 0
        }
      },
      "timestamp": "YYYY-08-20T22:41:40+00:00"
    }
  }]
}'

Media SDK

Pass the ad break name, position, and start time to ADB.Media.createAdBreakObject:

var adBreakInfo = ADB.Media.createAdBreakObject(
  "pre-roll",  // name
  1,           // position
  0            // start time (seconds)
);

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

Media Collection API

Send an adBreakStart POST to the events endpoint:

{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "adBreakStart",
  "params": {
    "media.ad.podFriendlyName": "pre-roll",
    "media.ad.podIndex": 1,
    "media.ad.podSecond": 0
  }
}
recommendation-more-help
media-analytics-help