Seguimiento de conversiones

Implementación

Resumen

La implementación del seguimiento de conversiones consta de tres partes:

  • Recopilar los elementos rwg_token y merchant_id del punto de entrada de la página de destino o la app
  • Conservar los valores de rwg_token y merchant_id para la ventana de atribución adecuada
  • Compara los merchant_id y los merchant_id persistentes en el momento de la conversión (se completó la reserva).
  • Se envía un evento de conversión en el momento de la conversión (se completó la reserva).

Esta implementación del seguimiento de conversiones no requiere que utilices Google Analytics ni ningún otro código JavaScript de terceros.

Antes de comenzar a trabajar en la implementación del seguimiento de conversiones, debes decidir si harás un seguimiento de las conversiones a nivel del dispositivo o del usuario:

  • El nivel del dispositivo incluye el uso de cookies del navegador, el almacenamiento local, el almacenamiento local de la app o cualquier otro método que pueda conservar el token durante la ventana de atribución de 30 días. Debido a que el token se almacenaría de forma local en el dispositivo del usuario, si el usuario cambia el dispositivo que usa, borra su almacenamiento o cookies locales, o utiliza un modo de navegación privada o Incógnito, es posible que el evento de conversión no se atribuya correctamente. Cuando uses el seguimiento de conversiones a nivel del dispositivo, debes volver a implementarlo en todas las plataformas admitidas (incluidos los dispositivos móviles).
  • El nivel del usuario incluye la persistencia en la base de datos de tu aplicación, a través de un sistema de estadísticas del servidor o de otros sistemas del servidor. Debido a que el token se almacenaría en el servidor, si el usuario cambia el dispositivo que usa, borra sus cookies o su almacenamiento local, o utiliza un modo de navegación privada o de incógnito, el evento de conversión se atribuirá una vez que el usuario vuelva a acceder. Cuando uses el seguimiento de conversiones a nivel del usuario, según la arquitectura de tu sistema, es posible que puedas implementarlo una vez en el servidor y reutilizarlo en todas las plataformas compatibles.

Cómo recopilar el rwg_token

Cada vez que Google muestra un action_link que proporcionaste a través de los feeds, esa URL se modifica para incluir un parámetro de búsqueda único: rwg_token. El valor rwg_token es una cadena codificada que contiene algunos metadatos sobre el vínculo en el que el usuario hizo clic, pero no hay datos del usuario. Debes almacenar este token y pasarlo como parte del evento de conversión.

En cada página de destino o punto de entrada de la app, debes analizar el valor establecido para el parámetro de consulta rwg_token y almacenarlo. Los requisitos para almacenar este parámetro se describen en el paso "Persiste la rwg_token".

A continuación, se incluye un ejemplo de cómo se puede analizar este token para el seguimiento a nivel del dispositivo a través del navegador. Como alternativa, puedes recopilar este token en el servidor cuando respondas la solicitud:

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

Cómo recopilar el merchant_id

Si implementas la lógica del seguimiento de conversiones en el frontend, en la página de destino, debes implementar una secuencia de comandos personalizada que encuentre y capture el merchant_id. Por lo general, es posible que el merchant_id ya esté presente en la página de destino o en la URL para que puedas capturarlo desde allí. De lo contrario, debes encontrar una manera de exponerlo en algún lugar para que se pueda capturar, lo que probablemente implicaría cambios de backend.

Si implementas la lógica del seguimiento de conversiones en el backend, es posible que encuentres el merchant_id junto a los datos que consultan tu sistema interno para generar la página de frontend.

Este merchant_id debe ser el mismo que compartiste con Google en tu feed.

Cómo conservar rwg_token y merchant_id

Deberás conservar el parámetro de URL rwg_token, que se agregará a todos los vínculos de acción que proporciones durante un total de 30 días. El valor de rwg_token se debe almacenar y mostrar sin modificaciones.

Junto con el rwg_token, deberás almacenar el merchant_id asociado con el vínculo de acción.

Si se conserva un token existente de una visita anterior, se deben reemplazar rwg_token y merchant_id anteriores, y se debe restablecer el período de 30 días de almacenamiento.

Si conservas el par anterior, puedes almacenar los valores a nivel del dispositivo o del usuario:

  • El nivel del dispositivo incluye el uso de cookies del navegador, el almacenamiento local, el almacenamiento local de la app o cualquier otro método que pueda conservar el token durante la ventana de atribución de 30 días.
  • El nivel del usuario incluye la persistencia en la base de datos de tu aplicación, a través de un sistema de estadísticas del servidor o de otros sistemas del servidor.

