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.
- Prerequisites: Session start
- Associated metric: None
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
}
}