Suivi des conversions

Implémentation

Résumé

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

  1. Collecter le rwg_token à partir de la page de destination ou du point d'entrée de l'application.
  2. Persistance de rwg_token pour la période d'attribution appropriée
  3. Envoyer un événement de conversion au moment du règlement

Cette implémentation du suivi des conversions ne vous oblige pas à utiliser Google Analytics ni aucun autre JavaScript tiers.

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

  • Le niveau de l'appareil inclut l'utilisation de cookies de navigateur, du stockage local, du stockage local de l'application ou de toute autre méthode permettant de 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 change d'appareil, efface son stockage local/ses cookies ou utilise le mode navigation privée ou incognito, il est possible que l'événement de conversion ne soit pas correctement attribué. Lorsque vous utilisez le suivi des conversions au niveau de l'appareil, vous devez le réimplémenter sur chaque surface compatible (y compris sur mobile).
  • 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 est stocké côté serveur, si l'utilisateur change d'appareil, efface son stockage local/ses cookies ou utilise la navigation privée ou le mode incognito, l'événement de conversion sera toujours attribué une fois que l'utilisateur se reconnectera. Lorsque vous utilisez le suivi des conversions au niveau de l'utilisateur, vous pouvez, selon l'architecture de votre système, l'implémenter une seule fois côté serveur et le réutiliser sur toutes les surfaces compatibles.

Collecter les rwg_token

Chaque fois que Google affiche une action_link que vous avez fournie 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 stockerez ce jeton et le renverrez 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 concernant le stockage de ce paramètre sont décrites dans l'étape Persister rwg_token.

Vous trouverez ci-dessous un exemple de la façon dont ce jeton peut être analysé pour le suivi au niveau de l'appareil via le navigateur. Vous pouvez également collecter ce jeton côté serveur lors de la réponse à 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>

Persister le rwg_token

Vous devrez conserver le paramètre d'URL rwg_token, qui sera ajouté à tous les liens d'action que vous fournissez, pendant une durée totale de 30 jours. La valeur de rwg_token doit être stockée et renvoyée sans aucune modification. S'il existe un jeton persistant d'une visite précédente, l'ancien jeton doit être remplacé et la période de stockage de 30 jours doit être réinitialisée.

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

  • Le niveau de l'appareil inclut l'utilisation de cookies de navigateur, du stockage local, du stockage local de l'application ou de toute autre méthode permettant de 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, qui stocke ce jeton dans un navigateur Web à l'aide d'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 "rootdomain" 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, le rwg_token doit être stocké sur le serveur et associé à l'utilisateur.

Envoi des données de conversion

Lorsqu'un utilisateur effectue une transaction attribuable à un lien Google Place Action, vous devez envoyer une requête HTTP POST au point de terminaison de conversion. Il existe 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 :

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

Dans les environnements de bac à sable et de production, vous devrez fournir un rwg_token valide lorsque vous enverrez un événement de conversion. Pour effectuer des tests dans l'environnement de bac à sable, vous pouvez utiliser le jeton de test suivant.

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

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, qui montre comment effectuer cette requête POST :

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 et envoyer le jeton à l'aide des mêmes points de terminaison de production ou de bac à sable.

Exigences concernant l'attribution des conversions

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

Cette période de suivi de l'attribution signifie que nous nous attendons à ce qu'un événement de conversion soit envoyé dans l'un des scénarios suivants :

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

De plus, nous nous attendons à ce que les événements de conversion soient envoyés depuis toutes les surfaces sur lesquelles un utilisateur peut arriver à partir d'un lien d'action liée à un lieu. dont

  • Applications Web pour ordinateur ou mobile
  • Applications mobiles, soit via un lien profond d'application, soit via un intent d'application enregistré pour votre domaine

Si le jeton est stocké au niveau de l'utilisateur (voir Persister le jeton), vous devez fournir une attribution multi-appareils. Autrement dit, un utilisateur qui suit un lien d'action depuis un ordinateur, puis effectue la transaction sur mobile (avec 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 les cookies du navigateur, vous n'êtes pas censé fournir d'attribution cross-device. Dans ce cas, chaque appareil disposerait d'un jeton distinct conservé si l'utilisateur avait suivi un lien d'action sur cet appareil, et chaque appareil suivrait les règles d'attribution séparément.