A continuación, se muestra un ejemplo del seguimiento de conversiones a nivel del dispositivo, en el que se almacenan estos valores en un navegador web mediante una cookie propia. En este ejemplo, se supone que ya analizaste el valor del token en una variable, como en el ejemplo anterior. Para usar este ejemplo, debes actualizar rootdomain.com en tu dominio.

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

Cuando se utiliza el seguimiento de conversiones a nivel del usuario, rwg_token y merchant_id deben almacenarse en el servidor y asociarse con el usuario.

Envío de datos de conversiones

Cuando un usuario completa una transacción atribuible a un vínculo de acción de Google Place, debes enviar una solicitud HTTP POST al extremo de conversión. Hay dos extremos, uno para el entorno de producción y otro para el entorno de la zona de pruebas.

  • Producción: https://www.google.com/maps/conversion/collect
  • Zona de pruebas: https://www.google.com/maps/conversion/debug/collect

El cuerpo de la entrada debe ser un objeto codificado en JSON con el siguiente formato:

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

Ejemplo (comercio sin cambios con el token de prueba para el socio 20123456):

{
  "conversion_partner_id": 20123456,
  "rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==",
  "merchant_changed": 2
}

El valor merchant_changed se usa para determinar si el comercio se cambió del comercio de redireccionamiento inicial. Hay dos valores que se pueden pasar

Valor de cambio del comercio Requisito
1 Este valor se debe usar cuando un usuario abandonó el sitio web del comercio original y completó una compra a través de tu plataforma con otro comercio.
2 Este valor se debe usar cuando el cliente completó una transacción a través de la entidad original (comercio).

Tanto en los entornos de zona de pruebas como en los de producción, debes proporcionar un rwg_token válido cuando envíes un evento de conversión. Para realizar pruebas, usa el siguiente token de prueba en ambos entornos hasta que lo inicies:

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

A continuación, se incluye un ejemplo completo del seguimiento de conversiones a nivel del dispositivo (mediante una cookie en el dispositivo del usuario) en JavaScript sobre cómo realizar esta solicitud de publicación:

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

Cuando usas el seguimiento de conversiones a nivel del usuario, debes recuperar el token asociado al usuario (independientemente de la plataforma en la que se encuentre) desde el mecanismo de almacenamiento del servidor y enviar el token con los mismos extremos de producción o de la zona de pruebas.

Requisitos de atribución de conversiones

El estándar requerido de Google para la atribución de conversiones es una ventana de atribución de 30 días para cualquier interacción con un vínculo de lugar, en cualquier tienda.

Esta ventana de atribución significa que Google espera que se envíe un evento de conversión en cualquiera de las siguientes situaciones:

  • Un usuario sigue un vínculo de acción de lugar y realiza un pedido para el mismo comercio en la misma sesión. (Valor de cambio del comercio = 2)
  • Un usuario sigue un vínculo de acción de lugar y, luego, regresa de un canal diferente en el plazo de 30 días para realizar un pedido para el mismo comercio. (Valor de cambio del comercio = 2)
  • Un usuario sigue un vínculo de acción de lugar y, luego, realiza un pedido en una tienda diferente, ya sea dentro de la misma sesión o en una sesión diferente en un período de 30 días. ( Valor de cambio del comercio = 1)

Además, Google espera que los eventos de conversión se envíen desde todas las plataformas a las que un usuario puede llegar desde un vínculo de acción de lugar. Incluye lo siguiente:

  • Aplicaciones web para computadoras o dispositivos móviles
  • Apps para dispositivos móviles, ya sea a través de un vínculo directo a la app o un intent de app registrado para tu dominio

Si el token se almacena a nivel del usuario (consulta la sección sobre cómo conservar el token), se espera que proporciones atribución en dispositivos múltiples. Es decir, un usuario que sigue un vínculo de acción desde una computadora de escritorio y, luego, completa la transacción en un dispositivo móvil (con la misma cuenta de usuario), debería activar un evento de conversión.

Si el token se almacena exclusivamente en el nivel del dispositivo, como en las cookies del navegador, no se espera que proporciones la atribución multidispositivo. En este caso, cada dispositivo tendría un token separado persistente si el usuario hubiera seguido un vínculo de acción en ese dispositivo, y cada dispositivo seguiría las reglas de atribución por separado.