Implementação
Resumo
Há três partes na implementação do acompanhamento de conversões:
-
Coletar o
rwg_token
da página de destino / ponto de entrada do app. -
Persistência do
rwg_token
para a janela de atribuição adequada - Enviar um evento de conversão na finalização da compra
Essa implementação de acompanhamento de conversões não exige que você use o Google Analytics ou 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 de dispositivo, limpar o armazenamento local/cookies ou estiver usando um modo de navegação particular ou anônimo, o evento de conversão pode não ser atribuído corretamente. Ao usar o acompanhamento de conversões no nível do dispositivo, é necessário reimplementá-lo em todas as plataformas com suporte (incluindo dispositivos móveis).
- O nível do usuário inclui a persistência no banco de dados do aplicativo usando um sistema de análise do lado do servidor ou outros sistemas do lado do servidor. Como o token seria armazenado no lado do servidor, se o usuário mudar o dispositivo que está usando, limpar o armazenamento local/cookies ou usar uma navegação particular ou modo de navegação anônima, o evento de conversão ainda será atribuído quando o usuário fizer login novamente. Ao usar o acompanhamento de conversões no nível do usuário, dependendo da arquitetura do seu sistema, talvez seja possível implementar isso uma vez no servidor e reutilizar em todas as plataformas com suporte.
Coleta de rwg_token
Sempre que o Google mostrar um action_link
que você forneceu nos feeds, esse URL será 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 em que o usuário clicou. 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, você precisa analisar o valor definido
para o parâmetro de consulta rwg_token
e armazená-lo. Os requisitos para
armazenar esse parâmetro sã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 total
de 30 dias. O valor de rwg_token
precisa ser
armazenado e retornado sem edições.
Se houver um token persistente 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.
Confira abaixo um exemplo de acompanhamento de conversões no nível do dispositivo, que armazena esse token em um navegador da Web usando um cookie primário. Neste exemplo, presumimos que você tenha analisado o valor do token em uma variável, como no exemplo acima. Para usar este exemplo, você precisa atualizar "rootdomain" para 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.
Como enviar dados de conversão
Quando um usuário conclui uma transação que pode ser atribuída a um link de ação de lugar do Google, é necessário 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, você precisa fornecer um rwg_token
válido ao enviar um evento de conversão.
Para fins de teste no ambiente de sandbox, use o seguinte
token de teste.
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
Um exemplo completo de como fazer essa solicitação de postagem é incluído abaixo: rastreamento de conversão no nível do dispositivo (usando um cookie no dispositivo do usuário) em JavaScript.
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, é necessário recuperar o token associado ao usuário (independentemente da plataforma em que ele está) do mecanismo de armazenamento do servidor e enviar o token usando os mesmos endpoints de produção ou sandbox.
Requisitos de atribuição de conversões
O padrão exigido pelo Google para atribuição de conversões é 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 clica em um link de ação de lugar e, em seguida, retorna de um canal diferente no período de 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, seja na mesma sessão ou em uma diferente, em um período de 30 dias.
Além disso, esperamos que os eventos de conversão sejam enviados de todas as plataformas que um usuário pode acessar por um link de posicionamento de ação. como:
- Aplicativos da Web para computador ou dispositivos móveis
- Apps para dispositivos móveis, por um link direto de 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), é necessário fornecer 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) precisa acionar um evento de conversão.
Se o token for armazenado exclusivamente no nível do dispositivo, como em cookies do navegador, não será possível fornecer a atribuição entre dispositivos. Nesse caso, cada dispositivo teria um token separado mantido se o usuário tivesse seguido um link de ação nesse dispositivo, e cada dispositivo seguiria as regras de atribuição separadamente.