Suivi des conversions

Implémentation

Résumé

La mise en œuvre du suivi des conversions comporte trois éléments:

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

Vous n'avez pas besoin d'utiliser Google Analytics ni aucun code JavaScript tiers pour cette mise en œuvre du suivi des conversions.

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

  • Le niveau de l'appareil inclut l'utilisation des cookies du navigateur, 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 espace de stockage local ou ses cookies, ou utilise une navigation privée, 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 toutes les surfaces compatibles (y compris les mobiles).
  • Le niveau utilisateur inclut la persistance des données 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 ou ses cookies, ou utilise une navigation privée ou un 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 peut-être 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 un lien 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 concernant le lien sur lequel l'utilisateur a cliqué. Vous devez stocker ce jeton et le transmettre dans 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 illustrant comment 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:

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

Collecter les merchant_id

Si vous implémentez la logique de suivi des conversions dans l'interface, sur la page de destination, vous devez implémenter un script personnalisé qui détectera et capturera l'merchant_id. Il est généralement possible que l'élément merchant_id soit déjà 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 trouverez peut-être merchant_id avec les données qui interrogent votre système interne pour générer la page d'interface.

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

Conserver 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 aurez fournis, pendant une durée totale de 30 jours. La valeur de rwg_token doit être stockée et renvoyée sans aucune modification.

Avec le rwg_token, vous devez stocker l'merchant_id associé au lien d'action.

Si un jeton d'une visite précédente est conservé, les valeurs rwg_token et merchant_id antérieures doivent être remplacées, 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 au niveau de l'utilisateur:

  • Le niveau de l'appareil inclut l'utilisation des cookies du navigateur, 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 des données 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 où ces valeurs sont stockées 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 pour qu'il corresponde à 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 + merchant_id 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 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 et avoir le 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 est passé du marchand de redirection initial. Vous pouvez transmettre deux valeurs

Valeur des modifications du marchand Prérequis
1 Utilisez cette valeur lorsqu'un utilisateur a quitté le site Web du marchand d'origine et a effectué un achat via 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==

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

Exigences relatives à l'attribution des conversions

La norme de 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 cas suivants:

  • Un utilisateur suit un lien d'action pour un lieu et passe une commande pour le même marchand au cours de la même session. (Valeur de la variation du marchand = 2)
  • Un utilisateur suit un lien d'action pour un lieu, puis revient via 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 une commande dans un autre magasin, soit au cours de la même session, soit au cours d'une autre session sur une période de 30 jours. ( Valeur de variation du marchand = 1)

De plus, 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 de lieu. dont

  • Applications Web mobiles ou de bureau
  • 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 "Conserver le jeton"), vous devez fournir une attribution multi-appareil. Autrement dit, un utilisateur qui suit un lien d'action à partir d'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 conserve 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.