Jetons de réponse

Les jetons de réponse vous permettent de générer automatiquement des informations spécifiques aux Adobe Target sur la page web de votre marque. Ces informations peuvent inclure des détails sur l’activité, l’offre, l’expérience, le profil utilisateur, des informations géographiques, etc. Ces détails fournissent des données de réponse supplémentaires à partager avec des outils internes ou tiers ou à utiliser pour le débogage.

Les jetons de réponse vous permettent de choisir les variables (dans les paires clé-valeur) à utiliser, puis de les autoriser à être envoyées dans le cadre d’une réponse Target. Vous activez une variable à l’aide du commutateur et la variable est envoyée avec des réponses Target, qui peuvent être validées dans les appels réseau. Les jetons de réponse fonctionnent également en mode Preview.

Une différence essentielle entre les plug-ins et les jetons de réponse réside dans le fait que les plug-ins diffusent JavaScript vers la page qui s’exécute lors de la diffusion. Toutefois, les jetons de réponse fournissent un objet qui peut ensuite être lu et sur lequel il est possible d’agir à l’aide d’écouteurs d’événement. L’approche des jetons de réponse est plus sûre et permet un développement et une maintenance plus faciles des intégrations tierces.

NOTE
Les jetons de réponse sont disponibles avec at.js version 1.1 ou ultérieure.
SDK Target
Actions suggérées
SDK web Adobe Experience Platform
Assurez-vous d’utiliser la version 2.6.0 ou ultérieure de Platform Web SDK. Pour plus d’informations sur le téléchargement de la dernière version de Platform Web SDK, consultez Installation de SDK dans le guide Présentation de Platform Web SDK. Pour plus d’informations sur les nouvelles fonctionnalités de chaque version de Platform Web SDK, consultez Notes de mise à jour dans le guide Présentation de Platform Web SDK.
at.js
Assurez-vous que vous utilisez at.js version 1.1 ou ultérieure. Pour plus d’informations sur le téléchargement de la dernière version d’at.js, voir Télécharger at.js. Pour plus d’informations sur les nouvelles fonctionnalités de chaque version d’at.js, voir Informations détaillées sur les versions du fichier at.js.
Les clients utilisant at.js sont encouragés à utiliser les jetons de réponse et à ne plus utiliser les modules externes. Certains plug-ins qui reposent sur des méthodes internes qui existaient dans mbox.js (désormais obsolète), mais pas dans at.js, sont diffusés, mais échouent.

Utilisation de jetons de réponse section_A9E141DDCBA84308926E68D05FD2AC62

  1. Assurez-vous d’utiliser la version 2.6.0 de Platform Web SDK (ou ultérieure) ou la version 1.1 d’at.js (ou ultérieure).

    Pour plus d’informations :

  2. Dans Target, cliquez sur Administration > Response Tokens.

  3. Activez les jetons de réponse souhaités, tels que activity.id et offer.id.

    Les paramètres suivants sont disponibles par défaut :

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 11-row-3 12-row-3 13-row-3
    Type Paramètre Remarques
    Profils intégrés profile.activeActivities Renvoie une multitude de activityIds pour lesquels le visiteur est qualifié. Elle s’incrémente lorsque les utilisateurs sont qualifiés. Par exemple, sur une page comportant deux requêtes Target fournissant deux activités différentes, la seconde requête inclut les deux activités.
    profile.isFirstSession Renvoie « true » ou « false ».
    profile.isNewSession Renvoie « true » ou « false ».
    profile.daysSinceLastVisit Renvoie le nombre de jours depuis la dernière visite du visiteur.
    profile.tntId Renvoie le tntID du visiteur.
    profile.marketingCloudVisitorId Renvoie l’identifiant visiteur Experience Cloud du visiteur.
    profile.thirdPartyId Renvoie l’identifiant tiers du visiteur.
    profile.categoryAffinity Renvoie la catégorie préférée du visiteur.
    profile.categoryAffinities Renvoie un tableau des 5 catégories favorites du visiteur sous la forme de chaînes.
    Activité activity.name
    activity.id
    experience.name
    experience.id
    offer.name
    offer.id
    Détails de l’activité courante.
    Notez que les valeurs des paramètres d’offre sont évaluées au niveau de l’expérience.
    Géo geo.country
    geo.state
    geo.city
    geo.zip
    geo.dma
    geo.domainName
    geo.ispName
    geo.connectionSpeed
    geo.mobileCarrier
    Pour plus d’informations sur l’utilisation du géociblage dans les activités, voir Géociblage.
    Méthode d’affectation du trafic
    (s’applique uniquement aux activités Auto-Target et Automated Personalization.)
    experience.trafficAllocationId Renvoie 0 si un visiteur a bénéficié d’une expérience en se trouvant dans le trafic « de contrôle » et 1 si un visiteur a bénéficié d’une expérience dans la distribution du trafic « ciblé ».
    experience.trafficAllocationType Renvoie « contrôle » ou « ciblé ».

    Les attributs de profil utilisateur et les attributs du client s’affichent également dans la liste.

    note note
    NOTE
    Les paramètres dotés de caractères spéciaux ne s’affichent pas dans la liste. Seuls les caractères alphanumériques et les traits de soulignement sont pris en charge.
  4. (Conditionnel) Pour utiliser un paramètre de profil comme jeton de réponse, mais comme le paramètre n’a pas été transmis par une requête Target et n’a donc pas été chargé dans l’interface utilisateur de Target, vous pouvez utiliser le bouton Add Response Token pour ajouter le profil à l’interface utilisateur.

    Cliquez sur Add Response Token, indiquez le nom du jeton, puis cliquez sur Activate.

  5. Créez une activité.

