[Somente PaaS]{class="badge informative" title="Aplica-se somente a projetos do Adobe Commerce na nuvem (infraestrutura do PaaS gerenciada pela Adobe) e a projetos locais."}

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 com ECID como identidade primária
  • Inclui email em identityMap como uma identidade secundária se personalEmail.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
        }
    }
  }
}
NOTE
O uso de eventos personalizados pode afetar os relatórios padrão do Adobe Analytics.

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.

NOTE
Ao aumentar o 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'
    },
  },
});
NOTE
Substituir eventos por atributos personalizados pode afetar os relatórios padrão do Adobe Analytics.
recommendation-more-help
1dd1eb92-da61-46c0-8ff9-3831f21eb23e