XDM-rapporteringsschema

När du skickar mediespårningshändelser med Adobe Experience Platform Edge Network bearbetar Media Analytics dessa händelser och skriver beräknade Experience Events till plattformsdatauppsättningar. Genom att förstå vilka händelser som når plattformen, och vad backend-systemet beräknar för dig, kan du validera implementeringen och skapa korrekta rapporter i Customer Journey Analytics eller Adobe Analytics.

Två separata XDM-scheman används i olika delar av insamlings- och rapporteringsflödet:

Schema
Namnutrymme
Riktning
Syfte
Media Collection
xdm.mediaCollection
Klient → Adobe
Vad spelaren skickar för varje spårningshändelse. Används av variabler.
Medierapportering
xdm.mediaReporting
Adobe → Platform
Vad serverdelen skriver till datauppsättningar efter bearbetning. Används av dimensioner och mått.

Fält som finns i mediaReporting men saknas i mediaCollection-nyttolasten härleds från den fullständiga sekvensen med händelser i en session. Du skickar aldrig dessa fält; Adobe genererar dem.

Händelser som skriver till plattformsdatauppsättningar

Av de 12 spårbara händelsetyperna genererar bara fem individuella Experience Event-skrivningar till datauppsättningar:

Händelsetyp
Ingår i datauppsättningar
Anteckningar
Sessionen börjar
Ja
Skrivs när sessionen initieras
Annonsen börjar
Ja
Skrivs när en enskild annons börjar
Ad complete
Ja
Skrivs när en annons spelas upp till slutförande
Kapitel slutfört
Ja
Skrivs när ett kapitel spelas upp till slutförande
Sessionen slutförd
Ja
Skrivs när sessionen avslutas. fyllnadsuppsättning för beräknat fält
Spela upp
Nej
Används för att beräkna timePlayed
Pausa start
Nej
Används för att beräkna pauseCount och pauseTime
Ping
Nej
pulsslag, används för att identifiera sessionsinaktivitet
Buffertstart
Nej
Används för att beräkna QoE-buffertmått
Bithastighetsändring
Nej
Används för att beräkna QoE-bithastighetsmätningar
Lägesstart
Nej
Används för att beräkna värden för spelartillstånd
Fel
Nej
Används för att beräkna errorCount i QoE

Bakåtberäknade fält

Följande fält visas i mediaReporting nyttolaster, men ingår aldrig i samlingsnyttolasten. Serverdelen hämtar dem från den fullständiga händelsesekvensen.

Sessionsnivå (visas på sessionComplete):

Fält
Beskrivning
xdm.mediaReporting.sessionDetails.timePlayed
Totalt antal sekunder av huvudinnehåll som spelas upp, exklusive annonser
xdm.mediaReporting.sessionDetails.totalTimePlayed
Totalt antal sekunder, inklusive annonser
xdm.mediaReporting.sessionDetails.uniqueTimePlayed
Ej duplicerade sekunder - intervall som visas mer än en gång räknas bara en gång
xdm.mediaReporting.sessionDetails.averageMinuteAudience
timePlayed delat med innehållslängd
xdm.mediaReporting.sessionDetails.estimatedStreams
Uppskattad samtidiga strömmar
xdm.mediaReporting.sessionDetails.adCount
Antal annonser som har startat
xdm.mediaReporting.sessionDetails.chapterCount
Antal kapitel som startats
xdm.mediaReporting.sessionDetails.pauseCount / xdm.mediaReporting.sessionDetails.pauseTime
Pausfrekvens och varaktighet för total paus
xdm.mediaReporting.sessionDetails.hasProgress10xdm.mediaReporting.sessionDetails.hasProgress95
Framgångsflaggor för milstolpar (10 %, 25 %, 50 %, 75 %, 95 %)
xdm.mediaReporting.sessionDetails.hasSegmentView
Om minst en innehållsram visades
xdm.mediaReporting.sessionDetails.isCompleted / xdm.mediaReporting.sessionDetails.isPlayed
Flaggor för slutförande och start
xdm.mediaReporting.sessionDetails.secondsSinceLastCall
Tid mellan senaste ping och sessionsstängning
xdm.mediaReporting.sessionDetails.segment
Innehållssegmentparentes (t.ex. [0-1])

