[Nur PaaS]{class="badge informative" title="Gilt nur für Adobe Commerce in Cloud-Projekten (von Adobe verwaltete PaaS-Infrastruktur) und lokale Projekte."}

Benutzerdefinierte Ereignisse erstellen

Sie können die Eventing-Plattform erweitern, indem Sie Ihre eigenen Storefront-Ereignisse erstellen, um branchenspezifische Daten zu erfassen. Wenn Sie ein benutzerdefiniertes Ereignis erstellen und konfigurieren, wird es an den Adobe Commerce Events Collector gesendet.

Verarbeiten benutzerdefinierter Ereignisse

Benutzerdefinierte Ereignisse werden nur für die Adobe Experience Platform unterstützt. Benutzerdefinierte Daten werden nicht an Adobe Commerce-Dashboards und Metrik-Tracker weitergeleitet.

Für jedes custom-Ereignis gibt der Collector Folgendes aus:

  • Fügt identityMap mit ECID als primäre Identität hinzu
  • Enthält email in identityMap als sekundäre Identität wenn personalEmail.address im Ereignis festgelegt ist
  • Schließt das vollständige Ereignis in ein xdm ein, bevor es an Edge weitergeleitet wird

Beispiel:

Benutzerspezifisches Ereignis, das über Adobe Commerce Events SDK veröffentlicht wurde:

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
        }
    }
  }
}
NOTE
Die Verwendung benutzerdefinierter Ereignisse kann sich auf die standardmäßigen Adobe Analytics-Berichte auswirken.

Überschreibungen von Ereignissen behandeln (benutzerdefinierte Attribute)

Für jedes Ereignis, das mit einem customContext festgelegt wird, überschreibt oder erweitert der Collector Felder in der Ereignis-Payload von den Feldern im custom context. Der Anwendungsfall für Überschreibungen besteht darin, dass ein Entwickler Kontexte, die von anderen Teilen der Seite in bereits unterstützten Ereignissen festgelegt wurden, wiederverwenden und erweitern möchte.

Ereignisüberschreibungen sind nur bei der Weiterleitung an Experience Platform anwendbar. Sie werden nicht auf Analytics-Ereignisse in Adobe Commerce und Sensei angewendet. Der Adobe Commerce Events Collector README bietet zusätzliche Informationen.

NOTE
Wenn Sie die productListItems mit benutzerdefinierten Attributen in Experience Platform-Ereignis-Payloads erweitern, stimmen Sie Produkte mithilfe der SKU ab. Diese Anforderung gilt nicht für product-page-view.

Nutzung

const mse = window.magentoStorefrontEvents;

mse.publish.productPageView(customCtx);

Beispiel 1

Dieses Beispiel fügt beim Veröffentlichen des Ereignisses benutzerdefinierten Kontext hinzu.

magentoStorefrontEvents.publish.productPageView({
    productListItems: [
        {
            productCategories: [
                {
                    categoryID: "cat_15",
                    categoryName: "summer pants",
                    categoryPath: "pants/mens/summer",
                },
            ],
        },
    ],
});

Beispiel 2

In diesem Beispiel wird vor der Veröffentlichung des Ereignisses benutzerdefinierter Kontext hinzugefügt.

const mse = window.magentoStorefrontEvents;

mse.context.setCustom({
  productListItems: [
    {
      productCategories: [
        {
          categoryID: "cat_15",
          categoryName: "summer pants",
          categoryPath: "pants/mens/summer",
        },
      ],
    },
  ],
});

mse.publish.productPageView();

Beispiel 3

Dieses Beispiel legt den benutzerdefinierten Kontext im Herausgeber fest und überschreibt den benutzerdefinierten Kontext, der zuvor in der Adobe-Client-Datenschicht festgelegt wurde.

In diesem Beispiel weist das pageView-Ereignis Feld „Benutzerdefinierter" im web.webPageDetails.name auf.

const mse = window.magentoStorefrontEvents;

mse.context.setCustom({
  web: {
    webPageDetails: {
      name: 'Custom Page Name 1'
    },
  },
});

mse.publish.pageView({
  web: {
    webPageDetails: {
      name: 'Custom Page Name 2'
    },
  },
});

Beispiel 4

Dieses Beispiel fügt benutzerdefinierten Kontext zu productListItems Ereignissen mit mehreren Produkten hinzu.

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();

Luma-basierte Stores:

Luma-basierte Stores implementieren nativ Publishing-Ereignisse, sodass Sie benutzerdefinierte Daten durch Erweitern von customContext festlegen können.

Beispiel:

mse.context.setCustom({
  web: {
    webPageDetails: {
      name: 'Custom Page Name'
    },
  },
});
NOTE
Das Überschreiben von Ereignissen mit benutzerdefinierten Attributen kann sich auf standardmäßige Adobe Analytics-Berichte auswirken.
recommendation-more-help
1dd1eb92-da61-46c0-8ff9-3831f21eb23e