Écoute des réponses et lecture des jetons de réponse

Le processus que vous utilisez pour écouter les réponses Target et lire les jetons de réponse diffère selon que vous disposez d’une implémentation Platform Web SDK ou at.js.

Badge Adobe Experience Platform Web SDK Platform Web SDK à l’aide de la classe d’objet Handle platform-web-sdk

Utilisez la classe d’objet Handle , qui comporte un objet de métadonnées et un objet de données pour écouter les réponses Target et lire les jetons de réponse.

L’exemple de réponse suivant ajoute un gestionnaire d’événements personnalisé Platform Web SDK directement à la page HTML (le tableau explique les objets utilisés dans le code) :

Objet
Informations
Type - Personalization.decision
Si la décision a été prise par le Target ou le fournisseur d’Offer decisioning.
DecisionProvider - TGT
TGT-Target. Target fournit les métadonnées et les valeurs du jeton de réponse à la page.
Méta
Métadonnées transmises à la page.
Données
Valeurs des métadonnées transmises à la page.
<html>

<head>
 ...
 <script src="alloy.js"></script>
 <script>
  {
   "requestId": "4d0a7cfd-952c-408c-b3b8-438edc38250a",
   "handle": [{
    "type": "personalization:decisions",
    "payload": [{
     "id": "....",
     "scope": "__view__",
     "scopeDetails": {
      "decisionProvider": "TGT",
      "activity": {
       "id": "..."
      },
      "experience": {
       "id": "...."
      }
     },
     "items": [{
      "id": "123",
      "schema": "https://ns.adobe.com/personalization/dom-action",
      "meta": {
       "activity.id": "...",
       "activity.name": "...",
       "profile.foo": "...",
       "profile.bar": "..."
      },
      "data": {
       "id": "123",
       "type": "setHtml",
       "selector": "#foo",
       "prehidingSelector": "#foo",
       "content": "<div>Hello world</div>"
      }
     }]
    }]
   }]
  }
  });
 </script>
</head>

<body>
 ...
</body>

</html>

badge at.js at.js avec des événements personnalisés

Utilisez des événements personnalisés at.js pour écouter la réponse Target et lire les jetons de réponse.

L’échantillon de code suivant ajoute un gestionnaire d’événements personnalisés at.js directement dans la page HTML :

<html>
  <head>
    ....
    <script src="at.js"></script>
    <script>
      document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) {
        console.log("Request succeeded", e.detail);
      });
    </script>
  <head>
  <body>
  ...
  </body>
</html>

Questions fréquentes sur les jetons de réponse section_3DD5F32C668246289CDF9B4CDE1F536D

Quel rôle est requis pour activer ou désactiver les jetons de réponse ?

Les jetons de réponse ne peuvent être activés ou désactivés que par les utilisateurs dotés du rôle Target Administrator .

Que se passe-t-il si j’exécute Platform Web SDK 2.6.0 (ou une version antérieure) ?

Vous n’avez pas accès aux jetons de réponse.

Que se passe-t-il si j’exécute at.js 1.0 (ou version antérieure) ?

Les jetons de réponse s’affichent, mais at.js ne peut pas les utiliser.

Puis-je avoir à la fois Target Classic modules externes et des jetons de réponse actifs en même temps ?

Les plug-ins et les jetons de réponse sont disponibles en parallèle. Cependant, les plug-ins seront abandonnés à l’avenir.

Les jetons de réponse sont-ils délivrés par le biais de toutes les réponses Target ou uniquement par le biais de réponses Target délivrant une activité ?

Les jetons de réponse ne sont délivrés que par le biais de réponses Target qui diffusent une activité.

Mon plug-in Target Classic incluait JavaScript. Comment puis-je reproduire ses fonctionnalités à l’aide des jetons de réponse ?

