XDM レポートスキーマ

Adobe Experience Platform Edge Networkを使用してメディアトラッキングイベントを送信する場合、Media Analytics バックエンドは、それらのイベントを処理し、計算されたエクスペリエンスイベントをPlatform データセットに書き込みます。 どのイベントがAdobe Experience Platformに到達し、どのようなバックエンド処理が必要になるかを把握することは、Customer Journey AnalyticsやAdobe Analyticsでの実装を検証し、正確なレポートを作成するのに役立ちます。

2つの異なるXDM スキーマが、コレクションとレポートパイプラインの異なる部分で使用されます。

スキーマ
名前空間
方向
目的
メディアコレクション
xdm.mediaCollection
Client → Adobe
各トラッキングイベントに対してプレイヤーが送信する情報。 変数によって使用されます。
メディアレポート
xdm.mediaReporting
Adobe → Platform
バックエンドが処理後にデータセットに書き込むもの。 ​ ディメンション ​および指標によって使用されます。

mediaReportingに存在するが、mediaCollection ペイロードに存在しないフィールドは、セッション内のイベントの完全なシーケンスから派生します。 これらのフィールドは、Adobeによって生成されます。

Platform データセットに書き込むイベント

追跡可能な12種類のイベントタイプのうち、データセットに書き込む個々のエクスペリエンスイベントを生成するのは5種類のみです。

イベントタイプ
データセットに含まれる
メモ
​ セッション開始
はい
セッションが初期化されたときに書かれます
広告の開始
はい
個々の広告が開始されたときに作成されます
Ad complete
はい
広告が完了するまで再生されるときに記述されます
章完了
はい
章が完了するまで再生されるときに書かれます
​ セッション完了
はい
セッションが終了したときに書き込まれます。最も豊富な計算フィールドセット
​ プレイ ​
いいえ
timePlayedの計算に使用
開始を一時停止
いいえ
pauseCountpauseTimeの計算に使用しました
Ping
いいえ
ハートビート。セッションが非アクティブであることを検出するために使用されます
​ バッファー開始
いいえ
QoE バッファー指標の計算に使用
​ ビットレート変更
いいえ
QoE ビットレート指標の計算に使用
状態の開始
いいえ
プレーヤーの状態指標の計算に使用されます
​ エラー
いいえ
QoEでerrorCountを計算するために使用

バックエンドで計算されたフィールド

次のフィールドはmediaReporting ペイロードに表示されますが、コレクションペイロードの一部ではありません。 バックエンドでは、イベント全体のシーケンスからバックエンドを導き出します。

セッションレベルsessionCompleteに表示):

フィールド
説明
xdm.mediaReporting.sessionDetails.timePlayed
広告を除く、再生されたメインコンテンツの合計秒数
xdm.mediaReporting.sessionDetails.totalTimePlayed
広告を含む合計経過秒数
xdm.mediaReporting.sessionDetails.uniqueTimePlayed
重複排除された秒:複数回閲覧されたインターバルは1回のみカウントされます
xdm.mediaReporting.sessionDetails.averageMinuteAudience
timePlayedをコンテンツの長さで割りました
xdm.mediaReporting.sessionDetails.estimatedStreams
推定される同時ストリーム
xdm.mediaReporting.sessionDetails.adCount
開始した広告の数
xdm.mediaReporting.sessionDetails.chapterCount
開始した章の数
xdm.mediaReporting.sessionDetails.pauseCount / xdm.mediaReporting.sessionDetails.pauseTime
一時停止の頻度と合計一時停止の期間
xdm.mediaReporting.sessionDetails.hasProgress10xdm.mediaReporting.sessionDetails.hasProgress95
進捗マイルストーンフラグ (10%、25%、50%、75%、95%)
xdm.mediaReporting.sessionDetails.hasSegmentView
少なくとも1 フレームのコンテンツが表示されたかどうか
xdm.mediaReporting.sessionDetails.isCompleted / xdm.mediaReporting.sessionDetails.isPlayed
完了フラグと開始フラグ
xdm.mediaReporting.sessionDetails.secondsSinceLastCall
最後のpingからセッション終了までの時間
xdm.mediaReporting.sessionDetails.segment
コンテンツセグメントブラケット (例:[0-1]

広告レベルadCompleteに表示):

