Acompanhamento de conversões

Implementação

Resumo

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

  • Coletar o rwg_token da página de destino ou do ponto de entrada do app.
  • Como manter rwg_token na 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 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 na 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 ou os cookies ou estiver usando a navegação anônima ou o modo de navegação anônima, 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 implementá-lo novamente em todas as plataformas compatíveis (incluindo os 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 lado do servidor ou de outros sistemas do lado do servidor. Como o token será armazenado no lado do servidor, se o usuário mudar o dispositivo que está usando, limpar o armazenamento local ou os cookies ou estiver usando uma navegação privada 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, você poderá implementá-lo uma vez no lado do servidor e reutilizá-lo em todas as plataformas com suporte.

Como coletar o rwg_token

Cada vez que o Google mostra um action_link que você forneceu nos 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 em que o usuário clicou. Armazene esse token e transmita-o de volta como parte do evento de conversão.

Em cada página de destino / ponto de entrada do app, é preciso 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.

Além do rwg_token, você vai precisar armazenar o merchant_id associado ao link de ação.

Se houver um token existente mantido em uma visita anterior, o rwg_token anterior e o merchant_id precisarão ser substituídos, e a janela de 30 dias para armazenamento precisará ser redefinida.

Ao manter o par acima, você pode armazenar os valores 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 na 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 lado 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 esses valores são armazenados em um navegador da Web usando um cookie primário. Neste exemplo, consideramos que você analisou o valor do token em uma variável, como no exemplo acima. Para usar este exemplo, é preciso atualizar "rootdomain" para seu domínio.

<script>
  if (typeof rwg_token !== 'undefined') {
    document.cookie =
    "_rwg_token=" + rwg_token + ";_merchant_id="+merchantid +";max-age=2592000;domain=rootdomain.com;path=/";
  }
</script>

Ao usar o acompanhamento de conversões no nível do usuário, o rwg_token + merchant_id precisa ser armazenado no servidor e associado ao usuário.

Enviar dados de conversão

Quando um usuário conclui uma transação que pode ser atribuída a um link de ação do lugar do Google, você precisa enviar 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 JSON codificado no formato:

{
  "conversion_partner_id": <partnerId>,
  "rwg_token": <rwg_token_val>
  "merchant_changed": 1|2
}

O valor merchant_changed é usado para determinar se o comerciante foi alterado desde o comerciante do redirecionamento inicial. É possível transmitir dois valores

Valor de mudança do comerciante Requisito
1 Use esse valor quando um usuário sair do site do comerciante original e concluir uma compra com outro comerciante na sua plataforma.
2 Esse valor precisa ser usado quando o cliente concluiu uma transação pela entidade original (Comerciante).

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, use o seguinte token de teste nos dois ambientes até a inicialização:

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,
      Merchant_changed: merchantChanged
    })
  });
}

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 obrigatório do 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 o Google espera 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 para o mesmo comerciante na mesma sessão(Merchant Change Value = 2)
  • 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 para o mesmo comerciante. ( Valor de mudança do comerciante = 2)
  • 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 outra sessão em um período de 30 dias. ( Valor de alteração do comerciante = 1)

Além disso, o Google espera 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 é armazenado exclusivamente no nível do dispositivo, como em cookies do navegador, não é esperado que você forneça a atribuição em dispositivos diferentes. 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.