Lors de la migration vers des jetons de réponse, ce type de JavaScript doit être conservé dans votre base de code ou votre solution de gestion des balises. Vous pouvez déclencher ce code à l’aide d’événements personnalisés Platform Web SDK ou at.js et transmettre les valeurs du jeton de réponse à vos fonctions JavaScript.

Pourquoi mon paramètre d’attribut de profil/client ne s’affiche-t-il pas dans la liste des jetons de réponse ?

Target actualise normalement les paramètres toutes les 15 minutes. Cette actualisation dépend de l’action de l’utilisateur et les données sont actualisées uniquement lorsque vous affichez la page des jetons de réponse. Si vos paramètres ne s’affichent pas dans la liste des jetons de réponse, Target n’a pas encore actualisé les données.

En outre, si votre paramètre ne contient pas de caractères non alphanumériques ou de symboles autres que des traits de soulignement, il n’apparaît pas dans la liste. Actuellement, seuls les caractères alphanumériques et les traits de soulignement sont pris en charge.

Le jeton de réponse diffuse-t-il toujours du contenu s’il utilise un script de profil supprimé ou un paramètre de profil ?

Les jetons de réponse extraient des informations des profils utilisateur, puis diffusent ces informations. Si vous supprimez un script ou un paramètre de profil, cela ne signifie pas que les informations ont été supprimées des profils utilisateur. Les profils utilisateur contiennent toujours des données correspondant au script de profil. Le jeton de réponse continue à diffuser le contenu. Pour les utilisateurs et utilisatrices qui n’ont pas ces informations enregistrées dans leurs profils, ou pour les nouveaux visiteurs et visiteuses, ce jeton n’est pas diffusé, car les données ne sont pas présentes dans leurs profils.

Target ne désactive pas automatiquement le jeton. Si vous supprimez un script de profil et que vous ne voulez plus que le jeton soit diffusé, vous devez le désactiver vous-même.

J’ai renommé mon script de profil, mais pourquoi le jeton utilisant ce script est-il toujours actif avec l’ancien nom ?

Comme mentionné ci-dessus, les jetons de réponse fonctionnent selon les informations de profil enregistrées pour les utilisateurs. Même si vous avez renommé votre script de profil, la valeur de l’ancien script de profil est enregistrée dans les profils des utilisateurs qui ont visité votre site Web. Le jeton continue à récupérer l’ancienne valeur déjà enregistrée dans les profils utilisateur. Si vous voulez maintenant diffuser du contenu sur le nouveau nom, vous devez désactiver le jeton précédent et activer le nouveau jeton.

Si mes attributs ont changé, quand seront-ils supprimés de la liste ?

Target actualise les attributs à intervalles réguliers. Tout attribut qui n’est pas activé est supprimé lors de la prochaine actualisation. Cependant, si vous avez un attribut qui a été activé et supprimé, ce script n’est pas supprimé de la liste des attributs tant que vous ne le désactivez pas. Par exemple, vous avez supprimé un script de profil utilisé comme jeton. Target supprime uniquement les attributs activés de la liste lorsqu’ils sont supprimés ou renommés.

Envoi de données aux Google Analytics

Les sections suivantes décrivent comment envoyer des données Target aux Google Analytics 4. Les données envoyées par les jetons de réponse peuvent également être envoyées à d’autres intégrations tierces.

Badge AEP Envoi de données aux Google Analytics via Platform Web SDK

Il est possible d’envoyer des données aux Google Analytics via la version 2.6.0 (ou ultérieure) de Platform Web SDK en ajoutant le code suivant dans la page d’HTML.

