Utilisation de fragments dynamiques dynamic-fragments

Sur cette page : découvrez comment utiliser la résolution de fragment dynamique dans Adobe Journey Optimizer pour sélectionner le fragment publié à injecter dans un message au moment de l’exécution, en fonction des attributs de profil, des recherches de jeux de données ou des données contextuelles transmises au moment de l’envoi.

Adobe Journey Optimizer prend en charge la résolution de fragment dynamique au moment de l’exécution, ce qui vous permet de sélectionner le fragment publié à injecter dans un message, en fonction des attributs de profil, des recherches de jeux de données ou des données contextuelles transmises au moment de l’envoi. Cela permet d’obtenir du contenu hautement personnalisé sans dupliquer la logique de campagne ou de parcours.

Vue d’ensemble overview

Les fragments statiques sont incorporés dans un message au moment de la conception ; le même fragment est utilisé pour tous les destinataires. Les fragments dynamiques résolvent l’ID de fragment au moment de l’exécution par destinataire, ce qui signifie que différents profils peuvent recevoir des blocs de contenu entièrement différents dans la même campagne ou le même parcours.

Les ID de fragments dynamiques peuvent provenir de trois sources différentes :

  • Une recherche de jeu de données : par exemple, un jeu de données de recommandations indexé par style ou produit.
  • Un attribut de profil stocké dans Adobe Experience Platform.
  • Des données contextuelles transmises directement dans la demande d’API au moment de l’envoi.
NOTE
Pour l’instant, seul un nombre limité de clients et clientes peut utiliser la fonction d’assistance datasetLookup dans les fragments d’expression. Pour en bénéficier, contactez votre représentant ou représentante Adobe.

Conditions préalables prerequisites

Avant d’utiliser des fragments dynamiques, vérifiez ce qui suit :

  • Vous disposez des autorisations requises pour créer et publier des fragments dans Journey Optimizer. En savoir plus
  • Le fragment que vous souhaitez référencer est publié (statut : En ligne). Les brouillons de fragments ne peuvent pas être résolus au moment de l’exécution.
  • Si vous résolvez l’ID de fragment à partir d’un jeu de données, le schéma du jeu de données inclut un champ qui stocke l’ID de fragment, et le jeu de données est activé pour la recherche.
  • Tous les attributs de profil auxquels le fragment dynamique lui-même fait référence sont inclus dans le chemin d’export du message ou sont disponibles dans le profil au moment de l’envoi.
CAUTION
Les validations liées aux fragments sont ignorées dans le flux de fragment dynamique. Les ID de fragment non valides apparaissent comme des échecs de diffusion lors de l’exécution plutôt que comme des erreurs de validation initiale. Vérifiez toujours que les ID de fragment référencés sont valides et publiés avant d’activer une campagne.

Étape 1 : créer et publier le fragment create-fragment

Avant de référencer un fragment de manière dynamique, il doit être publié dans Journey Optimizer.

  1. Dans Journey Optimizer, accédez à Gestion de contenu > Fragments.

  2. Sélectionnez Créer un fragment et créez le contenu. Découvrez comment créer des fragments.

  3. Lorsque le contenu est prêt, cliquez sur Publier. La publication est asynchrone et peut prendre quelques secondes. Vérifiez que le fragment passe à l’état actif avant de continuer.

  4. Notez l’ID de fragment dans la vue des détails du fragment ou dans la réponse de l’API Fragments. Vous référencerez cet ID dans le message.

NOTE
Vous pouvez récupérer tous les ID de fragment publiés par programmation à l’aide de l’API GET /fragments. Pour plus d’informations, consultez la documentation sur les API de Journey Optimizer.

Étape 2 : créer le message avec une référence de fragment dynamique author-message

Dans l’éditeur de personnalisation, insérez l’espace réservé du fragment dynamique en utilisant la syntaxe suivante :

{{fragment id=dynamic_fragment_id}}

L’identifiant dynamic_fragment_id est un nom de variable. Sa valeur doit être résolue avant que la recherche de fragment ne soit effectuée. Vous la résolvez à l’aide d’une expression de recherche de jeu de données, d’un attribut de profil ou de données contextuelles.

Résolution à partir d’une recherche de jeu de données resolve-from-dataset

Si l’ID du fragment est stocké dans un jeu de données AEP (par exemple, une table de mappage style-à-fragment), utilisez la fonction d’assistance datasetLookup pour le résoudre :

{{
  {datasetLookup datasetId="<your-dataset-id>" key=profile.style attribute="fragmentId"}
}}

{{fragment id=dynamic_fragment_id}}

Dans cet exemple, le jeu de données contient des lignes indexées par une valeur de style (telle que style1). Pour un profil donné, la recherche récupère la valeur de la colonne fragmentId correspondante et l’attribue à dynamic_fragment_id, qui est ensuite utilisé pour résoudre le fragment.

NOTE
Pour l’instant, seul un nombre limité de clients et de clientes peuvent utiliser la fonction d’assistance datasetLookup dans les fragments d’expression. Pour en bénéficier, contactez votre représentant ou représentante Adobe. Pour plus d’informations sur les recherches de jeux de données dans la personnalisation, consultez Utilisation des données Adobe Experience Platform.

Résolution à partir de données contextuelles resolve-from-context

Si l’ID de fragment est fourni au moment de l’envoi dans le contexte de la demande d’API, référencez-le à l’aide de l’espace de noms context :

{{fragment id=context.audiencePayload.fragmentId}}

Le chemin context.audiencePayload est le préfixe requis pour tous les attributs provenant d’un fichier d’audience CSV ou transmis via le contexte de la demande d’API. Le nom de la colonne du fichier CSV (par exemple, fragmentId) suit le préfixe.

Résolution à partir d’un attribut de profil resolve-from-profile

