Neste guia, descrevemos como coletar dados de e-commerce usando a analytics.js.
Visão geral
Com a avaliação de comércio eletrônico, você pode avaliar o número de transações e a receita gerada pelo seu site. Em um site de e-commerce comum, depois que um usuário clica no botão "Comprar" no navegador, as informações da compra são enviadas para o servidor da Web, que realiza a transação. Se ela for bem-sucedida, o servidor redirecionará o usuário para uma página de agradecimento ou confirmação contendo os detalhes da transação e uma confirmação da compra. Você pode usar a biblioteca analytics.js para enviar os dados de comércio eletrônico a partir da página de agradecimento para o Google Analytics.
Existem dois tipos de dados de e-commerce que você pode enviar usando o analytics.js: dados da transação e do item.
Dados da transação
Uma transação representa toda a transação que ocorre no seu site e contém os seguintes valores:
Chave | Tipo de valor | Obrigatório | Descrição |
---|---|---|---|
id |
texto | Sim | O ID da transação (por exemplo, 1234). |
affiliation |
Texto | Não | A loja ou afiliação a partir da qual ocorreu essa transação (por exemplo, Acme Modas). |
revenue |
moeda | Não | Especifica a receita total ou o total geral associado à transação (por exemplo, 11,99). Esse valor pode incluir custos de frete, impostos ou outros ajustes na receita total que você quer considerar como parte dos cálculos da receita. |
shipping |
moeda | Não | Especifica o custo total de envio da transação (por exemplo, 5). |
tax |
Moeda | Não | Especifica o imposto total da transação (por exemplo, 1,29). |
Dados do item
Um item representa os produtos individuais que estavam no carrinho de compras e contém os seguintes valores:
Chave | Tipo de valor | Obrigatório | Descrição |
---|---|---|---|
id |
texto | Sim | O ID da transação. Esse ID é o que vincula os itens às transações a que pertencem (por exemplo, 1234). |
name |
Texto | Sim | O nome do item (por exemplo, Coelhinhos rosa fofos). |
sku |
Texto | Não | Especifica o SKU ou código do item (por exemplo SKU47). |
category |
Texto | Não | A categoria a que o item pertence (por exemplo, Brinquedos de festa). |
price |
moeda | Não | O preço individual unitário de cada item (por exemplo, 11,99). |
quantity |
Número inteiro | Não | A quantidade de unidades adquiridas na transação. Se um valor não inteiro é informado nesse campo (por exemplo, 1,5), ele é arredondado para o valor inteiro mais próximo. |
Implementação
Geralmente, a implementação da avaliação de e-commerce é feita depois que o usuário conclui o processo de finalização de compra. Isso normalmente ocorre na página de agradecimento. Quando você tiver os dados de comércio eletrônico e estiver pronto para enviá-los ao Google Analytics, precisará seguir algumas etapas:
- Carregamento do plug-in do e-commerce
- Adição de uma transação
- Adição de itens
- Envio de dados
- Limpeza de dados
Carregamento do plug-in do e-commerce
Para reduzir o tamanho da analytics.js, a avaliação de e-commerce não é fornecida na biblioteca padrão, mas como um módulo de plug-in que precisa ser carregado antes do uso.
Para carregar o plug-in de| e-commerce, use o seguinte comando:
ga('require', 'ecommerce');
Esse comando precisará ocorrer depois que você criar seu objeto do rastreador e antes de usar qualquer funcionalidade específica de e-commerce.
Depois de carregado, alguns comandos novos específicos da avaliação de e-commerce serão adicionados ao rastreador padrão.
Adição de uma transação
Após o carregamento do plug-in, ele cria um objeto de carrinho de compras transparente. Você pode adicionar dados da transação e do item ao carrinho de compras e, após a configuração completa, enviar todos eles de uma só vez.
Para isso, use o comando ecommerce:addTransaction
:
ga('ecommerce:addTransaction', { 'id': '1234', // Transaction ID. Required. 'affiliation': 'Acme Clothing', // Affiliation or store name. 'revenue': '11.99', // Grand Total. 'shipping': '5', // Shipping. 'tax': '1.29' // Tax. });
Adição de itens
Em seguida, para adicionar itens ao carrinho de compras, use o comando ecommerce:addItem
:
ga('ecommerce:addItem', { 'id': '1234', // Transaction ID. Required. 'name': 'Fluffy Pink Bunnies', // Product name. Required. 'sku': 'DD23444', // SKU/code. 'category': 'Party Toys', // Category or variation. 'price': '11.99', // Unit price. 'quantity': '1' // Quantity. });
Envio de dados
Por fim, depois de configurar todos os seus dados de comércio eletrônico no carrinho de compras, envie os dados ao Google Analytics usando o comando ecommerce:send
:
ga('ecommerce:send');
Esse comando passa por todas as transações e itens do carrinho de compras e envia os respectivos dados para o Google Analytics. Depois da execução dele, o carrinho de compras é limpo e fica pronto para enviar dados de uma nova transação. Se um comando ecommerce:send
foi emitido anteriormente, só serão enviados novos dados do item.
Limpeza de dados
Se for necessário limpar manualmente todas as transações e itens do carrinho de compras, use o seguinte comando:
ga('ecommerce:clear');
Especificação de moedas locais
Por padrão, você pode configurar uma moeda global comum para todas as transações e itens por meio da interface de gerenciamento do Google Analytics na Web. A moeda global é automaticamente usada para todos os itens e transações. Para sites que realizam transações em várias moedas, o plug-in de e-commerce permite que você defina a moeda local da transação, bem como os produtos individuais.
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.
Para definir a moeda local de uma transação específica e todos os seus itens, só é necessário especificar a moeda da transação:
ga('ecommerce:addTransaction', { 'id': '1234', 'affiliation': 'Acme Clothing', 'revenue': '11.99', 'shipping': '5', 'tax': '1.29', 'currency': 'EUR' // local currency code. });
Por fim, também é possível especificar a moeda por item:
ga('ecommerce:addItem', { 'id': '1234', 'name': 'Fluffy Pink Bunnies', 'sku': 'DD23444', 'category': 'Party Toys', 'price': '11.99', 'quantity': '1', 'currency': 'GBP' // local currency code. });
Suporte a vários rastreadores
Você também poderá usar o plug-in de e-commerce se tiver implementado vários rastreadores (nomeados) na sua página. O plug-in funciona da mesma forma que o rastreador padrão, exceto pelo formato, que é: trackerName.pluginName:method
.
Por exemplo, se você criou um rastreador chamado myTracker
:
ga('create', 'UA-XXXXX-Y', 'auto', {'name': 'myTracker'});
Então, você carregaria o plug-in de e-commerce desse rastreador nomeado usando:
ga('myTracker.require', 'ecommerce');
Em seguida, para enviar uma transação, é possível criar um objeto de transação e transmiti-lo ao rastreador nomeado da seguinte forma:
var transaction = { 'id': '1234', // Transaction ID. 'affiliation': 'Acme Clothing', // Affiliation or store name. 'revenue': '11.99', // Grand Total. 'shipping': '5' , // Shipping. 'tax': '1.29' // Tax. }; ga('myTracker.ecommerce:addTransaction', transaction);
Com essa sintaxe, é possível usar o objeto de transação em vários rastreadores.
Por fim, você enviaria os dados da transação da seguinte forma:
ga('myTracker.ecommerce:send');
Exemplo
A maioria dos sites de comércio eletrônico realiza transações no servidor, enquanto a biblioteca analytics.js envia dados para o Google Analytics a partir do navegador. Então, é necessário que haja um pouco de coordenação entre o servidor e o software cliente para que os dados de comércio eletrônico sejam enviados corretamente para o Google Analytics.
A maioria dos sites de comércio eletrônico processa a página de agradecimento usando um mecanismo de modelo do servidor. Nesse caso, você adicionaria o código de avaliação de e-commerce ao modelo do servidor e usaria a lógica do servidor para criar dinamicamente os valores de dados de comércio eletrônico na página final. Veja um exemplo desse código em PHP:
No PHP, você normalmente teria uma representação dos dados de e-commerce. Neste exemplo, os dados são armazenados em uma matriz associativa:
<?php // Transaction Data $trans = array('id'=>'1234', 'affiliation'=>'Acme Clothing', 'revenue'=>'11.99', 'shipping'=>'5', 'tax'=>'1.29'); // List of Items Purchased. $items = array( array('sku'=>'SDFSDF', 'name'=>'Shoes', 'category'=>'Footwear', 'price'=>'100', 'quantity'=>'1'), array('sku'=>'123DSW', 'name'=>'Sandals', 'category'=>'Footwear', 'price'=>'87', 'quantity'=>'1'), array('sku'=>'UHDF93', 'name'=>'Socks', 'category'=>'Footwear', 'price'=>'5.99', 'quantity'=>'2') ); ?>
A primeira etapa é criar uma lógica para transformar os dados de e-commerce na string JavaScript exigida pela analytics.js:
<?php // Function to return the JavaScript representation of a TransactionData object. function getTransactionJs(&$trans) { return <<<HTML ga('ecommerce:addTransaction', { 'id': '{$trans['id']}', 'affiliation': '{$trans['affiliation']}', 'revenue': '{$trans['revenue']}', 'shipping': '{$trans['shipping']}', 'tax': '{$trans['tax']}' }); HTML; } // Function to return the JavaScript representation of an ItemData object. function getItemJs(&$transId, &$item) { return <<<HTML ga('ecommerce:addItem', { 'id': '$transId', 'name': '{$item['name']}', 'sku': '{$item['sku']}', 'category': '{$item['category']}', 'price': '{$item['price']}', 'quantity': '{$item['quantity']}' }); HTML; } ?>
Em seguida, na tag <script>
, você adicionaria a lógica PHP adicional para produzir os dados da transação e do item de forma dinâmica:
<!-- Begin HTML --> <script> ga('require', 'ecommerce'); <?php echo getTransactionJs($trans); foreach ($items as &$item) { echo getItemJs($trans['id'], $item); } ?> ga('ecommerce:send'); </script>
Após a conclusão da execução do script PHP, os dados da transação e do item exigidos pela analytics.js são salvos na página. Depois que o JavaScript na página é processado no navegador, todos os dados de e-commerce são enviados ao Google Analytics.
Tipos de moeda
É possível configurar o tipo de moeda padrão na interface de gerenciamento. Quando você envia os valores de moeda usando o analytics.js, eles representam o valor total de uma moeda.
Um ponto decimal pode ser usado como um delimitador entre o todo e a parte fracionária da moeda. A precisão é de até seis casas decimais. O exemplo a seguir é válido para um campo de moeda:
1000.000001
Depois que o valor é enviado para o Google Analytics, todo o texto é removido até o primeiro dígito, o caractere -
ou .
(decimal). Então:
$-55.00
se tornará:
-55.00