First digital date

This page covers data collection for the First digital date variable. See First digital date for the corresponding reporting dimension.

The first digital date variable is the date the content first aired on any digital platform. Any date format is accepted but Adobe recommends YYYY-MM-DD for consistency. Use alongside First air date to compare digital release timing with original broadcast.

Property
Value
Context data variable
a.media.digitalDate
XDM collection field
xdm.mediaCollection.sessionDetails.firstDigitalDate
Audience Manager trait
c_contextdata.a.media.digitalDate
Required
No
Sent with
Session start, session close
Web SDK

Set firstDigitalDate inside xdm.mediaCollection.sessionDetails when calling sendEvent:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.sessionStart",
    mediaCollection: {
      sessionDetails: {
        firstDigitalDate: "2016-01-25"
      },
      playhead: 0
    }
  }
});
iOS

Pass the first digital date as a metadata key in the HashMap argument to trackSessionStart. Use MediaConstants.VideoMetadataKeys.FIRST_DIGITAL_DATE.

code language-swift
var metadata: [String: String] = [:]
metadata[MediaConstants.VideoMetadataKeys.FIRST_DIGITAL_DATE] = "2016-01-25"

tracker.trackSessionStart(info: mediaObject, metadata: metadata)
Android

Pass the first digital date as a metadata key in the HashMap argument to trackSessionStart. Use MediaConstants.VideoMetadataKeys.FIRST_DIGITAL_DATE.

code language-kotlin
val metadata = HashMap<String, String>()
metadata[MediaConstants.VideoMetadataKeys.FIRST_DIGITAL_DATE] = "2016-01-25"

tracker.trackSessionStart(mediaInfo, metadata)
Roku

Use createMediaSession to set firstDigitalDate inside sessionDetails:

code language-brightscript
m.aepSdk.createMediaSession({
    "xdm": {
        "eventType": "media.sessionStart",
        "mediaCollection": {
            "sessionDetails": {
                "firstDigitalDate": "2016-01-25"
            },
            "playhead": 0
        }
    }
})
Media Edge API

Call the sessionStart endpoint with firstDigitalDate inside xdm.mediaCollection.sessionDetails:

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.sessionStart",
      "mediaCollection": {
        "sessionDetails": {
          "name": "video-123",
          "length": 128,
          "contentType": "vod",
          "playerName": "HTML5 Player",
          "channel": "Sports",
          "firstDigitalDate": "2016-01-25"
        },
        "playhead": 0
      }
    }
  }]
}

Legacy implementation types (Analytics-only)

Media SDK JS 3.x

Pass the first digital date in the contextData object using ADB.Media.VideoMetadataKeys.FirstDigitalDate:

code language-javascript
var contextData = {};
contextData[ADB.Media.VideoMetadataKeys.FirstDigitalDate] = "2016-01-25";

tracker.trackSessionStart(mediaInfo, contextData);
Chromecast

Use ADBMobile.media.VideoMetadataKeys.FIRST_DIGITAL_DATE to set the first digital date in the StandardMediaMetadata property of the media object before calling trackSessionStart:

code language-javascript
var mediaInfo = ADBMobile.media.createMediaObject("My Video", "video-123", 128,
  ADBMobile.media.StreamType.VOD, ADBMobile.media.MediaType.Video);
var standardMetadata = {};
standardMetadata[ADBMobile.media.VideoMetadataKeys.FIRST_DIGITAL_DATE] = "2016-01-25";
mediaInfo[ADBMobile.media.MediaObjectKey.StandardMediaMetadata] = standardMetadata;
ADBMobile.media.trackSessionStart(mediaInfo, null);
Media Collection API

Include media.firstDigitalDate in the params object:

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.firstDigitalDate": "2016-01-25"
  }
}

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

recommendation-more-help
media-analytics-help