Acompanhamento de conversões

Figura 2: visão geral do acompanhamento de conversões

Visão geral

O acompanhamento de conversões registra as conversões iniciadas pelo Google por meio de uma das nossas integrações do Action Center. É necessário manter a integração funcionando, porque ela pode influenciar a classificação em determinadas páginas. Cada vez que o Google gera um action_link, o URL específico é modificado para incluir um parâmetro de consulta exclusivo: rwg_token. Você pode armazenar o token e retornar os valores apropriados quando um usuário concluir uma reserva.

Para concluir a integração, siga estas etapas:

  1. Analise e armazene o rwg_token.
  2. Analisar e armazenar as informações do comerciante.
  3. Retorna os valores rwg_token e merchant_changed.
  4. Teste e verifique o acompanhamento de conversões.

Analisar e armazenar o rwg_token

Para concluir a integração, você precisa coletar e armazenar o rwg_token por até 30 dias após a referência inicial do Google. O valor rwg_token é uma string codificada, que contém metadados sobre o link e as informações do comerciante que geraram esse action_link.

Analisar o token

Quando um usuário é direcionado para sua página de reserva, um novo rwg_token é anexado ao URL fornecido. Na página de reserva, você precisa analisar o valor do token.

O exemplo a seguir mostra como o rwg_token é analisado para rastreamento no nível do dispositivo em um navegador.

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;
  }
}

O token anexado ao URL é criptografado. Confira o exemplo a seguir de um rwg_token. Use este token de exemplo para garantir que você o analise corretamente, com todos os caracteres especiais, como =.

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

Armazenar o token

Ao armazenar o rwg_token, é possível implementar o acompanhamento de conversões em dois níveis diferentes:

  • No nível do dispositivo
  • Nível do usuário

É possível armazenar o token em qualquer nível, mas ele precisa ser armazenado por 30 dias após a referência inicial.

O exemplo a seguir mostra o acompanhamento de conversões no nível do dispositivo. É possível armazenar os valores do token em um navegador com o cookie primário. Este exemplo pressupõe que você analisou o valor do token em uma variável. Atualize rootdomain.com com seu domínio.

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

Sempre que o Google gera um action_link que você forneceu nos feeds, o URL é modificado para incluir um parâmetro de consulta exclusivo: rwg_token. Você precisa armazenar esse token e transmiti-lo como parte do evento de conversão.

Armazenar no nível do dispositivo

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 por 30 dias de atribuição. O token é armazenado localmente no dispositivo do usuário. Portanto, o evento de conversão não pode ser atribuído corretamente se o usuário:

  • Muda o dispositivo que eles usam.
  • Limpa o armazenamento local ou os cookies.
  • Usar um navegador particular ou anônimo.

Quando você usa o acompanhamento de conversões no nível do dispositivo, é necessário implementar novamente o evento de conversão em todos os dispositivos compatíveis, incluindo dispositivos móveis.

Armazenar no nível do usuário

O nível do usuário mantém o token no banco de dados do aplicativo usando um sistema de análise no servidor ou outros sistemas no servidor. O token é armazenado no lado do servidor. Assim, o evento de conversão ainda é atribuído corretamente depois que o usuário faz login novamente.

Quando você usa o acompanhamento de conversões no nível do usuário com base na arquitetura do sistema, é possível implementar o evento de conversão uma vez no servidor e reutilizá-lo em todos os dispositivos compatíveis.

Atualizar o token

Quando o Google indica um usuário para o mesmo comerciante, o token existente, que já está armazenado, é substituído pelo novo token da indicação mais recente. Após a substituição do token, a janela de atribuição de 30 dias do armazenamento de token é redefinida, e todas as novas conversões desse comerciante são atribuídas ao token mais recente.

Consulte os requisitos para atribuição de conversões para mais detalhes.

Analisar e armazenar as informações do comerciante

Quando um usuário é direcionado para sua página de reserva, é necessário implementar a lógica que pode encontrar e capturar os detalhes do comerciante. Normalmente, os parceiros adicionam metadados do comerciante ou merchant_id aos links de ação e usam isso para identificar e armazenar as informações do comerciante.

Recomendamos armazenar o merchant_id ou o identificador selecionado com o rwg_token. Quando um usuário confirma uma reserva, você pode se referir ao merchant antes de enviar a solicitação de conversão completa. Assim como no armazenamento de tokens, é necessário salvar os detalhes do comerciante com o token por 30 dias após a referência inicial.

