Étape 3: 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 / du point d'entrée de l'application.
  2. Persistance de l'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 nécessite pas d'utiliser Google Analytics ni tout autre code 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, de stockage local, de stockage local d'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 change d'appareil, vide son stockage local/ses cookies ou utilise la navigation privée ou le mode navigation privée, l'événement de conversion risque de ne pas être attribué correctement. 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 est stocké côté serveur, si l'utilisateur change d'appareil, vide son espace de stockage local/ses cookies ou utilise la navigation privée ou le mode navigation privée, l'événement de conversion sera toujours attribué une fois que l'utilisateur se sera reconnecté. Lorsque vous utilisez le suivi des conversions au niveau de l'utilisateur, en fonction de l'architecture de votre système, vous pouvez l'implémenter une fois côté serveur et le réutiliser sur toutes les surfaces compatibles.

Collecter le 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 allez stocker ce jeton et le renvoyer 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 l'enregistrer. Les exigences de stockage de ce paramètre sont décrites dans l'étape Persistance de l'rwg_token.

Vous trouverez ci-dessous un exemple de 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 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>

Persistance de l'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. Si un jeton existant persiste depuis 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, de stockage local, de stockage local d'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, qui stocke 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 "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.

Envoyer des données de conversion

Lorsqu'un utilisateur effectue une transaction attribuable à un lien Place Action Google, vous devez envoyer une requête HTTP POST au point de terminaison de la conversion. Il existe deux points de terminaison, l'un pour l'environnement de production et l'autre 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. À des fins de test dans l'environnement 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 pour 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 d'attribution des conversions

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

Cette période d'attribution signifie qu'un événement de conversion devrait être envoyé dans l'un des scénarios suivants:

  • Un utilisateur suit un lien d'action de lieu et passe une commande au cours de la même session
  • Un utilisateur suit un lien d'action de lieu, puis revient depuis un autre canal dans les 30 jours pour passer une commande.
  • Un utilisateur suit un lien d'action vers un lieu, puis passe commande dans un autre magasin, soit au cours de la même session, soit au cours d'une autre session dans un délai de 30 jours.

De plus, nous nous attendons à ce que des événements de conversion soient envoyés depuis toutes les plates-formes sur lesquelles un utilisateur peut accéder à partir d'un lien d'action pour un lieu. dont

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

Si le jeton est stocké au niveau de l'utilisateur (voir la section Persistance du jeton), vous devez fournir une attribution inter-appareils. Autrement dit, un utilisateur qui suit un lien d'action depuis un ordinateur de bureau, puis finalise la transaction sur mobile (à l'aide du 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 tenu de fournir une attribution multiappareil. Dans ce cas, un jeton distinct est conservé pour chaque appareil si l'utilisateur a suivi un lien d'action sur cet appareil, et chaque appareil suit les règles d'attribution séparément.