Creación de eventos personalizados
Puede ampliar la plataforma de eventos creando sus propios eventos de tienda para recopilar datos exclusivos de su sector. Cuando crea y configura un evento personalizado, se envía a Recopilador de eventos de Adobe Commerce.
Gestión de eventos personalizados
Los eventos personalizados solo son compatibles con Adobe Experience Platform. Los datos personalizados no se reenvían a los paneles de Adobe Commerce ni a los rastreadores de métricas.
Para cualquier evento custom
, el recolector:
- Agrega
identityMap
conECID
como identidad principal - Incluye
email
enidentityMap
como identidad secundaria sipersonalEmail.address
se establece en el evento - Envuelve el evento completo dentro de un objeto
xdm
antes de reenviarlo a Edge
Ejemplo:
Evento personalizado publicado mediante Adobe Commerce Events SDK:
mse.publish.custom({
commerce: {
saveForLaters: {
value: 1,
},
},
});
En Experience Platform Edge:
{
xdm: {
identityMap: {
ECID: [
{
id: 'ecid1234',
primary: true
}
],
email: [
{
id: "runs@safari.ke",
primary: false
}
]
},
commerce: {
saveForLaters: {
value: 1
}
}
}
}
Controlar anulaciones de eventos (atributos personalizados)
Para cualquier evento establecido con un customContext
, el recolector anula o amplía los campos de la carga útil de evento de los campos del custom context
. El caso de uso de las invalidaciones es cuando un desarrollador desea reutilizar y ampliar contextos establecidos por otras partes de la página en eventos ya admitidos.
Las anulaciones de eventos solo son aplicables cuando se reenvía a Experience Platform. No se aplican a eventos de análisis de Adobe Commerce y Sensei. El recopilador de eventos de Adobe Commerce README proporciona información adicional.
productListItems
con atributos personalizados en las cargas útiles de evento de Experience Platform, combine los productos con SKU. Este requisito no se aplica a product-page-view
eventos.Uso
const mse = window.magentoStorefrontEvents;
mse.publish.productPageView(customCtx);
Ejemplo 1
En este ejemplo se agrega un contexto personalizado al publicar el evento.
magentoStorefrontEvents.publish.productPageView({
productListItems: [
{
productCategories: [
{
categoryID: "cat_15",
categoryName: "summer pants",
categoryPath: "pants/mens/summer",
},
],
},
],
});
Ejemplo 2
En este ejemplo se agrega un contexto personalizado antes de publicar el evento.
const mse = window.magentoStorefrontEvents;
mse.context.setCustom({
productListItems: [
{
productCategories: [
{
categoryID: "cat_15",
categoryName: "summer pants",
categoryPath: "pants/mens/summer",
},
],
},
],
});
mse.publish.productPageView();
Ejemplo 3
Este ejemplo establece el contexto personalizado en el publicador y sobrescribe el contexto personalizado establecido anteriormente en la capa de datos del cliente de Adobe.
En este ejemplo, el evento pageView
tendrá Nombre de página personalizado 2 en el 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'
},
},
});
Ejemplo 4
Este ejemplo agrega contexto personalizado a productListItems
eventos con varios productos.
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();
Tiendas basadas en Luma:
Los almacenes basados en Luma implementan eventos de publicación de forma nativa, por lo que puede establecer datos personalizados ampliando customContext
.
Por ejemplo:
mse.context.setCustom({
web: {
webPageDetails: {
name: 'Custom Page Name'
},
},
});