A variável products
rastreia produtos e propriedades associadas a eles. Normalmente, essa variável é definida em páginas de produto individuais, em páginas de carrinho de compras e em páginas de confirmação de compra. É uma variável de muitos valores, o que significa que você pode enviar vários produtos na mesma ocorrência e a Adobe analisa o valor e o divide em itens de dimensão separados.
Se essa variável for definida em uma ocorrência sem a events
variável, a métrica Visualizações de produto será incrementada em 1. Defina os eventos apropriados em cada ocorrência com a variável products
.
Os produtos são mapeado para Adobe Analytics em vários campos XDM:
productListItems[].lineItemId
.productListItems[].SKU
ou productListItems[].name
. Se ambos os campos XDM estiverem presentes, productListItems[].SKU
é usada.productListItems[].quantity
.productListItems[].priceTotal
.productListItems._experience.analytics.customDimensions.eVars.eVar1
para productListItems._experience.analytics.customDimensions.eVars.eVar250
, dependendo de qual eVar você deseja vincular a um produto.productListItems[]._experience.analytics.event1to100.event1.value
para productListItems._experience.analytics.event901to1000.event1000.value
, dependendo de qual evento você deseja vincular a um produto. Se você definir um evento em um desses campos, ele será incluído automaticamente na variável evento string enviada ao Adobe Analytics.lineItemId
deve ser adicionado como um campo personalizado, pois ainda não faz parte do esquema padrão de Evento do Analytics. O Adobe planeja adicionar um campo "Categoria" dedicado no futuro.
Não há um campo dedicado na Coleta de dados do Adobe Experience Platform para definir essa variável; no entanto, existem várias extensões de terceiros para ajudar.
Você pode usar uma dessas extensões ou usar o editor de código personalizado abaixo, que está após a sintaxe do AppMeasurement.
A variável s.products
é uma string que contém vários campos delimitados por produto. Delimite cada campo com um ponto e vírgula (;
) na sequência de caracteres.
currencyCode
. Não inclua o símbolo da moeda nesse campo. Esse campo se aplica somente às ocorrências com o evento de compra.|
). Consulte Eventos para obter mais informações.|
). Consulte eVar de merchandising para obter mais informações.// Set a single product using all available fields
s.products = "Example category;Example product;1;3.50;event1=4.99|event2=5.99;eVar1=Example merchandising value 1|eVar2=Example merchandising value 2";
Essa variável suporta vários produtos na mesma ocorrência. Ela é valiosa para carrinhos de compras e compras que contêm vários produtos. O comprimento máximo para toda a cadeia de caracteres products
é de 64K. Separe cada produto usando uma vírgula (,
) na string.
// Set multiple products - useful for when a visitor views their shopping cart
s.products = "Example category 1;Example product 1;1;3.50,Example category 2;Example product 2;1;5.99";
Retire todos os pontos e vírgulas, vírgulas e barra vertical dos nomes de produtos, categorias e valores de eVar de merchandising. Se o nome de um produto incluir uma vírgula, o AppMeasurement a analisa como o início de um novo produto. Essa análise incorreta descarta o restante da string do produto, causando dados incorretos em dimensões e relatórios.
A variável products
é flexível ao omitir campos e incluir vários produtos. Essa flexibilidade pode facilitar a perda de um delimitador, o que faz com que sua implementação envie dados incorretos para a Adobe.
// Include only product and category. Common on individual product pages
s.products = "Example category;Example product";
// Include only product name
s.products = ";Example product";
// One product has a category, the other does not. Note the comma and adjacent semicolon to omit category
s.products = "Example category;Example product 1,;Example product 2";
// A visitor purchases a single product; record quantity and price
s.events = "purchase";
s.products = ";Example product;1;6.99";
// A visitor purchases multiple products with different quantities
s.events = "purchase";
s.products = ";Example product 1;9;26.91,Example category;Example product 2;4;9.96";
// Attribute currency event1 only to product 2 and not product 1
s.events = "event1";
s.products = ";Example product 1;1;1.99,Example category 2;Example product 2;1;2.69;event1=1.29";
// Use multiple numeric events in the product string
s.events = "event1,event2";
s.products = ";Example product;1;4.20;event1=2.3|event2=5";
// Use merchandising eVars without any events. Note the adjacent semicolons to skip events
s.products = ";Example product;1;6.69;;eVar1=Merchandising value";
// Use merchandising eVars without category, quantity, price, or events
s.products = ";Example product;;;;eVar1=Merchandising value";
// Multiple products using multiple different events and multiple different merchandising eVars
s.events = "event1,event2,event3,event4,purchase";
s.products = "Example category 1;Example product 1;3;12.60;event1=1.4|event2=9;eVar1=Merchandising value|eVar2=Another merchandising value,Example category 2;Example product 2;1;59.99;event3=6.99|event4=1;eVar3=Merchandising value 3|eVar4=Example value four";
Se estiver usando a digitalData
camada de dados, você poderá iterar através da matriz de objetos digitalData.product
:
for(var i = 0; i < digitalData.product.length; i++) {
// Add individual product info to the product string
s.products += digitalData.product[i].category.primaryCategory + ";" + digitalData.product[i].productInfo.productName;
// If there are more products, add a comma
if(i != digitalData.product.length - 1) {
s.products += ",";
}
}