Ad ID

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

The ad ID variable uniquely identifies each ad. It is required for every ad that your player tracks. Set it on every media.adStart event.

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

Set name inside xdm.mediaCollection.advertisingDetails when calling sendEvent for media.adStart:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.adStart",
    mediaCollection: {
      advertisingDetails: {
        name: "ad-2125",
        friendlyName: "Ford F-150",
        length: 15,
        playerName: "Freewheel",
        podPosition: 0
      },
      sessionID: "{sid}",
      playhead: 0
    }
  }
});
iOS

Pass the ad ID as the adId argument to createAdObject. The first argument (name) is the friendly name; the second is the ID.

code language-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

Pass the ad ID as the adId argument to createAdObject. The first argument (name) is the friendly name; the second is the ID.

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

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

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

code language-brightscript
m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.adStart",
        "mediaCollection": {
            "advertisingDetails": {
                "name": "ad-2125",
                "friendlyName": "Ford F-150",
                "length": 15,
                "playerName": "Roku Player",
                "podPosition": 0
            },
            "playhead": 0
        }
    }
})
Media Edge API

Call the adStart endpoint with name inside xdm.mediaCollection.advertisingDetails:

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

Legacy implementation types (Analytics-only)

Media SDK JS 3.x

Pass the ad ID as the second argument to ADB.Media.createAdObject:

code language-javascript
var adInfo = ADB.Media.createAdObject(
  "Ford F-150",   // name (friendly name)
  "ad-2125",      // ad ID
  0,              // position in pod
  15              // length (seconds)
);

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

Pass the ad ID as the second argument to ADBMobile.media.createAdObject:

code language-javascript
var adInfo = ADBMobile.media.createAdObject(
  "Ford F-150",
  "ad-2125",
  1,
  30
);
ADBMobile.media.trackEvent(ADBMobile.media.Event.AdStart, adInfo, null);
Media Collection API

Include media.ad.id in the params object of your adStart POST request:

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "adStart",
  "params": {
    "media.ad.id": "ad-2125"
  }
}

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

recommendation-more-help
media-analytics-help