Etapa 3: acompanhamento de conversões

Implementação

Resumo

A implementação do acompanhamento de conversões tem três partes:

  1. Como coletar o rwg_token da página de destino / ponto de entrada do app.
  2. Como manter o rwg_token na janela de atribuição adequada
  3. Como enviar um evento de conversão na finalização da compra

Essa implementação do acompanhamento de conversões não exige que você use o Google Analytics ou qualquer outro JavaScript de terceiros.

Antes de começar a implementar o 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 para a janela de atribuição de 30 dias. Como o token seria armazenado localmente no dispositivo do usuário, se o usuário mudar o dispositivo que está usando, limpar o armazenamento/cookies locais ou usar a navegação privada ou o modo de navegação anônima, o evento de conversão poderá não ser atribuído corretamente. Ao usar o acompanhamento de conversões no nível do dispositivo, é necessário implementá-lo novamente 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, por meio de um sistema de análise do servidor ou de outros sistemas do lado do servidor. Como o token seria armazenado no servidor, se o usuário mudar o dispositivo que está usando, limpar o armazenamento local/cookies ou estiver usando o modo de navegação anônima ou 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, será possível implementá-lo uma vez no lado do servidor e reutilizá-lo em todas as plataformas com suporte.

Coletando o rwg_token

Sempre que o Google mostrar um action_link fornecido por você nos feeds, esse URL vai 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ê armazenará esse token e o transmitirá de volta como parte do evento de conversão.

Em cada página de destino / ponto de entrada do app, é necessário 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 Como manter o rwg_token.

Confira abaixo um exemplo de como esse token pode ser analisado para rastreamento no nível do dispositivo pelo navegador. Como alternativa, colete 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 uma duração total de 30 dias. O valor de rwg_token precisa ser armazenado e retornado sem nenhuma edição. Se houver um token atual mantido em uma visita anterior, o token antigo precisará ser substituído e a janela de 30 dias de armazenamento precisará ser redefinida.

Ao manter 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 para 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 meio de um sistema de análise do servidor ou de outros sistemas do lado do servidor.

Confira abaixo um exemplo de acompanhamento de conversões no nível do dispositivo, em que o token é armazenado 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, será necessário 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.

Enviar dados de conversão

Quando um usuário conclui uma transação atribuível a um link de ação de lugar do Google, envie uma solicitação POST HTTP ao 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ê precisará fornecer um rwg_token válido ao enviar um evento de conversão. Para fins de teste no ambiente de sandbox, você pode usar o token de teste a seguir.

ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==

Confira abaixo um exemplo completo de acompanhamento de conversões no nível do dispositivo (usando um cookie no dispositivo do usuário) em JavaScript sobre como fazer essa solicitação de postagem:

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, você precisa recuperar o token associado ao usuário (independentemente da plataforma em que ele está) do mecanismo de armazenamento do lado do servidor e enviar o token usando os mesmos endpoints de produção ou sandbox.

Requisitos da atribuição de conversões

O padrão exigido pelo Google para a 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 um evento de conversão deve ser 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 dentro do prazo de 30 dias para fazer um pedido.
  • Um usuário segue um link de posicionamento de ação e, em seguida, faz um pedido em uma loja diferente, na mesma sessão ou em uma sessão 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 usando um link de ação de lugar. Incluindo:

  • Aplicativos da Web para computadores ou dispositivos móveis
  • Apps para dispositivos móveis, seja por um link direto ou uma intent de app registrada para seu domínio

Se o token estiver armazenado no nível do usuário (consulte Como manter o token), é esperado que você forneça a atribuição entre dispositivos. Ou seja, um usuário que segue um link de ação no computador e conclui a transação em um 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 nos cookies do navegador, não é esperado que você forneça a atribuição entre dispositivos. Nesse caso, cada dispositivo teria um token separado persistido caso o usuário tivesse seguido um link de ação nesse dispositivo, e cada dispositivo seguiria as regras de atribuição separadamente.