Suporte a metadados personalizados - formato XDM
A API da Experience Edge permite enviar metadados personalizados de mídia juntamente com campos XDM padrão em eventos de API sessionStart, adStart e chapterStart. Os metadados personalizados de mídia enviados por meio do formato XDM podem ser encaminhados ao Adobe Analytics e ao Adobe Experience Platform.
Para implementações da API Media Collection, consulte Suporte a metadados personalizados.
Visão geral
Os metadados personalizados de mídia podem ser enviados em dois locais em uma solicitação do Experience Edge, cada um com um comportamento de roteamento diferente:
xdm.mediaCollection.customMetadata_dataOs metadados personalizados se aplicam a três tipos de evento:
sessionStartadStartchapterStartEstrutura
xdm.mediaCollection.customMetadata (Analytics + AEP)
Os metadados personalizados são uma matriz de objetos de valor de nome dentro do objeto mediaCollection:
{
"xdm": {
"mediaCollection": {
"customMetadata": [
{
"name": "_tenant.fieldName",
"value": "fieldValue"
}
]
}
}
}
<InlineAlert variant=“warning” slots=“text” />
customMetadata deve ser uma matriz dentro de mediaCollection, não no nível raiz xdm.
Incorreto:
{
"xdm": {
"eventType": "media.sessionStart",
"customMetadata": [...] // ❌ Wrong location
}
}
Correto:
{
"xdm": {
"eventType": "media.sessionStart",
"mediaCollection": {
"customMetadata": [...] // ✅ Inside mediaCollection
}
}
}
_data (somente Analytics)
O objeto _data é uma construção especial do Experience Edge que envia dados exclusivamente para o Adobe Analytics, ignorando os conjuntos de dados do AEP. Os metadados personalizados devem ser colocados em __adobe.analytics.contextData.
Ao contrário de xdm.mediaCollection.customMetadata que usa uma matriz de objetos de valor de nome, o mapeamento _data usa um objeto de valor de chave simples diretamente em contextData:
xdm.mediaCollection.customMetadata{"name": "...", "value": "..."} objetos_data.__adobe.analytics.contextData{"key": "value"}{
"xdm": { ... },
"_data": {
"__adobe": {
"analytics": {
"contextData": {
"debugMode": "true",
"internalTestFlag": "QA-Session"
}
}
}
}
}
Nomeação de convenções
- Formato XDM: prefixo com namespace de locatário usando um sublinhado. Você também pode criar estruturas no grupo de campos personalizados do locatário, como
_<tenant>.<struct_name>.<field_name>. - Formato
_data: campos estão posicionados em_data.__adobe.analytics.contextData— nenhum prefixo de sublinhado é necessário no nome do campo (por exemplo,debugFlag)
Metadados personalizados do conteúdo principal
Enviado com sessionStart. Aplica-se à mídia principal que está sendo rastreada e permanece disponível em chamadas de anúncio e capítulo. Quaisquer metadados personalizados definidos aqui serão mesclados automaticamente pelo back-end de mídia nas chamadas de fechamento correspondentes. Ele será incluído junto com quaisquer metadados personalizados específicos definidos para anúncios e capítulos.
Solicitação
curl -X POST "https://edge.adobedc.net/ee/va/v1/sessionStart?configId={datastreamId}" \
--header 'Content-Type: application/json' \
--data '{
"events": [
{
"xdm": {
"eventType": "media.sessionStart",
"mediaCollection": {
"sessionDetails": {
"name": "Sample Video",
"playerName": "HTML5 Player",
"contentType": "VOD",
"length": 3600,
"channel": "Sports"
},
"playhead": 0,
"customMetadata": [
{
"name": "_mycompany.contentCategory",
"value": "Live Sports"
},
{
"name": "_mycompany.leagueType",
"value": "Professional"
}
]
},
"timestamp": "2026-03-10T18:00:00Z"
}
}
]
}'
Adicionar metadados personalizados
Enviado com adStart. Específico para cada anúncio individual. Os metadados personalizados de sessionStart também são mesclados automaticamente pelo back-end de mídia na chamada de fechamento de anúncio ao lado de qualquer metadado personalizado específico do anúncio definido aqui.
Solicitação
curl -X POST "https://edge.adobedc.net/ee/va/v1/adStart?configId={datastreamId}" \
--header 'Content-Type: application/json' \
--data '{
"events": [
{
"xdm": {
"eventType": "media.adStart",
"mediaCollection": {
"sessionID": "your-session-id",
"playhead": 30,
"advertisingDetails": {
"name": "Summer Sale Ad",
"playerName": "HTML5 Player",
"length": 30,
"podPosition": 1
},
"customMetadata": [
{
"name": "_mycompany.campaignId",
"value": "SUMMER2026"
},
{
"name": "_mycompany.targetAudience",
"value": "18-34"
},
{
"name": "_mycompany.adFormat",
"value": "skippable"
}
]
},
"timestamp": "2026-03-10T18:05:30Z"
}
}
]
}'
Metadados personalizados de capítulo
Enviado com chapterStart. Específico para cada capítulo ou segmento de conteúdo. Os metadados personalizados do sessionStart também são mesclados automaticamente pelo back-end de mídia na chamada de fechamento do capítulo ao lado de qualquer metadado personalizado específico do capítulo definido aqui.
Solicitação
curl -X POST "https://edge.adobedc.net/ee/va/v1/chapterStart?configId={datastreamId}" \
--header 'Content-Type: application/json' \
--data '{
"events": [
{
"xdm": {
"eventType": "media.chapterStart",
"mediaCollection": {
"sessionID": "your-session-id",
"playhead": 600,
"chapterDetails": {
"friendlyName": "Introduction",
"length": 300,
"index": 1,
"offset": 600
},
"customMetadata": [
{
"name": "_mycompany.chapterType",
"value": "tutorial"
},
{
"name": "_mycompany.difficulty",
"value": "beginner"
}
]
},
"timestamp": "2026-03-10T18:10:00Z"
}
}
]
}'
Usando o objeto _data (metadados somente Analytics)
Use o objeto _data quando precisar de metadados no Adobe Analytics que devem não ser armazenados em conjuntos de dados do AEP — por exemplo, sinalizadores temporários, variáveis de depuração ou dicas de processamento específicas do Analytics.
<InlineAlert variant=“warning” slots=“text” />
Os dados enviados via _data não são armazenados no Adobe Experience Platform e não estão disponíveis para o Real-Time CDP, Journey Orchestration ou outros serviços da AEP.
Solicitação
curl -X POST "https://edge.adobedc.net/ee/va/v1/sessionStart?configId={datastreamId}" \
--header 'Content-Type: application/json' \
--data '{
"events": [
{
"xdm": {
"eventType": "media.sessionStart",
"mediaCollection": {
"sessionDetails": {
"name": "Sample Video",
"playerName": "HTML5 Player",
"contentType": "VOD",
"length": 3600
},
"playhead": 0,
"customMetadata": [
{
"name": "_mycompany.league",
"value": "Action"
}
]
},
"timestamp": "2026-03-10T18:00:00Z"
},
"_data": {
"__adobe": {
"analytics": {
"contextData": {
"debugMode": "true",
"testFlag": "QA-Session"
}
}
}
}
}
]
}'
Neste exemplo:
_mycompany.league→ enviado ao Analytics e ao AEPdebugModeetestFlag(em_data.__adobe.analytics.contextData) → enviado somente para o Analytics
Local dos dados downstream
<InlineAlert variant=“info” slots=“text” />
xdm.mediaCollection.customMetadata é o caminho de API de entrada usado para enviar metadados personalizados com eventos. Após o processamento, os dados são encaminhados ao Adobe Analytics como variáveis de dados de contexto e armazenados no Adobe Experience Platform em xdm.mediaReporting.customMetadata e como campos nivelados de nível superior.
Adobe Analytics:
- Após o processamento, os metadados personalizados são encaminhados para o Adobe Analytics como variáveis de dados de contexto. O prefixo
_tenanté removido automaticamente, portanto, as regras de processamento referenciam somente o caminho do campo após_tenant(por exemplo,_mycompany.contentCategorytorna-secontentCategory) - Os dados enviados via
_datatambém são encaminhados ao Adobe Analytics e disponibilizados pelas regras de processamento - Use as regras de processamento para mapear variáveis de dados de contexto para eVars, props ou outras variáveis do Analytics. Consulte Mapeamento de variável de dados para o Adobe Experience Platform Edge Network para obter detalhes.
Adobe Experience Platform:
-
Os campos de metadados personalizados devem ser definidos como campos personalizados no esquema XDM (por exemplo,
_mycompany) e podem ser armazenados e consultados no AEP como campos nivelados
-
Para relatórios e consultas, os metadados personalizados estão disponíveis em
xdm.mediaReporting.customMetadatae também como campos nivelados de nível superior. Use o que for mais adequado para seu caso de uso. -
Acessível para segmentação, Journey Orchestration e ativação do Real-Time CDP
Comportamento
- Todos os valores de metadados personalizados devem ser cadeias de caracteres. Converta números e booleanos antes de enviar.
sessionStartmetadados persistem para a sessão inteira; as atualizações exigem uma nova sessão- Cada evento do
adStarte dochapterStartpode carregar diferentes metadados personalizados - Preferir campos XDM padrão (
sessionDetails,advertisingDetails,chapterDetails) aos metadados personalizados quando existir um campo padrão
Related Articles
- Suporte a metadados personalizados
- Tipo de dados de Detalhes da Coleção de Mídia
- Mapeamento de variável de dados para o Adobe Experience Platform Edge Network