Com o plug-in de e-commerce avançado da analytics.js, você pode medir as interações dos usuários com produtos em sites de e-commerce durante a experiência de compra, incluindo: impressões, cliques, visualização de detalhes, adição de um item ao carrinho, início do processo de pagamento, transações e reembolsos.
Migração e compatibilidade com o plug-in de e-commerce (ecommerce.js)
Se você já implementou a medição do e-commerce e quer usar o e-commerce avançado, há duas opções principais:
Usar uma nova propriedade
Você pode adicionar outro rastreador a uma nova propriedade e codificar/ativar o e-commerce avançado para ela. Consulte Como usar vários objetos de acompanhamento para detalhes sobre como enviar dados a várias propriedades de uma única página.
Migrar uma propriedade existente
No caso da migração do plug-in de e-commerce para e-commerce avançado, os usuários da analytics.js precisam remover e substituir as referências pelo código do e-commerce avançado.
Se você usa a ga.js e quer mudar para o plug-in de e-commerce avançado, primeiro migre para a analytics.js.
Os dados de transações e itens coletados anteriormente com o plug-in ecommerce.js não serão afetados pela migração e permanecerão disponíveis nas propriedades e perfis a que foram enviados no início.
Tipos de dados e ações do e-commerce avançado
Há vários tipos de dados de e-commerce que você pode enviar:
Dados de impressões
Eles representam as informações de um produto que foi visto. Além disso, são representados por um impressionFieldObject
e contêm os seguintes valores:
Chave | Tipo de valor | Obrigatório | Descrição |
---|---|---|---|
id |
texto | *Sim |
O ID ou SKU do produto (por exemplo, P67890). * É necessário definir um |
name |
texto | *Sim |
O nome do produto (por exemplo, camiseta do Android). * É necessário definir um |
list |
texto | Não | A lista ou o conjunto a que o produto pertence (por exemplo, Resultados da pesquisa) |
list_name |
texto | Não | A lista ou o conjunto a que o produto pertence (por exemplo, Resultados da pesquisa) |
brand |
texto | Não | A marca associada ao produto (por exemplo, Google). |
category |
texto | Não |
A categoria a que o produto pertence (por exemplo, Vestuário). Use / como um delimitador para especificar até 5 níveis de hierarquia (por exemplo, Vestuário/Masculino/Camisetas).
|
variant |
texto | Não | A variante do produto (por exemplo, preto). |
position |
número inteiro | Não | A posição do produto em uma lista ou conjunto (por exemplo, 2). |
list_position |
número inteiro | Não | A posição do produto em uma lista ou conjunto (por exemplo, 2). |
price |
número | Não | O preço de um produto (por exemplo, 29,20). |
Dados do produto
Esses dados equivalem a produtos específicos que foram vistos ou adicionados ao carrinho de compras, entre outros. Eles são representados por um productFieldObject
e contêm os seguintes valores:
Chave | Tipo de valor | Obrigatório | Descrição |
---|---|---|---|
id |
texto | *Sim |
O ID ou SKU do produto (por exemplo, P67890).
* É necessário definir um dos IDs ou |
name |
texto | *Sim |
O nome do produto (por exemplo, camiseta do Android).
* É necessário definir um dos IDs ou |
brand |
texto | Não | A marca associada ao produto (por exemplo, Google). |
category |
texto | Não | A categoria a que o produto pertence (por exemplo, Vestuário). Use / como um delimitador para especificar até 5 níveis de hierarquia (por exemplo, Vestuário/Masculino/Camisetas). |
variant |
texto | Não | A variante do produto (por exemplo, preto). |
price |
número | Não | O preço de um produto (por exemplo, 29,20). |
quantity |
número inteiro | Não | A quantidade de um produto (por exemplo, 2). |
coupon |
texto | Não | O código do cupom associado a um produto (por exemplo, PROMO_VERAO13). |
position |
número inteiro | Não | A posição do produto em uma lista ou conjunto (por exemplo, 2). |
list_position |
número inteiro | Não | A posição do produto em uma lista ou conjunto (por exemplo, 2). |
Dados de promoções
Eles representam as informações de uma promoção que foi vista. Além disso, são representados por um promoFieldObject
e contêm os seguintes valores:
Chave | Tipo de valor | Obrigatório | Descrição |
---|---|---|---|
id |
texto | *Sim |
O ID da promoção (por exemplo, PROMO_1234). * É necessário definir um |
name |
texto | *Sim |
O nome da promoção (por exemplo, Promoção de verão). * É necessário definir um |
creative |
texto | Não | O criativo associado à promoção (por exemplo, verao_banner2). |
creative_name |
texto | Não | O nome do criativo (por exemplo, verao_banner2). |
position |
texto | Não | A posição do criativo (por exemplo, posicao_banner_1). |
creative_slot |
texto | Não | O nome do slot do criativo (por exemplo, slot_banner_1). |
Dados da ação
Esses dados representam as informações sobre uma ação que ocorreu relacionada ao e-commerce.
Eles são representados por um actionFieldObject
e contêm os seguintes valores:
Chave | Tipo de valor | Obrigatório | Descrição |
---|---|---|---|
id |
texto | *Sim |
O ID da transação (por exemplo, T1234).
* Obrigatório se o tipo de ação for |
affiliation |
texto | Não | A loja ou afiliação na qual a transação ocorreu (por exemplo, Google Store). |
revenue |
número | Não |
Especifica a receita total ou a soma geral associada à transação (por exemplo, 11,99). Esse valor pode inclui frete, tributos ou outros ajustes na receita total que você quer considerar como parte dos cálculos da receita. |
valor | número | Não | Valor (ou seja, receita) associado ao evento. |
tax |
número | Não | O total de impostos associados à transação. |
shipping |
número | Não | O custo de envio associado à transação. |
coupon |
texto | Não | O cupom de transação resgatado na transação. |
list |
texto | Não | A lista a que os produtos associados pertencem. Opcional. |
items |
matriz | Não | Matriz que contém os produtos associados. |
step |
número inteiro | Não | Um número que representa uma etapa no processo de finalização da compra. Opcional em ações de "finalização da compra". |
checkout_step |
número inteiro | Não | Um número que representa uma etapa no processo de finalização da compra. |
option |
texto | Não |
Mais um campo para ações checkout e checkout_option que podem descrever os detalhes da opção na página de finalização da compra, como a forma de pagamento selecionada.
|
checkout_option |
text | Não | Opção de finalização da compra (ou seja, forma de pagamento selecionada). |
Ações de produtos e promoções
As ações especificam como interpretar os dados de produtos e promoções que você envia ao Google Analytics.
Ação | Evento | Descrição |
---|---|---|
click |
Um clique em um produto ou link do produto para um ou mais itens. | |
detail |
Uma visualização dos detalhes do produto. | |
add |
A adição de um ou mais produtos a um carrinho de compras. | |
remove |
A remoção de um ou mais produtos de um carrinho de compras. | |
checkout |
O início do processo de pagamento de um ou mais produtos. | |
checkout_option |
O envio de um valor de opção para determinada etapa do pagamento. | |
purchase |
A venda de um ou mais produtos. | |
refund |
O reembolso de um ou mais produtos. | |
promo_click |
O clique em uma promoção interna. | |
add_to_cart |
Um usuário adiciona um ou mais produtos a um carrinho de compras. | |
begin_checkout |
Um usuário inicia o processo de finalização da compra de um ou mais produtos. | |
checkout_progress |
Um usuário conclui as etapas restantes de finalização da compra depois da primeira. | |
purchase |
Um usuário conclui uma compra. | |
refund |
Um usuário recebe um reembolso de um ou mais produtos. | |
remove_from_cart |
Um usuário remove um ou mais produtos de um carrinho de compras. | |
select_content |
Um usuário clica em um produto ou no link de um produto. | |
set_checkout_option |
A etapa de finalização da compra que o usuário está concluindo. | |
view_item |
Um usuário visualiza os detalhes de um produto. | |
view_item_list |
Um usuário vê uma lista de um ou mais produtos. | |
view_promotion |
Um usuário clica em uma promoção interna. | |
view_refund |
Um usuário vê um reembolso de um ou mais produtos. |
Implementação
As seções a seguir descrevem como implementar o plug-in do comércio eletrônico avançado para medir as atividades dele em um site com a biblioteca analytics.js.
Carregamento do plug-in de e-commerce
Para reduzir o tamanho da analytics.js, o e-commerce avançado não é fornecido na biblioteca padrão, em vez disso, ele é disponibilizado como um módulo de plug-in que precisa ser carregado antes da utilização.
Para carregar o plug-in do e-commerce avançado, use este comando:
ga('require', 'ec');
Esse comando precisa ocorrer depois que você criar seu objeto de acompanhamento e antes de usar uma das funcionalidades específicas do e-commerce avançado.
Envio de dados do e-commerce avançado
Depois de carregados, alguns comandos novos específicos do e-commerce avançado serão adicionados ao rastreador padrão, e você poderá começar a enviar dados de e-commerce.
- Medição de atividades de e-commerce
- Medição de transações
- Medição de reembolsos
- Medição do processo de finalização da compra
- Medição das promoções internas
Medição de atividades de e-commerce
Uma implementação típica de e-commerce avançado mede as impressões de produtos e qualquer uma destas ações:
- Cliques no link de um produto
- Visualização de detalhes de produtos
- Impressões e cliques de promoções internas
- Adição/remoção de um produto de um carrinho de compras
- Início do processo de finalização da compra de um produto
- Compras e reembolsos
Medição de impressões
As impressões de produtos são medidas usando o comando ec:addImpression
. Os detalhes sobre eles são adicionados a impressionFieldObject
.
Por exemplo, o código a seguir mede a impressão de um produto em uma lista de resultados de pesquisa:
ga('ec:addImpression', { // Provide product details in an impressionFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Search Results', // Product list (string).
'position': 1, // Product position (number).
'dimension1': 'Member' // Custom dimension (string).
});
Um impressionFieldObject
precisa ter um valor name
ou id
. Todos os outros valores são opcionais e não precisam ser definidos.
Medição de ações
As ações são medidas usando o comando ec:addProduct
com um productFieldObject
para adicionar detalhes do produto, e o comando ec:setAction
para especificar a ação que está sendo realizada.
Por exemplo, o código a seguir mede um clique no link de um produto exibido em uma lista de resultados de pesquisa:
ga('ec:addProduct', { // Provide product details in a productFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'position': 1, // Product position (number).
'dimension1': 'Member' // Custom dimension (string).
});
ga('ec:setAction', 'click', { // click action.
'list': 'Search Results' // Product list (string).
});
O productFieldObject
precisa ter um valor de name
ou id
. Todos os outros valores são opcionais e não precisam ser definidos.
Combinação de impressões e ações
Nos casos em que há impressões de produtos e uma ação, é possível combinar e medir tudo em um único hit.
O exemplo abaixo mostra como medir a visualização de detalhes de um produto com uma seção de produtos relacionados:
// The impression from a Related Products section.
ga('ec:addImpression', { // Provide product details in an impressionFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Related Products', // Product list (string).
'position': 1 // Product position (number).
});
// The product being viewed.
ga('ec:addProduct', { // Provide product details in an productFieldObject.
'id': 'P67890', // Product ID (string).
'name': 'YouTube Organic T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'YouTube', // Product brand (string).
'variant': 'gray', // Product variant (string).
'position': 2 // Product position (number).
});
ga('ec:setAction', 'detail'); // Detail action.
Medição de transações
Meça uma transação usando o comando ec:setAction
e definindo o tipo de ação como purchase
. Os detalhes do nível da transação, como receita total, tributos e frete, são fornecidos em um actionFieldObject
:
ga('ec:addProduct', { // Provide product details in an productFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'black', // Product variant (string).
'price': '29.20', // Product price (number).
'coupon': 'APPARELSALE', // Product coupon (string).
'quantity': 1 // Product quantity (number).
});
ga('ec:setAction', 'purchase', { // Transaction details are provided in an actionFieldObject.
'id': 'T12345', // (Required) Transaction id (string).
'affiliation': 'Google Store - Online', // Affiliation (string).
'revenue': '37.39', // Revenue (number).
'tax': '2.85', // Tax (number).
'shipping': '5.34', // Shipping (number).
'coupon': 'SUMMER2013' // Transaction coupon (string).
});
O actionFieldObject
precisará ter um valor de id
se o tipo de ação for purchase
ou refund
. Todos os outros valores são opcionais e não precisam ser definidos.
Medição de reembolsos
Para reembolsar uma transação inteira, defina uma ação refund
e informe o ID da transação:
// Refund an entire transaction.
ga('ec:setAction', 'refund', {
// Transaction ID is only required field for full refund.
'id': 'T12345'
});
Se não houver nenhuma transação correspondente, o hit refund
não será processado.
Para medir um reembolso parcial, defina uma ação refund
e especifique o ID da transação, os IDs e as quantidades dos produtos que serão reembolsados:
// Refund a single product.
ga('ec:addProduct', {
'id': 'P12345', // Product ID is required for partial refund.
'quantity': 1 // Quantity is required for partial refund.
});
ga('ec:setAction', 'refund', {
'id': 'T12345', // Transaction ID is required for partial refund.
});
Uso de eventos sem interação para reembolsos
Se você precisar enviar dados de reembolso usando um evento e ele não fizer parte do comportamento normalmente medido no site (por exemplo, não iniciado pelo usuário), envie um evento sem interação. Isso evita que métricas como a taxa de rejeição, o tempo no site, entre outras, sejam afetadas pelo evento. Por exemplo:
ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});
Medição do processo de finalização da compra
Para medir cada etapa do processo de pagamento, siga estas etapas:
- Adicione o código para medir cada etapa do processo.
- Se aplicável, adicione o código para medir as opções de finalização da compra.
- Como alternativa, defina nomes fáceis para as etapas no Relatório de funis de finalização de compra. Basta alterar as Configurações de e-commerce na seção "Administrador" da interface da Web.
1. Medição das etapas de finalização da compra
Em cada etapa do processo, você precisará implementar o código correspondente para enviar os dados ao Google Analytics.
Campo
step
Inclua um valor
step
para cada etapa de finalização da compra medida. Esse valor é usado para mapear as ações desse tipo com relação aos rótulos que você configurou em cada etapa nas Configurações de e-commerce.Campo
option
Se você tiver mais informações sobre o pagamento no momento da medição, defina o campo
option
com uma açãocheckout
para coletar esses dados. Por exemplo, o tipo de pagamento padrão do usuário (por exemplo,Visa
).Medição de uma etapa da finalização da compra
Ao medir uma etapa da finalização da compra, use
ec:addProduct
para cada produto eec:setAction
para indicar a ação correspondente. Se necessário, será possível utilizar umactionFieldObject
adicional emec:setAction
para descrever a etapa comstep
eoption
.O exemplo a seguir mostra como medir a primeira etapa da finalização de compra com um único produto e mais informações sobre o tipo de pagamento:
ga('ec:addProduct', { // Provide product details in an productFieldObject. 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'black', // Product variant (string). 'price': '29.20', // Product price (number). 'quantity': 1 // Product quantity (number). }); // Add the step number and additional info about the checkout to the action. ga('ec:setAction','checkout', { 'step': 1, 'option': 'Visa' });
2. Medição das opções de finalização da compra
Com as opções de finalização de compra, você pode medir informações adicionais sobre o estado dessa etapa. Isso é útil nos casos em que você mediu uma etapa de pagamento durante a visualização de página inicial, mas as informações extras sobre a mesma etapa ficaram disponíveis depois de o usuário definir uma opção. Por exemplo, o usuário seleciona um método de envio.
Para medir uma opção de finalização da compra, use ec:setAction
para indicar um checkout_option
e inclua o número da etapa e a descrição da opção.
Provavelmente, convém medir essa ação depois que o usuário clicar para passar à próxima etapa no processo de finalização da compra. Exemplo:
// (On "Next" button click)
ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'});
ga('send', 'event', 'Checkout', 'Option', {
hitCallback: function() {
// advance to next page
},
});
3. Configuração do funil de finalização de compra
Cada etapa do seu processo pode receber um nome descritivo que será usado nos relatórios. Para configurar esses nomes, visite a seção Administrador da interface da Web do Google Analytics, selecione a vista (perfil) e clique em Configurações de e-commerce. Siga as instruções de configuração do e-commerce para rotular cada etapa de finalização da compra a ser medida.
Medição das promoções internas
O plug-in de e-commerce avançado inclui suporte para medir impressões e cliques em promoções internas, como banners mostrados para promover uma liquidação em outra seção do site.
Impressões da promoção
As impressões de promoções internas geralmente são medidas quando a página é carregada e enviadas com a visualização de página inicial usando o comando ec:addPromo
. Exemplo:
ga('ec:addPromo', { // Promo details provided in a promoFieldObject.
'id': 'PROMO_1234', // Promotion ID. Required (string).
'name': 'Summer Sale', // Promotion name (string).
'creative': 'summer_banner2', // Creative (string).
'position': 'banner_slot1' // Position (string).
});
Cliques da promoção
Os cliques nas promoções internas podem ser medidos configurando a ação promo_click
. Exemplo:
// Identify the promotion that was clicked.
ga('ec:addPromo', {
'id': 'PROMO_1234',
'name': 'Summer Sale',
'creative': 'summer_banner2',
'position': 'banner_slot1'
});
// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
Por exemplo, para medir uma página de detalhes do produto com uma impressão e um clique na promoção, primeiro envie os dados do produto e da impressão com a visualização de página inicial. Em seguida, envie os dados do clique na promoção em outro evento:
// 1. Send product and impression data with pageview.
ga('ec:addProduct', {
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'position': 1, // Product position (number).
});
// The impression from the Related Products section.
ga('ec:addImpression', {
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Related Products', // Product list (string).
'position': 1, // Product position (number).
});
ga('ec:setAction', 'detail'); // Detail action.
ga('send', 'pageview'); // Send the product data with initial pageview.
// 2. Send the promo click data when the promo click occurs.
// Call this function when promo click occurs.
function onPromoClick() {
ga('ec:addPromo', {
'id': 'PROMO_1234',
'name': 'Summer Sale',
'creative': 'summer_banner2',
'position': 'banner_slot1'
});
// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
}
O promoFieldObject
precisa ter um valor name
ou id
. Todos os outros valores são opcionais e não precisam ser definidos.
Exemplo completo
Os snippets de código abaixo mostram como o ciclo de vida do e-commerce de um único produto pode ser medido desde a primeira impressão até a transação usando o plug-in de e-commerce avançado.
Medição da impressão de um produto
Neste exemplo, primeiro um usuário visualiza o produto em uma lista de resultados da pesquisa. Para medir essa impressão de produto, use o comando ec:addImpression
e forneça os detalhes do produto em impressionFieldObject
:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addImpression', {
'id': 'P12345', // Product details are provided in an impressionFieldObject.
'name': 'Android Warhol T-Shirt',
'category': 'Apparel/T-Shirts',
'brand': 'Google',
'variant': 'black',
'list': 'Search Results',
'position': 1 // 'position' indicates the product position in the list.
});
ga('ec:addImpression', {
'id': 'P67890',
'name': 'YouTube Organic T-Shirt',
'category': 'Apparel/T-Shirts',
'brand': 'YouTube',
'variant': 'gray',
'list': 'Search Results',
'position': 2
});
ga('send', 'pageview'); // Send product impressions with initial pageview.
Medição do clique em um produto
Em seguida, o usuário demonstra interesse no item ao clicar nas informações do produto para conferir mais detalhes.
Para medir o clique dele, use ec:addProduct
e ec:setAction
:
// Called when a link to a product is clicked.
function onProductClick() {
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'position': 1
});
ga('ec:setAction', 'click', {list: 'Search Results'});
// Send click with an event, then send user to product page.
ga('send', 'event', 'UX', 'click', 'Results', {
hitCallback: function() {
document.location = '/product_details?id=P12345';
}
});
}
O link do produto poderia ser implementado assim:
<a href="/next-page.html"
onclick="onProductClick(); return !ga.loaded;">
Android Warhol T-Shirt
</a>
Medição da visualização de detalhes de um produto
Depois de clicar sobre a lista de produtos, o usuário visualiza a página de detalhes do produto.
Para medir a visualização de detalhes do produto, especifique uma ação detail
usando ec:addProduct
e ec:setAction
:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'pageview'); // Send product details view with the initial pageview.
Medição da adição ou remoção de um produto do carrinho
O usuário demonstra a intenção de comprar o item ao adicioná-lo a um carrinho de compras.
Para medir a adição ou remoção de um produto de um carrinho de compras, use ec:addProduct
e defina o tipo add
ou remove
:
// Called when a product is added to a shopping cart.
function addToCart(product) {
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
ga('ec:setAction', 'add');
ga('send', 'event', 'UX', 'click', 'add to cart'); // Send data using an event.
}
Medição do processo de finalização da compra
Agora o usuário está pronto para começar o processo de pagamento, que no exemplo inclui duas etapas, cada uma em uma página:
- Adicionar detalhes de pagamento (payment.html).
- Adicionar detalhes de envio (shipping.html)
Verifique se você configurou um funil de finalização de compra em "Administrador" na interface da Web, em Configurações de e-commerce. Exemplo:
Etapa 1: pagamento
Meça a primeira etapa da finalização da compra usando ec:addProduct
para cada produto no carrinho de compras e indique um checkout
com ec:setAction
.
O ec:setAction
utiliza um actionFieldObject
para descrever a etapa do pagamento com um número e mais informações sobre o tipo de pagamento padrão do usuário que foi incluído no campo option
:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
/**
* Called when the user begins the checkout process.
* @param {Array} cart An array representing the user's shopping cart.
*/
function checkout(cart) {
for(var i = 0; i < cart.length; i++) {
var product = cart[i];
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
}
}
// In the case of checkout actions, an additional actionFieldObject can
// specify a checkout step and option.
ga('ec:setAction','checkout', {
'step': 1, // A value of 1 indicates this action is first checkout step.
'option': 'Visa' // Used to specify additional info about a checkout stage, e.g. payment method.
});
ga('send', 'pageview'); // Pageview for payment.html
Etapa 2: envio
Meça a segunda etapa usando ec:addProduct
para cada produto no carrinho de compras e indique o pagamento com ec:setAction
. Nesse caso, não temos outras informações sobre a opção de frete selecionada quando a visualização de página inicial é enviada. Sendo assim, ela é tratada separadamente usando ec:setAction
para indicar uma ação checkout_option
.
// Measure checkout step 2:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
/**
* Called when the user begins the checkout process.
* @param {Array} cart An array representing the user's shopping cart.
*/
function checkout(cart) {
for(var i = 0; i < cart.length; i++) {
var product = cart[i];
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
}
}
ga('ec:setAction','checkout', {'step': 2});
ga('send', 'pageview'); // Pageview for shipping.html
// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
ga('ec:setAction', 'checkout_option', {
'step': stepNumber,
'option': shippingOption
});
ga('send', 'event', 'Checkout', 'Option', {
hitCallback: function() {
// Advance to next page.
}
});
}
O formulário poderia ser implementado assim:
<a href="/next-page.html"
onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">
Continue
</a>
Medição de uma transação
Por fim, o usuário conclui o processo de pagamento e envia a compra.
Para medir a venda de um ou mais produtos, use ec:addProduct
para adicionar cada item e, depois, especifique uma purchase
com ec:setAction
. As informações do nível da transação, como receita total, tributos, entre outras, podem ser definidas usando um actionFieldObject
. Exemplo:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'price': '29.20',
'quantity': 1
});
// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
'id': 'T12345',
'affiliation': 'Google Store - Online',
'revenue': '37.39',
'tax': '2.85',
'shipping': '5.34',
'coupon': 'SUMMER2013' // User added a coupon at checkout.
});
ga('send', 'pageview'); // Send transaction data with initial pageview.
Especificação de moedas locais
Por padrão, você pode configurar uma moeda global comum para todas as transações e itens pela interface da Web de gerenciamento do Google Analytics. A moeda global é automaticamente usada para todos os itens e transações. Em sites que utilizam várias moedas para realizar as transações, o plug-in do e-commerce permite que você especifique a moeda local.
A moeda local precisa ser especificada no padrão ISO 4217
. Leia o documento Referência de códigos de moedas para uma lista completa das moedas de conversão compatíveis.
As moedas locais são especificadas usando a propriedade currencyCode
do rastreador. Por exemplo, este rastreador enviará valores de moeda em euros:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('set', 'currencyCode', 'EUR'); // Set currency to Euros.
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'price': '21.89',
'quantity': 1
});
ga('ec:setAction', 'purchase', {
id: 'T12345',
affiliation: 'Google Store - Online',
revenue: '28.03',
tax: '2.14',
shipping: '4.00',
coupon: 'SUMMER2013'
});
ga('send', 'pageview');