Si l’ID du fragment est stocké en tant qu’attribut de profil dans Adobe Experience Platform, référencez-le directement :

{{fragment id=profile.mi.fragmentId}}

Étape 3 : configurer le jeu de données pour l’approche de recherche configure-dataset

Si vous utilisez l’approche de recherche de jeu de données, mettez à jour le schéma et les données du jeu de données pour qu’ils contiennent l’ID du fragment.

  1. Dans votre jeu de données de recommandations ou de mappage, ajoutez une colonne (par exemple, fragmentId) qui stocke l’ID du fragment AJO publié pour chaque ligne.

  2. Pour chaque style ou variante (par exemple, style1, style2), renseignez la colonne fragmentId avec l’ID de fragment correspondant.

  3. Assurez-vous que le jeu de données est ingéré dans Adobe Experience Platform et activé pour la recherche.

  4. Vérifiez que tous les attributs de profil référencés dans le fragment dynamique sont capturés dans le message ou dans un fragment statique afin d’empêcher tout rendu vide au moment de l’export.

Exemple de structure de jeu de données :

Colonne
Exemple de valeur
style
style1
fragmentId
<fragment-id-1>
style
style2
fragmentId
<fragment-id-2>

Étape 4 : transmettre les données contextuelles au moment de l’envoi pass-context-data

Si vous résolvez l’ID de fragment à partir des données contextuelles (par exemple, à partir d’un fichier de recommandation d’audience CSV), transmettez l’ID de fragment dans la demande d’API sous le préfixe de contexte requis.

Lors de l’utilisation de l’API de relecture de campagne, incluez l’ID du fragment dans l’objet context :

{
  "recipients": [
    {
      "userId": "<profile-email>",
      "namespace": "email"
    }
  ],
  "inChannelData": {
    "channel": "email",
    "emailAddresses": ["<delivery-address>"]
  },
  "context": {
    "audiencePayload": {
      "fragmentId": "<published-fragment-id>",
      "systemSource": "<optional-system-value>"
    }
  }
}

Le préfixe context.audiencePayload est requis. Les attributs imbriqués sous cette clé sont directement associés aux colonnes du fichier d’audience CSV lors de l’exécution de la campagne active.

Étape 5 : vérifier et valider proof-validate

Avant d’activer la campagne, utilisez l’API de relecture de campagne pour vérifier que le fragment dynamique est correctement résolu et que la sortie d’e-mail générée est correcte.

  1. Déclenchez le traitement d’un BAT à l’aide du point d’entrée POST /campaigns/{id}/proofs. Dans la demande de BAT, transmettez l’ID de fragment à tester sous context.audiencePayload.fragmentId.

  2. Interrogez le statut du traitement du BAT à l’aide du point d’entrée GET /campaigns/{id}/proofs/{proofId} jusqu’à ce que le statut soit {1}Submitted ou Failed.

  3. Vérifiez l’e-mail diffusé pour vous assurer que le contenu du fragment approprié s’affiche correctement.

  4. Si le contenu du fragment est manquant ou incorrect, vérifiez que l’ID du fragment est valide, que le fragment est publié et que tous les attributs de profil requis sont présents.

Pour plus d’informations sur l’API de campagne, consultez la documentation relative aux API Journey Optimizer.

Mécanismes de sécurisation et limites guardrails

CAUTION
Le contrôle d’accès au niveau de l’objet (OLAC) n’est pas appliqué pour les fragments dans le modèle de fragment dynamique. Assurez-vous que vos exigences de contrôle d’accès sont prises en compte au niveau de la campagne et de l’audience.

Les restrictions suivantes s’appliquent lors de l’utilisation de fragments dynamiques :

  • Couverture des attributs de profil au moment de l’exportation : le fragment est sélectionné au moment de l’exécution par profil. Les attributs de profil requis par le fragment dynamique ne sont pas connus à l’avance. Si le fragment dynamique repose sur un attribut de profil qui n’était pas présent dans le message d’origine ou dans tout fragment statique référencé dans le message, ce champ peut devenir vide dans le chemin d’export.

  • Aucune validation de fragment initiale : les validations liées aux fragments sont ignorées dans ce flux. Les ID de fragment incorrects ou dépubliés apparaissent comme des échecs de diffusion lors de l’exécution plutôt que comme des erreurs de validation affichées dans l’interface d’utilisation.

  • Modification du schéma requise pour l’approche par jeu de données : l’utilisation du chemin de recherche par ID nécessite la mise à jour du schéma du jeu de données pour stocker et transmettre l’ID du fragment, ainsi que la configuration des mécanismes nécessaires pour l’intégrer au pipeline de messages.

  • Collecte d’attributs pour l’export : assurez-vous que tous les attributs utilisés dans le fragment dynamique sont inclus dans le message ou dans des fragments statiques pour empêcher un rendu vide dans le chemin d’export.

D’autres mécanismes de sécurisation s’appliquant aux fragments sont disponibles dans cette section.

Traitement des erreurs error-handling

Si la résolution d’un fragment dynamique échoue au moment de l’exécution, un événement d’exclusion est généré pour le profil affecté. Actuellement, tous les échecs de rendu de fragment sont classés comme un type d’erreur globale unique.

Pour déboguer les échecs de résolution de fragment :

  1. Vérifiez les rapports de diffusion de la campagne pour les événements d’exclusion.
  2. Vérifiez que l’ID de fragment transmis au moment de l’exécution correspond à un fragment publié.
  3. Vérifiez que tous les attributs de profil requis par le fragment sont présents dans le profil au moment de l’envoi.
  4. Utilisez l’API de relecture pour tester des identifiants de fragment spécifiques avant d’activer la campagne.
recommendation-more-help
journey-optimizer-help