Ad length

This page covers data collection for the Ad length variable. See Ad length for the corresponding reporting dimension.

The ad length variable is the duration of the ad in seconds. Set it on every media.adStart event.

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

Web SDK

Set length inside mediaCollection.advertisingDetails when calling sendEvent:

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

Mobile SDK

Pass the ad length in seconds as the fourth 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 length inside mediaCollection.advertisingDetails when calling sendMediaEvent for media.adStart:

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

Media Edge API

Call the adStart endpoint with length 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 ad length in seconds as the fourth 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.length in the params object of your adStart POST request:

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

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

recommendation-more-help
media-analytics-help