Suivi des conversions

Avertissement: Veillez à ce que les informations permettant d'identifier personnellement l'utilisateur ne soient pas envoyées à Google dans les données de conversion.

Implémentation

Résumé

La mise en œuvre du suivi des conversions s'effectue en trois étapes:

  • Collecter les valeurs rwg_token et merchant_id à partir de la page de destination ou du point d'entrée de l'application
  • Conserver les valeurs rwg_token et merchant_id pour la période d'attribution appropriée
  • Comparez les valeurs merchant_id et merchant_id persistantes au moment de la conversion (réservation terminée).
  • Envoi d'un événement de conversion au moment de la conversion (réservation terminée).

Pour ce faire, 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éterminer si vous comptez effectuer le suivi des conversions au niveau de l'appareil ou de l'utilisateur:

  • Le niveau de l'appareil inclut l'utilisation des 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 les cookies ou l'espace de stockage local, ou utilise une navigation privée, l'événement de conversion risque de 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 consiste à les conserver 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 les cookies ou l'espace de stockage local, ou utilise le mode navigation privée, l'événement de conversion est toujours attribué une fois que l'utilisateur se reconnecte. Lorsque vous utilisez le suivi des conversions au niveau de l'utilisateur, selon l'architecture de votre système, vous pouvez éventuellement l'implémenter une fois côté serveur et la réutiliser sur toutes les surfaces compatibles.

Collecte de rwg_token...

Chaque fois que Google affiche un lien d'action 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 certaines métadonnées concernant le lien sur lequel l'utilisateur a cliqué, mais aucune donnée utilisateur. Vous devez stocker ce jeton et le transmettre dans l'événement de conversion.

Sur chaque page de destination ou point d'entrée d'application, vous devez analyser la valeur définie pour le paramètre de requête rwg_token et la stocker. Les conditions requises pour stocker 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:

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

Collecte de merchant_id...

Si vous implémentez la logique de suivi des conversions dans l'interface, vous devez implémenter un script personnalisé sur la page de destination afin de rechercher et de capturer la valeur merchant_id. En règle générale, merchant_id peut déjà être présent sur la page de destination ou dans l'URL afin que vous puissiez le capturer à partir de là. Si ce n'est pas le cas, vous devez trouver un moyen de l'exposer quelque part afin qu'il puisse être capturé, ce qui impliquerait probablement des modifications du backend.

Si vous implémentez la logique de suivi des conversions dans le backend, vous pouvez trouver le merchant_id à côté des données qui interrogent votre système interne pour générer la page frontend.

Cet merchant_id doit être identique à celui que vous avez partagé avec Google dans votre flux.

Conserver les éléments rwg_token et merchant_id

Vous devrez conserver le paramètre d'URL rwg_token, qui sera ajouté à tous les liens d'action que vous fournissez, pour une durée totale de 30 jours. La valeur de rwg_token doit être stockée et renvoyée sans aucune modification.

En plus du rwg_token, vous devez stocker le merchant_id associé au lien d'action.

Si un jeton existant est conservé lors d'une visite précédente, les rwg_token et merchant_id précédents doivent être remplacés, et la période de stockage de 30 jours doit être réinitialisée.

Lorsque vous conservez la paire ci-dessus, vous pouvez stocker les valeurs au niveau de l'appareil ou de l'utilisateur:

  • Le niveau de l'appareil inclut l'utilisation des 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 consiste à les conserver 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, avec le stockage de ces valeurs 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 mettre à jour rootdomain.com vers votre domaine.

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

Lorsque vous utilisez le suivi des conversions au niveau de l'utilisateur, rwg_token et merchant_id doivent être stockés sur le serveur et associés à 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, 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 de l'article doit être un objet encodé au format JSON au format suivant:

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

Exemple (marchand inchangé avec le jeton de test pour le partenaire 20123456):

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

La valeur "merchant_changed" permet de déterminer si le marchand a été modifié par rapport au marchand initial de redirection. Vous pouvez transmettre deux valeurs

Valeur de la variation du marchand Prérequis
1 Utilisez cette valeur lorsqu'un utilisateur a quitté le site Web d'origine du marchand et effectué un achat sur votre plate-forme auprès d'un autre marchand.
2 Cette valeur doit être utilisée lorsque le client a effectué une transaction via l'entité d'origine (marchand).

Dans les environnements de bac à sable et de production, vous devez fournir un rwg_token valide lorsque vous envoyez un événement de conversion. À des fins de test, utilisez le jeton de test suivant dans les deux environnements jusqu'au lancement:

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

Pour effectuer un test dans le bac à sable, vous devez ajouter manuellement le paramètre d'URL suivant à vos liens dans le bac à sable:

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

Vous trouverez ci-dessous un exemple complet de suivi des conversions au niveau de l'appareil (utilisation d'un cookie sur l'appareil de l'utilisateur) en JavaScript indiquant comment effectuer cette requête de 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,
      merchant_changed: merchantChanged
    })
  });
}

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 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 imposée par Google pour l'attribution des conversions est une période d'attribution de 30 jours pour toute interaction avec un lien de lieu dans n'importe quel magasin.

Avec cette période d'attribution, Google s'attend à ce qu'un événement de conversion soit envoyé dans l'un des scénarios suivants:

  • Un utilisateur suit un lien d'action pour un lieu et passe commande pour le même marchand dans la même session. (Valeur de variation du marchand = 2 )
  • Un utilisateur suit un lien d'action pour un lieu, puis revient à partir d'un autre canal dans le délai de 30 jours pour passer une commande auprès du même marchand. (Valeur de la variation du marchand = 2)
  • Un utilisateur suit un lien d'action pour un lieu, puis passe commande dans un autre magasin, soit au cours de la même session, soit au cours d'une période de 30 jours. ( Valeur de l'évolution du marchand = 1)

En outre, Google s'attend à ce que les événements de conversion soient envoyés depuis toutes les surfaces auxquelles 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 ou un intent d'application enregistré pour votre domaine

Si le jeton est stocké au niveau de l'utilisateur (voir "Conserver le jeton", vous devez fournir une attribution multi-appareil). 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 de navigateur, vous ne devez pas fournir d'attribution multi-appareil. Dans ce cas, chaque appareil dispose d'un jeton distinct conservé si l'utilisateur a suivi un lien d'action sur cet appareil, et chaque appareil suit les règles d'attribution séparément.