O exemplo a seguir modifica o rwg_token armazenado anteriormente. Ele pressupõe que você analisou as informações do comerciante dos metadados no URL fornecido e as salvou como merchant_id ou as associou a uma merchant_id existente.

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

Retorna os valores rwg_token e merchant_changed

Quando um usuário faz uma reserva que começa com uma indicação action_link, você precisa enviar uma solicitação POST HTTP para o endpoint de conversão. Há dois endpoints:

  • Ambiente de produção: https://www.google.com/maps/conversion/collect
  • Ambiente de sandbox: https://www.google.com/maps/conversion/debug/collect

Ao enviar um evento de conversão, é necessário incluir o rwg_token armazenado e um valor merchant_changed de 1 ou 2. Para mais detalhes sobre merchant_changed, consulte Retornar o valor da mudança do comerciante.

O corpo do POST precisa ser um objeto codificado em JSON no formato:

{
  "conversion_partner_id": "<partnerId>",
  "rwg_token": "<rwg_token_val>",
  "merchant_changed": "1|2"
}
{
  "conversion_partner_id": "XXXXXXX",
  "rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==",
  "merchant_changed": "2"
}

O exemplo a seguir inclui o acompanhamento de conversões no nível do dispositivo com um cookie no dispositivo do usuário, escrito 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,
      merchant_changed: merchantChanged
    })
  });
}

Retornar o valor da mudança do comerciante

O valor merchant_changed é usado para determinar se o comerciante foi alterado do comerciante de redirecionamento inicial. A mudança de comerciantes é comum se a página de destino estiver em uma plataforma que inclui outros comerciantes. Nesse caso, se um usuário for encaminhado para sua plataforma pelo Google e decidir navegar para um comerciante diferente para concluir uma reserva, você vai precisar saber que uma conversão aconteceu com um comerciante diferente. É possível usar um booleano para identificar a mudança do comerciante, mas não os detalhes dele.

Ao decidir qual valor atribuir ao merchant_changed, você precisa usar o comerciante original salvo em Analisar e armazenar as informações do comerciante. Verifique se o merchant mudou e atribua o valor de acordo com sua necessidade.

  • Requisito: quando um usuário sai do site do comerciante original e conclui uma compra na sua plataforma com um comerciante diferente.
    • Valor da mudança do comerciante: 1
  • Requisito: quando o usuário conclui uma transação com o comerciante original.
    • Valor da mudança do comerciante: 2

Testar e verificar o acompanhamento de conversões

Os casos de teste a seguir usam tokens de teste fornecidos na seção Tokens de teste e têm como objetivo ajudar você a entender todos os cenários que podem resultar em um evento de conversão. Isso garante que o token seja armazenado adequadamente, que o valor merchant_changed seja definido corretamente e que o evento de conversão seja enviado quando apropriado.

Use os URLs da página de agendamento ou do link de ação fornecidos nos seus feeds e execute cada caso de teste anexando os tokens de teste ao final do URL. Use uma janela de navegador particular ou anônima. Isso vai limpar todos os tokens associados ao usuário atual e dar a você uma tela em branco para trabalhar.

Caso de teste Descrição do teste Fluxo de usuários Resultado esperado
1 Um usuário conclui uma reserva que não foi feita no Google. Um usuário navega diretamente para a página de reserva sem ser encaminhado pelo Google ou sem uma referência. Isso não deve resultar em nenhum evento de conversão. Nenhum evento de conversão, porque o usuário não visitou a página de reserva anteriormente ou não foi encaminhado pelo Google.
2 Um usuário conclui uma reserva que teve origem no Google. Um usuário encontra sua empresa no Google, é direcionado para a página de agendamento e faz uma reserva. Um evento de conversão seria enviado com o Token A e o valor 2 de mudança do comerciante porque o usuário foi encaminhado para a página de reserva pelo Google.
3 Um usuário (originado do Google) inicia o fluxo de reserva, mas abandona a sessão antes de concluir a reserva.

Observação: mantenha esta sessão aberta para os testes 4 e 5.
Um usuário é direcionado para sua página de agendamento de horário, mas a sessão termina e ele não conclui a reserva. Nenhuma conversão porque o usuário não concluiu a reserva, mas o Token B precisa ser armazenado por 30 dias.
4 Um usuário retorna à página de reserva sem ter origem no Google e conclui uma reserva.

