Criar eventos personalizados
Você pode estender a plataforma de eventos criando seus próprios eventos de vitrine eletrônica para coletar dados exclusivos de seu setor. Quando você cria e configura um evento personalizado, ele é enviado para o Coletor de Eventos da Adobe Commerce.
Lidar com eventos personalizados
Eventos personalizados são compatíveis somente com o Adobe Experience Platform. Os dados personalizados não são encaminhados para painéis e rastreadores de métricas do Adobe Commerce.
Para qualquer evento custom
, o coletor:
- Adiciona
identityMap
comECID
como identidade primária - Inclui
email
emidentityMap
como uma identidade secundária sepersonalEmail.address
estiver definido no evento - Envolve o evento completo dentro de um objeto
xdm
antes de encaminhar para a Edge
Exemplo:
Evento personalizado publicado pelo Adobe Commerce Events SDK:
mse.publish.custom({
commerce: {
saveForLaters: {
value: 1,
},
},
});
No Experience Platform Edge:
{
xdm: {
identityMap: {
ECID: [
{
id: 'ecid1234',
primary: true
}
],
email: [
{
id: "runs@safari.ke",
primary: false
}
]
},
commerce: {
saveForLaters: {
value: 1
}
}
}
}
Lidar com substituições de eventos (atributos personalizados)
Para qualquer conjunto de eventos com um customContext
, o coletor substitui ou estende os campos na carga do evento dos campos no custom context
. O caso de uso para substituições é quando um desenvolvedor deseja reutilizar e estender contextos definidos por outras partes da página em eventos já compatíveis.
As substituições de evento são aplicáveis somente ao encaminhar para o Experience Platform. Elas não são aplicadas aos eventos de análise do Adobe Commerce e do Sensei. O Coletor de Eventos da Adobe Commerce README fornece informações adicionais.
productListItems
com atributos personalizados em cargas de evento do Experience Platform, associe produtos usando o SKU. Este requisito não se aplica a product-page-view
eventos.Uso
const mse = window.magentoStorefrontEvents;
mse.publish.productPageView(customCtx);
Exemplo 1
Este exemplo adiciona contexto personalizado ao publicar o evento.
magentoStorefrontEvents.publish.productPageView({
productListItems: [
{
productCategories: [
{
categoryID: "cat_15",
categoryName: "summer pants",
categoryPath: "pants/mens/summer",
},
],
},
],
});
Exemplo 2
Este exemplo adiciona contexto personalizado antes de publicar o evento.
const mse = window.magentoStorefrontEvents;
mse.context.setCustom({
productListItems: [
{
productCategories: [
{
categoryID: "cat_15",
categoryName: "summer pants",
categoryPath: "pants/mens/summer",
},
],
},
],
});
mse.publish.productPageView();
Exemplo 3
Este exemplo define o contexto personalizado no editor e substitui o contexto personalizado definido anteriormente na Camada de dados de clientes Adobe.
Neste exemplo, o evento pageView
terá Nome de Página Personalizado 2 no campo web.webPageDetails.name
.
const mse = window.magentoStorefrontEvents;
mse.context.setCustom({
web: {
webPageDetails: {
name: 'Custom Page Name 1'
},
},
});
mse.publish.pageView({
web: {
webPageDetails: {
name: 'Custom Page Name 2'
},
},
});
Exemplo 4
Este exemplo adiciona contexto personalizado a productListItems
eventos com vários produtos.
const mse = window.magentoStorefrontEvents;
mse.context.setCustom({
productListItems: [
{
SKU: "24-WB01", //Match SKU to override correct product in event payload
productCategory: "Hand Bag", //Custom attribute added to event payload
name: "Strive Handbag (CustomName)" //Override existing attribute with custom value in event payload
},
{
SKU: "24-MB04",
productCategory: "Backpack Bag",
name: "Strive Backpack (CustomName)"
},
],
});
mse.publish.shoppingCartView();
Lojas baseadas em Luma:
As lojas baseadas em Luma implementam nativamente os eventos de publicação, de modo que você possa definir dados personalizados estendendo o customContext
.
Por exemplo:
mse.context.setCustom({
web: {
webPageDetails: {
name: 'Custom Page Name'
},
},
});