フィールド
説明
xdm.mediaReporting.advertisingDetails.timePlayed
広告コンテンツの再生時間(秒)
xdm.mediaReporting.advertisingDetails.isCompleted
広告が完了するまで再生されたかどうか

章レベルchapterCompleteに表示):

フィールド
説明
xdm.mediaReporting.chapterDetails.timePlayed
章コンテンツの再生時間(秒)
xdm.mediaReporting.chapterDetails.isCompleted
章が完了するまで再生されたかどうか
xdm.mediaReporting.chapterDetails.isStarted
章が開始されたかどうか

QoEsessionCompleteに集計):

フィールド
説明
xdm.mediaReporting.qoeDataDetails.bitrateAverage
セッション全体の平均ビットレート
xdm.mediaReporting.qoeDataDetails.bitrateAverageBucket
バケット化された平均ビットレート範囲
xdm.mediaReporting.qoeDataDetails.bitrateChangeCount
ビットレートの変更数
xdm.mediaReporting.qoeDataDetails.errorCount
エラー数
xdm.mediaReporting.qoeDataDetails.droppedFrames
ドロップされたフレームの合計
xdm.mediaReporting.qoeDataDetails.playerSdkErrors
プレーヤーのエラーコードの配列
xdm.mediaReporting.qoeDataDetails.hasErrorImpactedStreams
エラーが発生したかどうか
xdm.mediaReporting.qoeDataDetails.hasDroppedFrameImpactedStreams
ドロップしたフレームが発生したかどうか
xdm.mediaReporting.qoeDataDetails.hasBitrateChangeImpactedStreams
ビットレートの変更が発生したかどうか

ダウンロード済みコンテンツ

​ ダウンロード済みエンドポイント ​を使用して追跡されたセッションの場合、バックエンドはsessionStartのレポートイベントにxdm.mediaReporting.sessionDetails.isDownloadedからtrueに自動的に設定します。 ダウンロードされたセッションの他のすべてのレポートイベントは、ライブセッションと同じスキーマに従います。 CJAまたはAdobe Analyticsのこのフィールドを使用して、ダウンロードした再生をフィルタリングまたはセグメント化します。

コレクションの実装の詳細については、Media Edge API リファレンスの​ ダウンロード済みエンドポイント ​を参照してください。

実装の検証

Media Edge APIを介してイベントを送信した後、次のいずれかの方法を使用してデータが正しく検出されたかどうかを確認します。

Adobe Experience Platform データセット プレビュー

  1. CX Enterpriseで、データセット​に移動し、ストリーミングメディアデータセットを選択します。
  2. データセットのプレビュー​を選択すると、最近取り込まれたエクスペリエンスイベントが表示されます。
  3. media.sessionStartmedia.sessionCompleteなどのeventTypeの値が、入力されたmediaReporting フィールドに表示されていることを確認します。

Customer Journey Analytics データセット インスペクション

  1. CJAで、ストリーミングメディアデータセットに関連付けられている接続を開きます。
  2. データセットを追加」を選択し、スキーマを調べて、mediaReporting フィールドが期待されるディメンションと指標にマッピングされていることを確認します。

Adobe Analyticsの処理ルール (Analyticsの宛先を使用している場合)

Analytics ソースコネクタを介してデータを受け取るAdobe Analytics レポートスイートの場合、処理ルールを使用して、mediaReporting個のコンテキストデータ変数をカスタム propまたはeVarにマッピングできます。 isDownloaded フラグはa.media.downloadedとして利用できます。

XDM ペイロードの例

次の例は、Platform データセットに書き込まれた各レポートイベントの完全なmediaReporting XDM構造を示しています。 _{tenantName} プロパティは、任意のカスタムフィールドに対する組織のテナント名前空間を表します。