Observação: o URL do fluxo de reserva não pode incluir um rwg_token.
Um usuário retorna à página de reserva após o Teste 4. O Token B precisa ser armazenado por 30 dias, e qualquer conversão durante esse período precisa retornar um evento de conversão. Um evento de conversão seria enviado com o Token B e o valor 2 de alteração do comerciante porque o usuário está retornando à página de reserva após a referência anterior do Google.
5 Um usuário conclui um novo agendamento originado do Google após o Teste 4. Se um usuário retornar à sua página de reserva usando uma referência anterior do Google, a janela de armazenamento de 30 dias será redefinida e um novo token Token C vai substituir o antigo Token B. Todas as conversões futuras serão atribuídas a Token C. Um evento de conversão seria enviado com Token C e o valor comerciante alterado de 2 porque o usuário concluiu a reserva e o novo token substituiu o token armazenado anteriormente.

Se você tiver uma plataforma que permite que os usuários façam o checkout com um comerciante diferente, teste o seguinte.

Caso de teste Descrição do teste Fluxo de usuários Resultado esperado
6 Um usuário é direcionado para sua página de agendamento pelo Google e faz uma reserva com um comerciante diferente. Um usuário é encaminhado para sua página de reserva pelo Google, o Token A é usado, mas antes de concluir a reserva, ele navega para uma página diferente e conclui a reserva com um comerciante diferente do encaminhamento original. Um evento de conversão seria enviado porque o usuário concluiu uma reserva que teve origem em uma referência do Google com Token A e o comerciante mudou o valor de 1 porque o usuário concluiu a reserva em um comerciante diferente do que a referência.

Durante o teste, envie a solicitação POST HTTP para o endpoint de conversão. Há dois endpoints:

  • Ambiente de produção: https://www.google.com/maps/conversion/collect
  • Ambiente de sandbox: https://www.google.com/maps/conversion/debug/collect

Tokens de teste

Para testar o acompanhamento de conversões, adicione um dos seguintes tokens de teste ao final dos URLs dos links de ação ou das páginas de reserva que você fornece nos seus feeds.

Token A:

rwg_token=AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ%3D%3D

Token B:

rwg_token=AJKvS9U2QfiQanHFQrlJxBjD0AyFany3qpaJVEWOcY4nHqY_UkLYFFDj6RIa-EXS1iEmV8gtFPG6v1cU1jnusJK66ijXXnaqkQ%3D%3D

Token C:

rwg_token=AJKvS9VwInjZ_hGZPvBz0COVWJ5oFDzocFt9hGi7TMurlo2l71uiXP48PspPUMmRnqCUDE1mF_A5H_dMV78cBTF8jIfSQK6lEA%3D%3D

Quando você envia os eventos de conversão bem-sucedidos, eles são agregados na Central de ações, no painel de acompanhamento de conversões.

painel-de-acompanhamento-de-conversões

Requisitos para 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 ação de lugar em qualquer loja.

Essa janela de atribuição significa que o Google pode esperar que um evento de conversão seja enviado em qualquer um dos seguintes cenários:

  • Um usuário clica em um link de ação de lugar e faz um pedido para o mesmo comerciante na mesma sessão. Valor da mudança do comerciante = 2.
  • Um usuário segue um link de ação de lugar e, em seguida, retorna de um canal diferente dentro da janela de atribuição de 30 dias para fazer um pedido para o mesmo comerciante. Valor da 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 uma diferente, dentro de uma janela de atribuição de 30 dias. Valor da mudança do comerciante = 1.

Além disso, o Google espera enviar eventos de conversão de qualquer dispositivo que um usuário possa acessar por um link de ação de lugar. Esses dispositivos incluem:

  • Aplicativos da Web para computador ou dispositivo móvel.
  • Apps para dispositivos móveis, usando um link direto de app ou uma intent de app registrada para seu domínio.

Se o token for armazenado no nível do usuário, é esperado que você forneça atribuição em vários dispositivos. Para mais informações, consulte Armazenar no nível do usuário. Nesse caso, um usuário que clica em um link de ação no computador e conclui a transação no dispositivo móvel com 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á necessário fornecer a atribuição entre dispositivos. Nesse caso, cada dispositivo pode ter um token separado mantido, se o usuário seguir um link de ação nesse dispositivo, e cada dispositivo pode seguir as regras de atribuição separadamente.