Implementação
Resumo
Uma implementação do acompanhamento de conversões tem três partes:
-
Coletar o
rwg_tokenda página de destino / ponto de entrada do app. -
Persistir o
rwg_tokenpara a janela de atribuição adequada - Enviar um evento de conversão na finalização da compra
Essa implementação do acompanhamento de conversões não exige o uso do Google Analytics ou de qualquer outro JavaScript de terceiros.
Antes de começar a trabalhar na implementação do acompanhamento de conversões, decida se você vai acompanhar as conversões no nível do dispositivo ou do usuário:
- O nível do dispositivo inclui o uso de cookies do navegador, armazenamento local, armazenamento local do app ou qualquer outro método que possa manter o token durante a janela de atribuição de 30 dias. Como o token seria armazenado localmente no dispositivo do usuário, se ele mudar o dispositivo que está usando, limpar o armazenamento local/cookies ou usar um modo de navegação anônima ou privada, o evento de conversão pode não ser atribuído corretamente. Ao usar o acompanhamento de conversões no nível do dispositivo, você precisa reimplementar isso em todas as plataformas compatíveis, incluindo dispositivos móveis.
- O nível do usuário inclui a persistência no banco de dados do aplicativo, por um sistema de análise do lado do servidor ou outros sistemas do lado do servidor. Como o token é armazenado no lado do servidor, se o usuário mudar de dispositivo, limpar o armazenamento local/cookies ou usar um modo de navegação anônima ou privada, o evento de conversão ainda será atribuído quando o usuário fizer login novamente. Ao usar o rastreamento de conversões no nível do usuário, dependendo da arquitetura do seu sistema, é possível implementar isso uma vez no lado do servidor e reutilizar em todas as plataformas compatíveis.
Coletar o rwg_token
Cada vez que o Google mostra um action_link que você forneceu pelos
feeds, esse URL é modificado para incluir um parâmetro de consulta
exclusivo: rwg_token. O valor rwg_token é uma string codificada que contém alguns metadados sobre o link clicado pelo usuário. Você vai armazenar esse token e transmiti-lo de volta como parte do evento de conversão.
Em cada página de destino / ponto de entrada do app, analise o valor definido
para o parâmetro de consulta rwg_token e armazene-o. Os requisitos para
armazenar esse parâmetro estão descritos na etapa Persistência do
rwg_token.
Confira abaixo um exemplo de como esse token pode ser analisado para rastreamento no nível do dispositivo pelo navegador. Como alternativa, é possível coletar esse token no lado do servidor ao responder à solicitação:
<script> var query = location.search.substring(1); var params = query.split('&'); var rwgToken = undefined; for (var i = 0; i < params.length; ++i) { var pair = params[i].split('='); if (pair[0] == 'rwg_token') { rwgToken = decodeURIComponent(pair[1]); break; } } </script>
Como manter o rwg_token
Você precisará manter o parâmetro de URL rwg_token, que será anexado a todos os links de ação fornecidos por você, por um período total de 30 dias. O valor de rwg_token precisa ser armazenado e retornado sem edições.
Se houver um token persistido de uma visita anterior, o
token antigo será substituído, e a janela de 30 dias para armazenamento
será redefinida.
Ao persistir o token, você pode armazená-lo no nível do dispositivo ou do usuário:
- O nível do dispositivo inclui o uso de cookies do navegador, armazenamento local, armazenamento local do app ou qualquer outro método que possa manter o token durante a janela de atribuição de 30 dias.
- O nível do usuário inclui a persistência no banco de dados do aplicativo, por um sistema de análise do lado do servidor ou outros sistemas do lado do servidor.
Abaixo está um exemplo de rastreamento de conversões no nível do dispositivo, armazenando esse token em um navegador da Web usando um cookie primário. Neste exemplo, presumimos que você analisou o valor do token em uma variável, como no exemplo acima. Para usar este exemplo, atualize "rootdomain" com seu domínio.
<script> if (typeof rwg_token !== 'undefined') { document.cookie = "_rwg_token=" + rwg_token + ";max-age=2592000;domain=rootdomain.com;path=/"; } </script>
Ao usar o acompanhamento de conversões no nível do usuário, o rwg_token precisa ser armazenado no servidor e associado ao usuário.
Envio de dados de conversão
Quando um usuário conclui uma transação atribuível a um link de ação do Google Maps, você precisa enviar uma solicitação HTTP POST para o endpoint de conversão. Há dois endpoints, um para o ambiente de produção e outro para o ambiente de sandbox.
- Produção:
https://www.google.com/maps/conversion/collect - Sandbox:
https://www.google.com/maps/conversion/debug/collect
O corpo da postagem precisa ser um objeto codificado em JSON no formato:
{
'conversion_partner_id': partnerId,
'rwg_token': <rwg_token_val>
}
Nos ambientes de sandbox e de produção, é necessário fornecer um rwg_token válido ao enviar um evento de conversão.
Para fins de teste no ambiente sandbox, use o seguinte token de teste.
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
Confira abaixo um exemplo completo de rastreamento de conversões no nível do dispositivo (usando um cookie no dispositivo do usuário) em JavaScript de como fazer essa solicitação POST:
const partnerId = XXXXXXXXXX; const endpoint = `https://www.google.com/maps/conversion/collect`; const rwgTokenCookie = document.cookie .split('; ') .find(row => row.startsWith('_rwg_token=')); if (typeof rwgTokenCookie !== 'undefined') { const rwgTokenVal = rwgTokenCookie.split('=')[1]; fetch(endpoint, { method: "POST", body: JSON.stringify({ conversion_partner_id: partnerId, rwg_token: rwgTokenVal }) }); }
Ao usar o acompanhamento de conversões no nível do usuário, recupere o token associado ao usuário (independente da plataforma em que ele está) do seu mecanismo de armazenamento do lado do servidor e envie o token usando os mesmos endpoints de produção ou sandbox.
Requisitos de atribuição de conversão
O padrão obrigatório do Google para atribuição de conversão é uma janela de atribuição de 30 dias para qualquer interação com um link de lugar em qualquer loja.
Essa janela de atribuição significa que esperamos que um evento de conversão seja enviado em qualquer um dos seguintes cenários:
- Um usuário segue um link de ação de lugar e faz um pedido na mesma sessão.
- Um usuário segue um link de ação de lugar e retorna de um canal diferente em até 30 dias para fazer um pedido.
- Um usuário segue um link de ação de lugar e faz um pedido em uma loja diferente, na mesma sessão ou em outra sessão em um período de 30 dias.
Além disso, esperamos que os eventos de conversão sejam enviados de todas as plataformas em que um usuário pode chegar por um link de ação local. como:
- Aplicativos da Web para computadores ou dispositivos móveis
- Apps para dispositivos móveis, seja por um link direto do app ou uma intent registrada para seu domínio
Se o token for armazenado no nível do usuário (consulte persistência do token), é esperado que você forneça atribuição entre dispositivos. Ou seja, um usuário que segue um link de ação no computador e conclui a transação no dispositivo móvel (usando a mesma conta de usuário) deve acionar um evento de conversão.
Se o token for armazenado exclusivamente no nível do dispositivo, como em cookies do navegador, não é necessário fornecer atribuição entre dispositivos. Nesse caso, cada dispositivo teria um token separado persistido se o usuário tivesse seguido um link de ação nele, e cada dispositivo seguiria as regras de atribuição separadamente.