media.sessionStart
code language-json
{
  "xdm": {
    "_{tenantName}": {
      "customField1": "c1",
      "customField2": "c2"
    },
    "mediaReporting": {
      "sessionDetails": {
        "adLoad": "adLoadType",
        "appVersion": "sdk-1.0",
        "artist": "test-artist",
        "channel": "broadcastChannel",
        "rating": "4.8/5",
        "show": "test-name Series",
        "genreList": ["Comedy"],
        "episode": "4933",
        "originator": "Tokala Clementine",
        "isViewed": true,
        "network": "test-network",
        "firstAirDate": "firstAirDate",
        "streamType": "video",
        "authorized": "true",
        "streamFormat": "streamFormat",
        "genre": "Comedy",
        "station": "test-station",
        "hasResume": false,
        "season": "1521",
        "showType": "sitcom",
        "ID": "cd7b[...]6f",
        "contentType": "VOD",
        "friendlyName": "test-friendly-name",
        "playerName": "HTML5 player",
        "album": "test-album",
        "author": "test-author",
        "length": 100,
        "dayPart": "dayPart",
        "label": "test-label",
        "mvpd": "test-mvpd",
        "feed": "sourceFeed",
        "assetID": "/uri-reference",
        "name": "test-name",
        "publisher": "test-media-publisher",
        "firstDigitalDate": "releaseDate"
      }
    },
    "implementationDetails": {
      "environment": "server",
      "name": "https://ns.adobe.com/experience/edge",
      "version": "0.0.0"
    },
    "identityMap": {
      "ECID": [
        {
          "id": "5191[...]21",
          "authenticatedState": "ambiguous",
          "primary": true
        }
      ]
    },
    "eventType": "media.sessionStart",
    "_id": "0[...]0",
    "timestamp": "YYYY-11-20T12:43:35Z"
  }
}
media.adStart
code language-json
{
  "xdm": {
    "_{tenantName}": {
      "customField1": "c1",
      "customField2": "c2"
    },
    "environment": {
      "browserDetails": {},
      "ipV4": "130.248.81.10"
    },
    "mediaReporting": {
      "advertisingDetails": {
        "advertiser": "Adobe Marketing",
        "podPosition": 1,
        "placementID": "placementID",
        "example": "https://example.com",
        "playerName": "HTML5 player",
        "campaignID": "Adobe Analytics",
        "name": "/uri-reference/001",
        "length": 10,
        "siteID": "siteID",
        "isStarted": true,
        "creativeID": "creativeID",
        "friendlyName": "Ad 1"
      },
      "sessionDetails": {
        "adLoad": "adLoadType",
        "appVersion": "sdk-1.0",
        "artist": "test-artist",
        "pev3": "videoAd",
        "channel": "broadcastChannel",
        "rating": "4.8/5",
        "show": "test-name Series",
        "genreList": ["Comedy"],
        "episode": "4933",
        "originator": "Tokala Clementine",
        "network": "test-network",
        "firstAirDate": "firstAirDate",
        "streamType": "video",
        "pccr": true,
        "authorized": "true",
        "streamFormat": "streamFormat",
        "genre": "Comedy",
        "station": "test-station",
        "season": "1521",
        "showType": "sitcom",
        "ID": "cd7b[...]6f",
        "contentType": "VOD",
        "friendlyName": "test-friendly-name",
        "playerName": "HTML5 player",
        "album": "test-album",
        "author": "test-author",
        "length": 100,
        "dayPart": "dayPart",
        "label": "test-label",
        "mvpd": "test-mvpd",
        "feed": "sourceFeed",
        "assetID": "/uri-reference",
        "name": "test-name",
        "publisher": "test-media-publisher",
        "firstDigitalDate": "releaseDate"
      },
      "advertisingPodDetails": {
        "offset": 0,
        "ID": "3d594614f445f6b00014e9b77730b833_1",
        "friendlyName": "Mid-ad"
      }
    },
    "implementationDetails": {
      "environment": "server",
      "name": "https://ns.adobe.com/experience/edge",
      "version": "0.0.0"
    },
    "identityMap": {
      "ECID": [
        {
          "id": "5191[...]21",
          "authenticatedState": "ambiguous",
          "primary": true
        }
      ]
    },
    "eventType": "media.adStart",
    "_id": "d[...]0",
    "timestamp": "YYYY-11-20T12:43:56Z"
  }
}
media.adComplete
code language-json
{
  "xdm": {
    "_{tenantName}": {
      "customField1": "c1",
      "customField2": "c2"
    },
    "mediaReporting": {
      "advertisingDetails": {
        "advertiser": "Adobe Marketing",
        "podPosition": 1,
        "placementID": "placementID",
        "example": "https://example.com",
        "playerName": "HTML5 player",
        "campaignID": "Adobe Analytics",
        "length": 10,
        "creativeID": "creativeID",
        "timePlayed": 7,
        "name": "/uri-reference/001",
        "siteID": "siteID",
        "friendlyName": "Ad 1",
        "isCompleted": true
      },
      "sessionDetails": {
        "adLoad": "adLoadType",
        "appVersion": "sdk-1.0",
        "artist": "test-artist",
        "pev3": "videoAd",
        "channel": "broadcastChannel",
        "rating": "4.8/5",
        "show": "test-name Series",
        "genreList": ["Comedy"],
        "episode": "4933",
        "originator": "Tokala Clementine",
        "network": "test-network",
        "firstAirDate": "firstAirDate",
        "streamType": "video",
        "pccr": true,
        "authorized": "true",
        "streamFormat": "streamFormat",
        "genre": "Comedy",
        "station": "test-station",
        "season": "1521",
        "showType": "sitcom",
        "ID": "cd7b[...]6f",
        "contentType": "VOD",
        "friendlyName": "test-friendly-name",
        "playerName": "HTML5 player",
        "album": "test-album",
        "author": "test-author",
        "length": 100,
        "dayPart": "dayPart",
        "label": "test-label",
        "mvpd": "test-mvpd",
        "feed": "sourceFeed",
        "assetID": "/uri-reference",
        "name": "test-name",
        "publisher": "test-media-publisher",
        "firstDigitalDate": "releaseDate"
      },
      "advertisingPodDetails": {
        "offset": 0,
        "ID": "3d594614f445f6b00014e9b77730b833_1",
        "friendlyName": "Mid-ad"
      }
    },
    "implementationDetails": {
      "environment": "server",
      "name": "https://ns.adobe.com/experience/edge",
      "version": "0.0.0"
    },
    "identityMap": {
      "ECID": [
        {
          "id": "5191[...]21",
          "authenticatedState": "ambiguous",
          "primary": true
        }
      ]
    },
    "eventType": "media.adComplete",
    "_id": "f[...]0",
    "timestamp": "YYYY-11-20T12:44:03Z"
  }
}
media.chapterComplete
code language-json
{
  "xdm": {
    "_{tenantName}": {
      "customField1": "c1",
      "customField2": "c2",
      "customTest": "myCustomValue1"
    },
    "environment": {
      "browserDetails": {},
      "ipV4": "130.248.81.10"
    },
    "mediaReporting": {
      "sessionDetails": {
        "adLoad": "adLoadType",
        "appVersion": "sdk-1.0",
        "artist": "test-artist",
        "pev3": "video",
        "channel": "broadcastChannel",
        "rating": "4.8/5",
        "show": "test-name Series",
        "genreList": ["Comedy"],
        "episode": "4933",
        "originator": "Tokala Clementine",
        "network": "test-network",
        "firstAirDate": "firstAirDate",
        "streamType": "video",
        "pccr": true,
        "authorized": "true",
        "streamFormat": "streamFormat",
        "genre": "Comedy",
        "station": "test-station",
        "season": "1521",
        "showType": "sitcom",
        "ID": "cd7b[...]6f",
        "contentType": "VOD",
        "friendlyName": "test-friendly-name",
        "playerName": "HTML5 player",
        "album": "test-album",
        "author": "test-author",
        "length": 100,
        "dayPart": "dayPart",
        "label": "test-label",
        "mvpd": "test-mvpd",
        "feed": "sourceFeed",
        "assetID": "/uri-reference",
        "name": "test-name",
        "publisher": "test-media-publisher",
        "firstDigitalDate": "releaseDate"
      },
      "chapterDetails": {
        "timePlayed": 10,
        "offset": 0,
        "length": 10,
        "index": 1,
        "ID": "3d594614f445f6b00014e9b77730b833_1",
        "isStarted": true,
        "friendlyName": "Chapter 1",
        "isCompleted": true
      }
    },
    "implementationDetails": {
      "environment": "server",
      "name": "https://ns.adobe.com/experience/edge",
      "version": "0.0.0"
    },
    "identityMap": {
      "ECID": [
        {
          "id": "5191[...]21",
          "authenticatedState": "ambiguous",
          "primary": true
        }
      ]
    },
    "eventType": "media.chapterComplete",
    "_id": "a[...]0",
    "timestamp": "YYYY-11-20T12:44:24Z"
  }
}
media.sessionComplete
code language-json
{
  "xdm": {
    "_{tenantName}": {
      "customField1": "c1",
      "customField2": "c2"
    },
    "environment": {
      "browserDetails": {},
      "ipV4": "130.248.81.10"
    },
    "mediaReporting": {
      "qoeDataDetails": {
        "playerSdkErrors": ["test-buffer-start"],
        "bitrateAverageBucket": "0-99",
        "bitrateChangeCount": 1,
        "droppedFrames": 30,
        "hasErrorImpactedStreams": true,
        "hasBitrateChangeImpactedStreams": true,
        "hasDroppedFrameImpactedStreams": true,
        "bitrateAverage": 35,
        "timeToStart": 1,
        "errorCount": 1
      },
      "sessionDetails": {
        "adLoad": "adLoadType",
        "appVersion": "sdk-1.0",
        "hasProgress10": true,
        "pev3": "video",
        "channel": "broadcastChannel",
        "rating": "4.8/5",
        "episode": "4933",
        "pauseTime": 3,
        "streamType": "video",
        "pccr": true,
        "authorized": "true",
        "segment": "[0-1]",
        "season": "1521",
        "showType": "sitcom",
        "pauseCount": 1,
        "ID": "cd7b[...]6f",
        "contentType": "VOD",
        "uniqueTimePlayed": 47,
        "totalTimePlayed": 55,
        "author": "test-author",
        "hasProgress25": true,
        "feed": "sourceFeed",
        "timePlayed": 48,
        "name": "test-name",
        "publisher": "test-media-publisher",
        "hasPauseImpactedStreams": true,
        "averageMinuteAudience": 0.48,
        "artist": "test-artist",
        "show": "test-name Series",
        "genreList": ["Comedy"],
        "originator": "Tokala Clementine",
        "network": "test-network",
        "firstAirDate": "firstAirDate",
        "hasSegmentView": true,
        "streamFormat": "streamFormat",
        "genre": "Comedy",
        "station": "test-station",
        "friendlyName": "test-friendly-name",
        "isCompleted": true,
        "playerName": "HTML5 player",
        "album": "test-album",
        "chapterCount": 1,
        "length": 100,
        "adCount": 1,
        "dayPart": "dayPart",
        "label": "test-label",
        "mvpd": "test-mvpd",
        "secondsSinceLastCall": 51,
        "assetID": "/uri-reference",
        "isPlayed": true,
        "estimatedStreams": 1,
        "firstDigitalDate": "releaseDate"
      },
      "states": [
        {
          "isSet": true,
          "name": "mute",
          "count": 1,
          "time": 3
        },
        {
          "isSet": true,
          "name": "pictureInPicture",
          "count": 1,
          "time": 3
        }
      ]
    },
    "implementationDetails": {
      "environment": "server",
      "name": "https://ns.adobe.com/experience/edge",
      "version": "0.0.0"
    },
    "identityMap": {
      "ECID": [
        {
          "id": "5191[...]21",
          "authenticatedState": "ambiguous",
          "primary": true
        }
      ]
    },
    "eventType": "media.sessionComplete",
    "_id": "a[...]0",
    "timestamp": "YYYY-11-20T12:44:40Z"
  }
}
media.sessionStart (ダウンロード済みコンテンツ)

​ ダウンロード済みエンドポイント ​を使用して追跡されたセッションは、同じレポートスキーマに従い、1つの主な違いがあります。xdm.mediaReporting.sessionDetails.isDownloadedは、sessionStart レポートイベントでtrueに設定されています。 その他のすべてのイベントタイプは、上記のライブコンテンツの例と同じです。

code language-json
{
  "xdm": {
    "mediaReporting": {
      "customMetadata": [
        {
          "name": "customData",
          "value": "example"
        }
      ],
      "playhead": 0,
      "sessionDetails": {
        "ID": "d8a25708a6b0be83975e32e2f422105ed62f51ff67e6d82d898657534ab9244f",
        "channel": "channel",
        "contentType": "VOD",
        "length": 100,
        "name": "123456789",
        "playerName": "playerName",
        "isDownloaded": true
      }
    },
    "eventType": "media.sessionStart",
    "timestamp": "YYYY-09-26T15:52:24Z",
    "identityMap": {
      "ECID": [
        {
          "id": "51910389753901685456014889838591030721"
        }
      ]
    },
    "implementationDetails": {
      "version": "0.0.1",
      "environment": "browser",
      "name": "https://ns.adobe.com/experience/edge"
    }
  }
}
recommendation-more-help
media-analytics-help