Suivi des conversions

Implémentation

Synthèse

L'implémentation du suivi des conversions repose sur trois éléments:

  1. Collecte de rwg_token à partir de la page de destination ou du point d'entrée de l'application.
  2. Conserver le rwg_token pour la période d'attribution appropriée
  3. Envoi d'un événement de conversion lors du règlement

Avec cette méthode, vous n'avez pas besoin d'utiliser Google Analytics ni aucun autre code JavaScript tiers.

Avant de commencer à implémenter le suivi des conversions, vous devez décider si vous allez effectuer le suivi des conversions au niveau de l'appareil ou de l'utilisateur:

  • Le niveau de l'appareil comprend l'utilisation de cookies du navigateur, de l'espace de stockage local ou de l'application, ou de toute autre méthode pouvant conserver le jeton pendant la période d'attribution de 30 jours. Étant donné que le jeton est stocké localement sur l'appareil de l'utilisateur, si celui-ci modifie l'appareil qu'il utilise, efface son espace de stockage/cookies locaux, ou utilise une navigation privée ou le mode navigation privée, l'événement de conversion peut ne pas être correctement attribué. Lorsque vous utilisez le suivi des conversions au niveau de l'appareil, vous devez le réimplémenter sur toutes les surfaces compatibles (y compris les mobiles).
  • Le niveau utilisateur inclut la persistance dans la base de données de votre application, via un système d'analyse côté serveur ou d'autres systèmes côté serveur. Étant donné que le jeton sera stocké côté serveur, si l'utilisateur change d'appareil qu'il utilise, efface ses cookies de stockage locaux ou utilise un mode de navigation privée, l'événement de conversion sera tout de même attribué une fois l'utilisateur connecté. Lorsque vous utilisez le suivi des conversions au niveau de l'utilisateur, selon l'architecture de votre système, vous pourrez peut-être le faire une fois côté serveur et le réutiliser sur toutes les surfaces compatibles.

Collecte de rwg_token...

Chaque fois que Google affiche un action_link que vous avez fourni via les flux, cette URL est modifiée pour inclure un paramètre de requête unique : rwg_token. La valeur rwg_token est une chaîne encodée qui contient des métadonnées sur le lien sur lequel l'utilisateur a cliqué. Vous allez stocker ce jeton et le transmettre dans le cadre de l'événement de conversion.

Sur chaque page de destination / point d'entrée de l'application, vous devez analyser la valeur définie pour le paramètre de requête rwg_token et la stocker. Les exigences pour le stockage de ce paramètre sont décrites à l'étape Conserver le rwg_token.

Vous trouverez ci-dessous un exemple d'analyse de ce jeton pour le suivi au niveau de l'appareil via le navigateur. Vous pouvez également collecter ce jeton côté serveur lorsque vous répondez à la requête:

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

Conserver rwg_token

Vous devrez conserver le paramètre d'URL rwg_token, qui sera ajouté à tous les liens d'action que vous avez fournis, pendant une durée totale de 30 jours. La valeur de rwg_token doit être stockée et renvoyée sans aucune modification. Si un jeton existant est conservé lors d'une visite précédente, l'ancien jeton doit être remplacé et le délai de stockage de 30 jours doit être réinitialisé.

Lorsque vous conservez ce jeton, vous pouvez le stocker au niveau de l'appareil ou de l'utilisateur:

  • Le niveau de l'appareil comprend l'utilisation des cookies du navigateur, du stockage local, de l'espace de stockage local de l'application ou de toute autre méthode pouvant conserver le jeton pendant la période d'attribution de 30 jours.
  • Le niveau utilisateur inclut la persistance dans la base de données de votre application, via un système d'analyse côté serveur ou d'autres systèmes côté serveur.

Vous trouverez ci-dessous un exemple de suivi des conversions au niveau de l'appareil, permettant de stocker ce jeton dans un navigateur Web via un cookie propriétaire. Cet exemple suppose que vous avez analysé la valeur du jeton dans une variable, comme dans l'exemple ci-dessus. Pour utiliser cet exemple, vous devez remplacer "domaine racine" par votre domaine.

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

Lorsque vous utilisez le suivi des conversions au niveau de l'utilisateur, l'élément rwg_token doit être stocké sur le serveur et associé à l'utilisateur.

Envoi des données de conversion

Lorsqu'un utilisateur effectue une transaction qui peut être attribuée à un lien d'action Google Place, vous devez envoyer une requête HTTP POST au point de terminaison de conversion. Il y a deux points de terminaison, un pour l'environnement de production et un pour l'environnement de bac à sable.

  • Production : https://www.google.com/maps/conversion/collect
  • Bac à sable : https://www.google.com/maps/conversion/debug/collect

Le corps du post doit être un objet encodé au format JSON, au format suivant:

{
  'conversion_partner_id': partnerId,
  'rwg_token': <rwg_token_val>
}

Dans les environnements de bac à sable et de production, vous devez fournir un rwg_token valide lors de l'envoi d'un événement de conversion. À des fins de test dans l'environnement de bac à sable, vous pouvez utiliser le jeton de test suivant.

ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==

Vous trouverez ci-dessous un exemple complet de suivi des conversions au niveau de l'appareil (à l'aide d'un cookie sur l'appareil de l'utilisateur) en 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
    })
  });
}

Lorsque vous utilisez le suivi des conversions au niveau de l'utilisateur, vous devez récupérer le jeton associé à l'utilisateur (quelle que soit la surface sur laquelle il se trouve) à partir de votre mécanisme de stockage côté serveur, puis l'envoyer à l'aide des mêmes points de terminaison de production ou de bac à sable.

Exigences concernant l'attribution des conversions

La norme d'attribution de conversion requise par Google est une période d'attribution de 30 jours pour toute interaction avec un lien de lieu, dans n'importe quel magasin.

Cette période d'attribution signifie qu'un événement de conversion sera envoyé dans les scénarios suivants:

  • Un utilisateur suit un lien d'action pour un lieu et passe une commande dans la même session
  • Un utilisateur suit le lien d'une action liée à un lieu, puis revient depuis un autre canal au cours de la période de 30 jours pour passer une commande.
  • Un utilisateur suit un lien d'action pour un lieu, puis passe une commande dans un autre magasin, dans la même session ou dans une autre session sur une période de 30 jours.

De plus, nous pensons que les événements de conversion seront envoyés depuis toutes les surfaces auxquelles l'utilisateur peut accéder à partir d'un lien d'action pour un lieu. Titres inclus :

  • Applications Web mobiles ou de bureau
  • Applications mobiles via un lien profond vers l'application ou un intent d'application enregistré pour votre domaine

Si le jeton est stocké au niveau de l'utilisateur (voir la section Conserver le jeton), vous devez fournir une attribution multi-appareil. En d'autres termes, un utilisateur qui suit un lien d'action à partir d'un ordinateur, puis finalise une transaction sur mobile (en utilisant le même compte utilisateur) doit déclencher un événement de conversion.

Si le jeton est stocké exclusivement au niveau de l'appareil, par exemple dans des cookies de navigateur, vous n'avez pas à fournir d'attribution multi-appareil. Dans ce cas, chaque appareil est associé à un jeton distinct si l'utilisateur a suivi un lien d'action sur cet appareil, et chaque appareil suit les règles d'attribution séparément.