NOTE
Assurez-vous que la paire clé-valeur du jeton de réponse se trouve sous l’objet alloy("sendEvent" .
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script type="text/javascript">
    alloy("sendEvent", {


    })
    .then(({ renderedPropositions, nonRenderedPropositions }) => {
        // concatenate all the propositions
        const propositions = [...renderedPropositions, ...nonRenderedPropositions];
        // extractResponseTokens() extract the meta from item -> meta
        const tokens = extractResponseTokens(propositions);
        const activityNames = [];
        const experienceNames = [];
        const uniqueTokens = distinct(tokens);


        uniqueTokens.forEach(token => {
            activityNames.push(token["activity.name"]);
            experienceNames.push(token["experience.name"]);
        });

        gtag('config', 'TAG_ID');
        gtag('event', 'action_name', {'eventCategory': 'target',
            'eventAction': experienceNames, 'eventLabel': activityNames
        });
    });
</script>

badge at.js Envoi de données aux Google Analytics via at.js section_04AA830826D94D4EBEC741B7C4F86156

Vous pouvez envoyer des données à Google Analytics par l’intermédiaire d’at.js en ajoutant le code suivant à la page HTML :

<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>

<script type="text/javascript">
    document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) {
        var tokens = e.detail.responseTokens;

        if (isEmpty(tokens)) {
            return;
        }

        var activityNames = [];
        var experienceNames = [];
        var uniqueTokens = distinct(tokens);

        uniqueTokens.forEach(function(token) {
            activityNames.push(token["activity.name"]);
            experienceNames.push(token["experience.name"]);
        });

        gtag('config', 'TAG_ID');
        gtag('event', 'action_name', {'eventCategory': 'target',
            'eventAction': experienceNames, 'eventLabel': activityNames
        });
    });

    function isEmpty(val) {
        return (val === undefined || val == null || val.length <= 0) ? true : false;
    }

    function key(obj) {
        return Object.keys(obj)
        .map(function(k) { return k + "" + obj[k]; })
        .join("");
    }

    function distinct(arr) {
        var result = arr.reduce(function(acc, e) {
            acc[key(e)] = e;
            return acc;
        }, {});

        return Object.keys(result)
        .map(function(k) { return result[k]; });
    }
</script>

Débogage

Les sections suivantes fournissent des informations sur le débogage des jetons de réponse :

badge at.js Google Analytics et débogage

Le code suivant permet de déboguer à l’aide de Google Analytics :

<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>

<script type="text/javascript">
    document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function(e) {
      var tokens = e.detail.responseTokens;

      if (isEmpty(tokens)) {
        return;
      }

      var activityNames = [];
      var experienceNames = [];
      var uniqueTokens = distinct(tokens);

      uniqueTokens.forEach(function(token) {
        activityNames.push(token["activity.name"]);
        experienceNames.push(token["experience.name"]);
      });

      gtag('config', 'TAG_ID');
      gtag('event', 'action_name', {'eventCategory': 'target',
          'eventAction': experienceNames, 'eventLabel': activityNames
      });
    });

    function isEmpty(val) {
      return (val === undefined || val == null || val.length <= 0) ? true : false;
    }

    function key(obj) {
       return Object.keys(obj)
      .map(function(k) { return k + "" + obj[k]; })
      .join("");
    }

    function distinct(arr) {
      var result = arr.reduce(function(acc, e) {
        acc[key(e)] = e;
        return acc;
      }, {});

      return Object.keys(result)
      .map(function(k) { return result[k]; });
    }
</script>

Débogage à l’aide de l’équivalent du plug-in ttMeta

Vous pouvez créer l’équivalent du module externe ttMeta à des fins de débogage en ajoutant le code suivant à la page HTML :

<script type="text/javascript" >
  document.addEventListener(adobe.target.event.REQUEST_SUCCEEDED, function (e) {
    window.ttMETA= typeof(window.ttMETA)!="undefined" ? window.ttMETA : [];

    var tokens=e.detail.responseTokens;

    if (isEmpty(tokens)) {
      return;
    }

    var uniqueTokens = distinct(tokens);

    uniqueTokens.forEach(function(token) {
      window.ttMETA.push({
        'CampaignName': token["activity.name"],
        'CampaignId' : token["activity.id"],
        'RecipeName': token["experience.name"],
        'RecipeId': token["experience.id"],
        'OfferId': token["offer.id"],
        'OfferName': token["offer.name"],
        'MboxName': e.detail.mbox});
      console.log(ttMETA);
    });
  });

  function isEmpty(val){
    return (val === undefined || val == null || val.length <= 0) ? true : false;
  }

  function key(obj) {
     return Object.keys(obj)
    .map(function(k) { return k + "" + obj[k]; })
    .join("");
  }

  function distinct(arr) {
    var result = arr.reduce(function(acc, e) {
      acc[key(e)] = e;
      return acc;
    }, {});

    return Object.keys(result)
    .map(function(k) { return result[k]; });
  }
</script>

Vidéo de formation at.js : jetons de réponse et événements personnalisés at.js section_3AA0A6C8DBD94A528337A2525E3E05D5

La vidéo suivante explique comment utiliser les jetons de réponse et les événements personnalisés at.js pour partager des informations de profil de Target vers des systèmes tiers.

NOTE
L’interface utilisateur du menu Target Administration (anciennement Setup) a été repensée afin d’améliorer les performances, de réduire le temps de maintenance requis lors de la publication de nouvelles fonctionnalités et d’améliorer l’expérience utilisateur. Les informations de la vidéo suivante sont correctes. Toutefois, les options se trouvent à des emplacements légèrement différents.
La vidéo mentionne option.name et option.id, qui ont été remplacées par offer.name et offer.id, respectivement.
recommendation-more-help
3d9ad939-5908-4b30-aac1-a4ad253cd654