Creare eventi personalizzati
Puoi estendere la piattaforma di gestione eventi creando i tuoi eventi storefront per raccogliere dati specifici per il tuo settore. Quando crei e configuri un evento personalizzato, questo viene inviato all'Agente di raccolta eventi di Adobe Commerce.
Gestire eventi personalizzati
Gli eventi personalizzati sono supportati solo per Adobe Experience Platform. I dati personalizzati non vengono inoltrati alle dashboard di Adobe Commerce e ai tracker di metriche.
Per qualsiasi evento custom
, l'agente di raccolta:
- Aggiunge
identityMap
conECID
come identità primaria - Include
email
inidentityMap
come identità secondaria sepersonalEmail.address
è impostato nell'evento - Racchiude l'evento completo all'interno di un oggetto
xdm
prima di inoltrarlo ad Edge
Esempio:
Evento personalizzato pubblicato tramite Adobe Commerce Events SDK:
mse.publish.custom({
commerce: {
saveForLaters: {
value: 1,
},
},
});
In Experience Platform Edge:
{
xdm: {
identityMap: {
ECID: [
{
id: 'ecid1234',
primary: true
}
],
email: [
{
id: "runs@safari.ke",
primary: false
}
]
},
commerce: {
saveForLaters: {
value: 1
}
}
}
}
Gestire le sostituzioni di eventi (attributi personalizzati)
Per qualsiasi set di eventi con customContext
, l'agente di raccolta sostituisce o estende i campi nel payload dell'evento dai campi in custom context
. Il caso d’uso per le sostituzioni si verifica quando uno sviluppatore desidera riutilizzare ed estendere i contesti impostati da altre parti della pagina in eventi già supportati.
Le sostituzioni degli eventi sono applicabili solo quando si inoltra ad Experience Platform. Non vengono applicati agli eventi di analisi di Adobe Commerce e Sensei. L'agente di raccolta eventi di Adobe Commerce README fornisce informazioni aggiuntive.
productListItems
con attributi personalizzati nei payload dell'evento Experience Platform, abbina i prodotti utilizzando lo SKU. Questo requisito non si applica a product-page-view
eventi.Utilizzo
const mse = window.magentoStorefrontEvents;
mse.publish.productPageView(customCtx);
Esempio 1
Questo esempio aggiunge contesto personalizzato durante la pubblicazione dell’evento.
magentoStorefrontEvents.publish.productPageView({
productListItems: [
{
productCategories: [
{
categoryID: "cat_15",
categoryName: "summer pants",
categoryPath: "pants/mens/summer",
},
],
},
],
});
Esempio 2
Questo esempio aggiunge un contesto personalizzato prima di pubblicare l’evento.
const mse = window.magentoStorefrontEvents;
mse.context.setCustom({
productListItems: [
{
productCategories: [
{
categoryID: "cat_15",
categoryName: "summer pants",
categoryPath: "pants/mens/summer",
},
],
},
],
});
mse.publish.productPageView();
Esempio 3
Questo esempio imposta il contesto personalizzato nell’editore e sovrascrive il contesto personalizzato precedentemente impostato in Adobe Client Data Layer.
In questo esempio, l'evento pageView
avrà Nome pagina personalizzato 2 nel 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'
},
},
});
Esempio 4
In questo esempio viene aggiunto contesto personalizzato a productListItems
eventi con più prodotti.
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();
Archivi basati su Luma:
Gli archivi basati su Luma implementano in modo nativo gli eventi di pubblicazione, in modo da poter impostare dati personalizzati estendendo customContext
.
Ad esempio:
mse.context.setCustom({
web: {
webPageDetails: {
name: 'Custom Page Name'
},
},
});