Ad-level (visas på adComplete):

Fält
Beskrivning
xdm.mediaReporting.advertisingDetails.timePlayed
Sekunder med annonsinnehåll som spelas upp
xdm.mediaReporting.advertisingDetails.isCompleted
Huruvida annonsen spelades upp eller slutfördes

Kapitelnivå (visas på chapterComplete):

Fält
Beskrivning
xdm.mediaReporting.chapterDetails.timePlayed
Sekunder med uppspelat kapitelinnehåll
xdm.mediaReporting.chapterDetails.isCompleted
Om kapitlet spelas upp till slut
xdm.mediaReporting.chapterDetails.isStarted
Om kapitlet börjar

QoE (aggregerad på sessionComplete):

Fält
Beskrivning
xdm.mediaReporting.qoeDataDetails.bitrateAverage
Genomsnittlig bithastighet i hela sessionen
xdm.mediaReporting.qoeDataDetails.bitrateAverageBucket
Genomsnittligt bithastighetsintervall för buffrat
xdm.mediaReporting.qoeDataDetails.bitrateChangeCount
Antal bithastighetsändringar
xdm.mediaReporting.qoeDataDetails.errorCount
Antal fel
xdm.mediaReporting.qoeDataDetails.droppedFrames
Totalt antal uteslutna bildrutor
xdm.mediaReporting.qoeDataDetails.playerSdkErrors
Array med spelarfelkoder
xdm.mediaReporting.qoeDataDetails.hasErrorImpactedStreams
Om något fel uppstod
xdm.mediaReporting.qoeDataDetails.hasDroppedFrameImpactedStreams
Om uteslutna bildrutor inträffade
xdm.mediaReporting.qoeDataDetails.hasBitrateChangeImpactedStreams
Om ändringar i bithastigheten inträffade

Hämtat innehåll

För sessioner som spåras med den hämtade slutpunkten, ställs xdm.mediaReporting.sessionDetails.isDownloaded automatiskt in på true i sessionStart-rapporthändelsen. Alla andra rapporthändelser för hämtade sessioner följer samma schema som livesessioner. Använd det här fältet i CJA eller Adobe Analytics för att filtrera eller segmentera nedladdad uppspelning.

Se Hämtad slutpunkt i Media Edge API-referens för information om samlingsimplementering.

Validera implementeringen

När du har skickat händelser via Media Edge API kontrollerar du att dina data landats korrekt på något av följande sätt:

Adobe Experience Platform-förhandsgranskning av datauppsättning

  1. I CX Enterprise navigerar du till Datasets och väljer din datauppsättning för direktuppspelande media.
  2. Välj Preview dataset om du vill visa de senast importerade upplevelsehändelserna.
  3. Bekräfta att eventType värden som media.sessionStart och media.sessionComplete visas med ifyllda mediaReporting-fält.

Customer Journey Analytics datamängdsundersökning

  1. I CJA öppnar du anslutningen som är kopplad till din datauppsättning för direktuppspelande media.
  2. Välj Lägg till datauppsättningar och kontrollera schemat för att bekräfta att mediaReporting-fälten mappas till förväntade dimensioner och mått.

Bearbetningsregler för Adobe Analytics (om analysmålet används)

För Adobe Analytics rapportsviter som tar emot data via Analytics-källkopplingen kan du använda bearbetningsregler för att mappa mediaReporting-kontextdatavariabler till anpassade props eller eVars. Flaggan isDownloaded är tillgänglig som a.media.downloaded.

Exempel på XDM-nyttolast

I följande exempel visas den fullständiga mediaReporting XDM-strukturen för varje rapporthändelse som skrivits till plattformsdatauppsättningar. Egenskapen _{tenantName} representerar din organisations klientnamnområde för anpassade fält.

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 (hämtat innehåll)

Sessioner som spåras med den hämtade slutpunkten följer samma rapporteringsschema med en nyckelskillnad: xdm.mediaReporting.sessionDetails.isDownloaded är inställt på true för sessionStart Reporting-händelsen. Alla andra händelsetyper är identiska med exemplen ovan med det aktiva innehållet.

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