A instalação da tag é bastante simples. Basta incluir o snippet recebido em sua ferramenta de tag management e configurar para que a tag seja disparada em todas as páginas do web site. Abaixo há um exemplo de configuração no Google Tag Manager:
[IMAGEM]
A simples inicialização da tag, isto é, a inclusão do snippet no tag manager ou no cabeçalho da página, dispara um evento de coleta de alguns parâmetros da página visitada e do navegador do usuário, a fim de aumentar a precisão de identificação. Além dos dados de navegação, também é possível disparar eventos que capturam ações específicas do usuário.
A implementação da tag Pmweb é bastante simples e flexível. A ingestão de dados ocorre através do método pm(), que pode receber um ou mais eventos. A relação completa dos eventos está na tabela a seguir:
Entidade | Descrição |
---|---|
match |
Identificação do usuário |
view |
Exibição do produto (por exemplo, produto exibido em lista) |
click |
Clique em produto |
detail |
Página de detalhe do produto |
cart |
Produto adicionado ao carrinho |
remove |
Produto removido do carrinho |
checkout |
Informação de dados de pagamento, faturamento e entrega |
purchase |
Transação de compra |
transaction |
Dados da transação de compra |
add |
Dados adicionais |
category |
Navegação de categoria |
O mais importante recurso da API de coleta da Pmweb é a entidade match. Ela deve ser informada sempre que for possível identificar com segurança quem é o usuário que está navegando no site. Esta identificação pode ser realizada por meio de um customer_id, e-mail ou RIID, o ID da plataforma Oracle Responsys Interact. Outro ponto importante é que a entidade match pode ser disparada de modo individual ou combinada a outras eventos. No trecho abaixo há um exemplo de identificação do usuário:
pm({
match: {
customer_id: '835456-15'
}
});
As formas de identificação de usuário possíveis são:
Entidade | Descrição |
---|---|
customer_id |
ID único do usuário no cliente |
email |
E-mail do usuário |
sha256 |
Hash SHA-256 do endereço de e-mail |
md5 |
Hash MD5 do endereço de e-mail |
riid |
Responsys Interact ID |
A atribuição da identificação ao cookie do usuário será mantida enquanto o cookie for preservado no browser do usuário final ou até que um novo chamado de match ocorra. Também é importante mencionar que a atribuição ocorrerá na ordem descrita acima, isto é, customer_id tem preferência sobre hash md5, o que significa também que os atributos são excludentes, somente um formato deve ser informado. Caso o método utilizado para matching seja email, a tag realizará a conversão para um hash SHA-256 automaticamente, a fim de evitar que dados pessoais identificáveis (PII) sejam transmitidos e/ou armazenados.
O método pm() permite que sejam informadas interações do usuário com produtos no site. Abaixo está um exemplo de chamado:
pm({
detail: [{
name: "V-Neck T-Shirt",
id: '12345',
price: 15.25,
brand: "Pmweb",
category: "Apparel",
variant: "Black",
list: "Search Results",
quantity: 1,
size: "M",
position: 1
}]
});
As entidades view, click, detail, cart, remove, checkout e purchase recebem um array de elementos do tipo product com os produtos relacionados àquela etapa do funil de conversão. Ou seja, quando o usuário chega na etapa de pagamento do funil de conversão, deve ser disparado um evento do tipo checkout com o array de produtos no carrinho do usuário naquele momento.
As entidades do objeto product estão descritas na tabela abaixo. Repare que o único elemento obrigatório é o id, que se refere ao código (SKU) do produto. Contudo, quanto mais elementos forem informados, melhor será a capacidade da Pmweb de trabalhar a informação.
Entidade | Descrição |
---|---|
name |
Nome do produto |
id |
ID do produto (obrigatório) |
price |
Preço exibido na página |
brand |
Marca do produto |
category |
Categoria do produto |
variant |
Variação do modelo exposto (cor, etc.) |
sku |
SKU do produto |
size |
Tamanho do modelo exposto |
list |
Local onde o produto foi exposto (tipo de página / seção) |
quantity |
Unidades adicionadas ao carrinho / adquiridas |
position |
Posição na lista de produtos |
Uma ação do tipo purchase sinaliza uma transação de compra efetuada pelo usuário final. Esta informação é de extrema importância para que este seja removido de campanhas de retargeting para os produtos adquiridos. Para disparar este evento, deve-se utilizar o método pm(), informando obrigatoriamente um array purchase contendo todos os produtos adquiridos (de acordo com as especificações descritas acima), além de uma entidade transaction contendo, no mínimo, os membros id e revenue (receita total, incluindo impostos e frete).
pm({
purchase: [
{ /* product1 */ },
{ /* ... */ },
{ /* productN */ }
],
transaction: {
id: 'T12345',
affiliation: 'my_partner',
revenue: 26.34,
tax: 4.90,
shipping: 5.99,
coupon: 'SUMMER_SALE'
}
});
A seguir, a descrição de cada um dos parâmetros da entidade transaction:
Entidade | Descrição |
---|---|
id |
Identificação da transação / pedido (obrigatório) |
affiliation |
Código de afiliado |
revenue |
Receita total, incluindo impostos e frete |
tax |
Despesa com impostos |
shipping |
Despesa com frete |
coupon |
Cupom de desconto utilizado |
A API de coleta da Pmweb permite que o cliente informe uma relação de pares chave/valor para abastecer tabelas auxiliares de dados. Para informar dados adicionais, basta acrescentar a qualquer invocação do método pm() a entidade add, de additional data. Confira um exemplo:
pm({
checkout: [
{ /* product1 */ },
{ /* ... */ },
{ /* productN */ }
],
add: [{
hello: "world",
foo: "bar"
}]
});
Um ponto importante a ser considerado é que a entidade add deve sempre acompanhar o objeto que se pretende enriquecer com dados adicionais. Isto porque durante o processamento de dados (camada de ETL), os dados adicionais serão processados junto com o evento que está sendo “enriquecido” (por exemplo, transação de compra). Desta forma, os dados serão processados de forma simultânea.
Nem sempre é possível associar a navegação do usuário a um produto específico. Contudo, mesmo nestes casos pode ser possível atribuir o pageview a uma determinada categoria de produto (ex., roupas masculinas). Para atender estes casos, é possível disparar um evento do tipo category, que associa o pageview a uma categoria de produto:
pm({
category: {
id: '5',
name: 'Roupas masculinas'
}
})
A única condição para chamar o método pm() é que a tag Pmweb já tenha sido carregada e esteja disponível. Quando o método for chamado após eventos do usuário, como o envio de um formulário, por exemplo, não é necessário realizar nenhuma modificação. No entanto, caso o evento seja disparado em todas as páginas, recomenda-se definir uma prioridade mais baixa no disparo do evento para ter a garantia que ele somente será disparado após a tag principal ter sido carregada, como no exemplo abaixo:
Procurando por algo em específico? Navegue pelos diretórios e categorias e você encontrará o que busca.
Contato