Itérer sur les données contextuelles personalization-contexts
Découvrez comment utiliser la syntaxe d’itération Handlebars pour afficher des listes dynamiques de données provenant de diverses sources dans vos messages, y compris les événements, les réponses d’action personnalisée et d’autres données contextuelles.
Vue d’ensemble overview
Journey Optimizer permet d’accéder aux données contextuelles provenant de plusieurs sources lors de la personnalisation des messages. Vous pouvez effectuer une itération sur des tableaux à partir de ces sources à l’aide de la syntaxe Handlebars dans les canaux natifs (e-mail, push, SMS) pour afficher du contenu dynamique tel que des listes de produits, des recommandations ou d’autres éléments répétés.
Sources de contexte disponibles :
- Événements : données issues d'événements de parcours (événements métier, événements unitaires)
- Réponses à une action personnalisée : données renvoyées par des appels API externes via des actions personnalisées
- Recherche de jeu de données : données enrichies extraites de jeux de données Adobe Experience Platform
- Propriétés techniques : métadonnées de Parcours telles que l’identifiant du parcours et les identifiants supplémentaires
- Parcours context : autres données relatives au parcours accessibles lors de l'exécution.
Ce guide vous explique comment effectuer une itération sur des tableaux à partir de chacune de ces sources dans vos messages et comment utiliser des tableaux lors de la configuration des activités de parcours. Commencez par Syntaxe d’itération Handlebars pour comprendre les principes de base de la personnalisation des messages, ou passez à Utiliser des tableaux dans des expressions de Parcours pour savoir comment transmettre des données de tableau à des actions personnalisées et à des recherches de jeux de données.
Syntaxe de l’itération Handlebars syntax
Handlebars fournit la {{#each}} helper pour effectuer une itération sur des tableaux. La syntaxe de base est :
Points clés :
- Remplacez
arrayPathpar le chemin d’accès aux données de votre tableau - Remplacez
itempar le nom de variable de votre choix (par exempleproduct,response,element). - Accès aux propriétés de chaque élément à l’aide de
{{item.propertyName}} - Vous pouvez imbriquer plusieurs blocs de
{{#each}}pour des tableaux à plusieurs niveaux
Itérer sur les données d’événement event-data
Les données d’événement sont disponibles lorsque votre parcours est déclenché par un événement . Cela s’avère utile pour afficher les données capturées au moment du démarrage du parcours, telles que le contenu du panier, les éléments de commande ou les envois de formulaire.
Chemin d’accès au contexte pour les événements
<event_ID>: ID unique de votre événement tel que configuré dans le parcours<fieldPath>: chemin d’accès au champ ou au tableau dans votre schéma d’événement
Exemple : éléments du panier d’un événement
Si votre schéma d’événement comprend un tableau productListItems (format XDM standard), vous pouvez afficher le contenu du panier comme décrit dans l’exemple ci-dessous.
| code language-handlebars |
|---|
|
Exemple : tableaux imbriqués dans des événements
Pour les structures imbriquées, utilisez des blocs de {{#each}} imbriqués.
| code language-handlebars |
|---|
|
En savoir plus sur l’imbrication dans Bonnes pratiques .
Effectuer une itération sur les réponses d’action personnalisées custom-action-responses
Action personnalisée les réponses contiennent des données renvoyées par des appels API externes. Cela s’avère utile pour afficher des informations en temps réel sur vos systèmes, telles que les points de fidélité, les recommandations de produits, le statut de l’inventaire ou les offres personnalisées.
Chemin d’accès au contexte pour les actions personnalisées
<actionName>: nom de votre action personnalisée tel que configuré dans le parcours<fieldPath>: chemin d’accès au champ ou au tableau dans la payload de réponse
Exemple : recommandations de produit à partir d’une API
Pour effectuer une itération sur un tableau de recommandations de produits renvoyées par une action personnalisée et les afficher en tant que cartes individuelles dans votre message, consultez l’exemple ci-dessous.
Réponse de l’API :
| code language-json |
|---|
|
Personnalisation des messages :
| code language-handlebars |
|---|
|
Exemple : tableaux imbriqués à partir d’actions personnalisées
Pour effectuer une itération sur une réponse d’action personnalisée contenant des tableaux imbriqués (un tableau d’objets, où chaque objet contient un autre tableau), consultez l’exemple ci-dessous. Cela illustre l’utilisation de boucles de {{#each}} imbriquées pour accéder à plusieurs niveaux de données.
Réponse de l’API :
| code language-json |
|---|
|
Personnalisation des messages :
| code language-handlebars |
|---|
|
Pour des modèles d’imbrication plus complexes, consultez Bonnes pratiques.
Exemple : avantages du niveau de fidélité
Pour afficher les avantages dynamiques en fonction du statut de fidélité, reportez-vous à l’exemple ci-dessous.
Réponse de l’API :
| code language-json |
|---|
|
Personnalisation des messages :
| code language-handlebars |
|---|
|
Itérer sur les résultats de la recherche de jeu de données dataset-lookup
L’activité Recherche de jeu de données vous permet de récupérer des données de jeux de données Adobe Experience Platform pendant l’exécution du parcours. Les données enrichies sont stockées sous la forme d’un tableau et peuvent être itérées dans vos messages.
En savoir plus sur la configuration de l’activité de recherche de jeu de données dans cette section. La recherche de jeux de données est particulièrement puissante lorsqu’elle est combinée avec des données d’événement. Voir Exemple : données d’événement enrichies par la recherche de jeux de données pour un cas d’utilisation pratique.
Chemin d’accès au contexte pour les recherches de jeux de données
<activityID>: identifiant unique de votre activité de recherche de jeu de donnéesentities: tableau de données enrichies extraites du jeu de données
Exemple : détails du produit d’un jeu de données
Si vous utilisez une activité de recherche de jeu de données pour récupérer des informations de produit en fonction des SKU, consultez l’exemple ci-dessous.
Configuration de la recherche de jeu de données:
- Clés de recherche :
list(@event{purchase_event.products.sku}) - Champs à renvoyer :
["SKU", "category", "price", "name"]
Personnalisation des messages :
| code language-handlebars |
|---|
|
Exemple : itération filtrée avec des données de jeu de données
Pour filtrer les résultats de la recherche de jeux de données lors de l’itération et afficher uniquement les éléments correspondant à des critères spécifiques (par exemple, les produits d’une catégorie particulière), utilisez des instructions de {{#if}} conditionnel dans votre boucle de {{#each}}. Voir l’exemple ci-dessous.
| code language-handlebars |
|---|
|
En savoir plus sur le filtrage conditionnel dans Bonnes pratiques .
Exemple : calcul de totaux à partir de la recherche de jeux de données
Pour calculer et afficher des totaux lors de l’itération sur les résultats de la recherche de jeux de données, consultez l’exemple ci-dessous.
| code language-handlebars |
|---|
|
Utilisation des propriétés techniques de parcours technical-properties
Les propriétés techniques du parcours permettent d’accéder aux métadonnées sur l’exécution du parcours, telles que l’identifiant du parcours et les identifiants supplémentaires. Elles peuvent s’avérer utiles lorsqu’elles sont combinées à des modèles d’itération, en particulier pour filtrer des tableaux en fonction d’instances de parcours spécifiques.
Propriétés techniques disponibles
Exemple : filtrage d’éléments de tableau à l’aide d’un identifiant supplémentaire
Lors de l’utilisation d’identifiants supplémentaires dans des parcours déclenchés par un événement avec des tableaux, vous pouvez filtrer afin d’afficher uniquement l’élément approprié pour l’instance de parcours active. En savoir plus sur les identifiants supplémentaires dans ce guide.
Scénario : un parcours est déclenché avec plusieurs réservations, mais vous souhaitez afficher les informations uniquement pour la réservation spécifique (identifiée par un ID supplémentaire) qui a déclenché cette instance de parcours.
| code language-handlebars |
|---|
|
Exemple : inclure l’ID de parcours pour le suivi
Pour inclure l’ID de parcours dans votre message à des fins de suivi, consultez l’exemple ci-dessous.
| code language-handlebars |
|---|
|
Combinaison de plusieurs sources de contexte combine-sources
Vous pouvez combiner des données provenant de différentes sources dans le même message pour créer des expériences riches et personnalisées. Cette section présente des exemples pratiques d’utilisation conjointe de plusieurs sources de contexte.
Les sources de contexte peuvent être combinées :
Exemple : articles de panier avec stock en temps réel
Pour combiner les données d’événement (contenu du panier) avec les données d’action personnalisée (statut d’inventaire), consultez l’exemple ci-dessous.
| code language-handlebars |
|---|
|
Exemple : données d’événement enrichies avec la recherche de jeu de données
Pour combiner les SKU d’événement avec des informations détaillées sur les produits issues d’une recherche de jeu de données, consultez l’exemple ci-dessous.
| code language-handlebars |
|---|
|
Exemple : combinaison de plusieurs sources avec des propriétés techniques
Pour combiner plusieurs sources de contexte (données de profil, données d’événement, actions personnalisées et propriétés techniques) en un seul message, consultez l’exemple ci-dessous.
| code language-handlebars |
|---|
|
Autres types de contexte other-contexts
Bien que ce guide se concentre sur l’itération sur les tableaux, d’autres types de contexte sont disponibles pour la personnalisation qui ne nécessitent généralement pas d’itération. Ils sont accessibles directement plutôt que par bouclage :
- Attributs de profil (
profile.*) : champs de profil individuels de Adobe Experience Platform - Audiences (
inAudience()) : contrôles de l’appartenance à une audience - Décisions d’offre : offres de gestion des décisions
- Attributs de la cible (campagnes orchestrées uniquement) : attributs calculés dans la zone de travail de la campagne
- Jeton (
context.token) : jetons de session ou d’authentification
Pour obtenir une syntaxe de personnalisation complète et des exemples d’utilisation de ces sources, reportez-vous à :
Utilisation de tableaux dans les expressions de Parcours arrays-in-journeys
Bien que les sections précédentes se concentrent sur l’itération sur des tableaux dans la personnalisation des messages à l’aide de Handlebars, vous travaillez également avec des tableaux lors de la configuration des activités de parcours. Cette section explique comment utiliser les données de tableau des événements dans les expressions de Parcours, en particulier lors de la transmission de données à des actions personnalisées ou de l’utilisation de tableaux avec des recherches de jeux de données.
first, all et serializeList. Dans le contenu des messages, vous utilisez la syntaxe Handlebars avec des boucles {{#each}}.Transmettre des valeurs de tableau aux paramètres d’action personnalisés arrays-to-custom-actions
Lors de la configuration d’actions personnalisées, vous devez souvent extraire des valeurs des tableaux d’événements et les transmettre en tant que paramètres. Cette section couvre les modèles courants.
En savoir plus sur la transmission de collections dans Transmettre des collections dans des paramètres d’action personnalisés.
Extraire une seule valeur d’un tableau
Cas d’utilisation : obtenez un champ spécifique d’un tableau d’événements à transmettre en tant que paramètre de requête dans une requête GET.
Exemple de scénario : extrayez le premier SKU avec un prix supérieur à 0 d’une liste de produits.
Exemple de schéma d’événement :
| code language-json |
|---|
|
Configuration d’une action personnalisée :
- Dans votre action personnalisée, configurez un paramètre de requête (par exemple,
sku) avec le typestring - Marquer comme
Variablepour autoriser les valeurs dynamiques
Paramètre d'expression de Parcours en action:
| code language-javascript |
|---|
|
Explication :
@event{YourEventName}: fait référence à votre événement de parcours..first(currentEventField.condition): renvoie le premier élément du tableau correspondant à la conditioncurrentEventField: représente chaque élément du tableau d’événements pendant que vous le parcourez.SKU: extrait le champ SKU de l’élément correspondant- Résultat :
"SKU-1"(chaîne appropriée pour le paramètre d’action)
En savoir plus sur la fonction first dans Fonctions de gestion des collections.
Création d’une liste de valeurs à partir d’un tableau
Cas d’utilisation : créez une liste d’identifiants séparés par des virgules à transmettre en tant que paramètre de requête (par exemple, /products?ids=sku1,sku2,sku3).
Configuration d’une action personnalisée :
- Configurez un paramètre de requête (par exemple,
ids) avec le typestring - Marquer comme
Variable
Expression de Parcours :
| code language-javascript |
|---|
|
Explication :
-
.all(currentEventField.condition): renvoie tous les éléments du tableau correspondant à la condition (renvoie une liste) -
currentEventField: représente chaque élément du tableau d’événements pendant que vous le parcourez -
.SKU: les projets de la liste incluent uniquement les valeurs de SKU -
serializeList(list, delimiter, addQuotes): joint la liste en chaîne",": utiliser une virgule comme délimiteurtrue: ajoutez des guillemets autour de chaque élément de chaîne.
-
Résultat :
"SKU-1,SKU-3"(adapté à un paramètre de requête)
En savoir plus sur :
La gestion des collections pour les actions personnalisées est traitée dans la section Transmettre des collections dans des paramètres d’action personnalisée.
Transmettre un tableau d’objets à une action personnalisée
Cas d’utilisation : envoyez un tableau complet d’objets dans un corps de requête (pour POST ou GET avec le corps).
Exemple de corps de requête :
| code language-json |
|---|
|
Configuration d’une action personnalisée :
- Dans le corps de la requête, définissez
productscomme typelistObject - Marquer comme
Variable - Définissez les champs d’objet :
id,name,price,color(chacun devient mappable)
Configuration de la zone de travail de Parcours :
-
En mode avancé, définissez l’expression de collection :
code language-javascript @event{YourEventName.commerce.productListItems.all(currentEventField.priceTotal > 0)} -
Dans l’interface utilisateur du mappage des collections :
- Mapper
id→productListItems.SKU - Mapper
name→productListItems.name - Mapper
price→productListItems.priceTotal - Mapper
color→productListItems.color
- Mapper
Journey Optimizer construit le tableau d’objets correspondant à la structure de votre payload d’action.
| note note |
|---|
| NOTE |
Lorsque vous utilisez des tableaux d’événements, utilisez currentEventField pour référencer chaque élément. Pour les collections de sources de données (Adobe Experience Platform), utilisez currentDataPackField. Pour les collections de réponses d’actions personnalisées, utilisez currentActionField. |
En savoir plus sur la section Transmettre des collections dans des paramètres d’action personnalisés .
Utilisation de tableaux avec les recherches de jeux de données arrays-with-dataset-lookup
Lors de l’utilisation de l’activité Recherche de jeu de données, vous pouvez transmettre un tableau de valeurs en tant que clés de recherche pour récupérer des données enrichies.
Exemple : recherchez les détails du produit pour tous les SKU d’un tableau d’événements.
Configuration de la recherche de jeu de données :
Dans le champ clés de recherche , utilisez list() pour convertir un chemin d’accès au tableau en liste :
| code language-javascript |
|---|
|
Cela crée une liste de toutes les valeurs de SKU à rechercher dans le jeu de données. Les résultats sont disponibles sous la forme d’un tableau à l’context.journey.datasetLookup.<activityID>.entities sur lequel vous pouvez effectuer une itération dans votre message (voir Itérer sur les résultats de la recherche de jeu de données).
Restrictions et modèles array-limitations
Gardez à l’esprit ces limites lorsque vous utilisez des tableaux dans des parcours :
Pas de boucle dynamique sur les tableaux dans le flux de parcours
Les parcours ne peuvent pas créer de boucles dynamiques dans lesquelles un nœud d’action est exécuté plusieurs fois pour chaque élément d’un tableau. Cela est intentionnel afin d’éviter des problèmes de performances d’emballement.
Ce que vous ne pouvez pas faire :
- Exécutez dynamiquement une action personnalisée une fois par élément de tableau
- Création de plusieurs branches de parcours en fonction de la longueur du tableau
Modèles recommandés à la place :
-
Envoyer tous les éléments en une seule fois : transmettez l’ensemble du tableau ou d’une liste sérialisée à une seule action personnalisée qui traite tous les éléments. Voir Création d’une liste de valeurs à partir d’un tableau.
-
Utiliser l’agrégation externe : demandez à votre API externe d’accepter plusieurs identifiants et de renvoyer les résultats combinés en un seul appel.
-
Pré-calcul dans AEP : utilisez attributs calculés pour précalculer les valeurs des tableaux au niveau du profil.
-
Extraction de valeur unique : si vous n’avez besoin que d’une seule valeur, extrayez-la à l’aide de
firstouhead. Voir Extraire une seule valeur d’un tableau.
En savoir plus sur la Mécanismes de sécurisation et limitations.
Considérations relatives à la taille des tableaux
Les baies volumineuses peuvent avoir un impact sur les performances du parcours :
- Tableaux d’événements : conservez les payloads d’événements en dessous de 50 Ko au total
- Réponses d’action personnalisées : les payloads de la réponse doivent être sous 100KB
- Résultats de la recherche de jeux de données : limitez le nombre de clés de recherche et d’entités renvoyées
Exemple complet : tableau d’événements pour une action personnalisée complete-example
Voici un workflow complet montrant comment utiliser un tableau d’événements avec une action personnalisée.
Scénario : lorsqu’un utilisateur abandonne son panier, envoyez les données du panier à une API de recommandation externe pour obtenir des suggestions personnalisées, puis affichez-les dans un e-mail.
Étape 1 : configurer l’action personnalisée
Créez une action personnalisée « GetCartRecommendations » :
- Méthode : POST
- URL :
https://api.example.com/recommendations - Corps de la requête :
| code language-json |
|---|
|
- Marquer
cartItemscomme typelistObjectetVariable - Définir les champs :
sku(chaîne),price(nombre),quantity(entier)
En savoir plus dans Configuration d’une action personnalisée.
Étape 2 : configurer la payload de réponse
Dans l’action personnalisée, configurez la réponse :
| code language-json |
|---|
|
En savoir plus dans Utilisation des réponses d’appel API.
Étape 3 : câbler l'action dans le parcours
-
Après votre événement d’abandon de panier, ajoutez l’action personnalisée
-
En mode avancé pour la collecte de
cartItems:code language-javascript @event{cartAbandonment.commerce.productListItems.all(currentEventField.quantity > 0)} -
Mappez les champs de collection :
sku→productListItems.SKUprice→productListItems.priceTotalquantity→productListItems.quantity
Étape 4 : utiliser la réponse dans votre e-mail
Dans le contenu de votre e-mail, effectuez une itération sur les recommandations :
| code language-handlebars |
|---|
|
Étape 5 : tester votre configuration
Avant d’exécuter un parcours en direct, testez l’action personnalisée à l’aide de la fonctionnalité « Envoyer la demande de test » de la configuration de l’action pour vérifier la demande et les valeurs créées.
- Utiliser le mode test de parcours 🔗
- Déclencheur avec des exemples de données d’événement, y compris un tableau de
productListItems - Vérifiez que l’action personnalisée reçoit la structure de baie appropriée.
- Vérifiez les journaux de test action
- Prévisualisez l’e-mail pour confirmer que les deux tableaux s’affichent correctement
En savoir plus dans Résolution des problèmes liés aux actions personnalisées.
Bonnes pratiques best-practices
Suivez ces bonnes pratiques lors de l’itération sur les données contextuelles pour créer une personnalisation performante et maintenable.
Utiliser des noms de variables descriptifs
Choisissez des noms de variables qui indiquent clairement ce sur quoi vous effectuez une itération. Cela rend votre code plus lisible et plus facile à gérer. En savoir plus sur la syntaxe de personnalisation :
| code language-handlebars |
|---|
|
Fragments d’expression dans les boucles
Lors de l’utilisation de fragments d’expression dans des boucles d’{{#each}}, sachez que vous ne pouvez pas transmettre de variables de portée boucle en tant que paramètres de fragment. Cependant, les fragments peuvent accéder aux variables globales définies dans le contenu de votre message en dehors du fragment.
Modèle pris en charge - Utilisez des variables globales :
| code language-handlebars |
|---|
|
Le fragment peut globalDiscount référencer, car il est défini globalement dans le message.
Non pris en charge - Transmission des variables de boucle :
| code language-handlebars |
|---|
|
Solution : incluez la logique de personnalisation directement dans votre boucle au lieu d’utiliser un fragment, ou appelez le fragment en dehors de la boucle.
En savoir plus sur l’utilisation de fragments d’expression dans des boucles, y compris des exemples détaillés et des solutions supplémentaires.
Gérer les tableaux vides
Utilisez la clause {{else}} pour fournir un contenu de secours lorsqu’un tableau est vide. En savoir plus sur les fonctions helper :
| code language-handlebars |
|---|
|
Combinaison avec des assistants conditionnels
Utilisez des {{#if}} dans des boucles pour le contenu conditionnel. En savoir plus sur les règles conditionnelles et consultez des exemples dans les sections Réponses d’action personnalisées et Recherche de jeu de données.
| code language-handlebars |
|---|
|
Limiter l’itération pour les performances
Pour les tableaux volumineux, pensez à limiter le nombre d’itérations :
| code language-handlebars |
|---|
|
Accès aux métadonnées des tableaux
Handlebars fournit des variables spéciales dans les boucles qui aident à obtenir des modèles d’itération avancés :
@index: index d’itération actuel (basé sur 0)@first: Vrai pour la première itération@last: True pour la dernière itération
| code language-handlebars |
|---|
|
@index, @first, @last) ne sont disponibles que dans les boucles {{#each}} dans la personnalisation des messages. Pour utiliser des tableaux dans des expressions de Parcours (comme obtenir le premier élément d’un tableau avant de transmettre à une action personnalisée), utilisez des fonctions de tableau telles que head, first ou all. Voir Utilisation de tableaux dans les expressions de Parcours pour plus d’informations.Résolution des problèmes troubleshooting
Vous rencontrez des problèmes avec l’itération ? Cette section couvre les problèmes courants et les solutions.
Tableau non affiché
Problème : votre itération de tableau n’affiche aucun contenu.
Causes possibles et solutions :
-
Chemin d’accès incorrect : vérifiez le chemin d’accès exact de votre tableau en fonction de la source de contexte :
- Pour les événements :
context.journey.events.<event_ID>.<fieldPath> - Pour les actions personnalisées :
context.journey.actions.<actionName>.<fieldPath> - Pour les recherches de jeux de données :
context.journey.datasetLookup.<activityID>.entities
- Pour les événements :
-
Le tableau est vide : ajoutez une clause
{{else}}pour vérifier si le tableau ne contient aucune donnée. Voir Bonnes pratiques pour obtenir des exemples. -
Données pas encore disponibles : assurez-vous que l’action personnalisée, l’événement ou l’activité de recherche de jeu de données a été exécuté avant l’activité de message dans votre flux de parcours.
Erreurs de syntaxe
Problème : la validation de l’expression échoue ou le message ne s’affiche pas.
Erreurs courantes :
- Balises de fermeture manquantes : chaque
{{#each}}doit avoir une{{/each}}. Consultez Syntaxe d’itération Handlebars pour obtenir une structure appropriée. - Nom de variable incorrect : assurez-vous que le nom de variable est utilisé de manière cohérente dans tout le bloc. Voir Bonnes pratiques pour connaître les conventions de nommage.
- Séparateurs de chemin incorrects : utilisez des points (
.) et non des barres obliques ou d’autres caractères.
Les fragments d’expression ne fonctionnent pas dans les boucles
Problème : un fragment d’expression n’affiche pas le contenu attendu lorsqu’il est utilisé dans une boucle {{#each}} ou affiche une sortie vide/inattendue.
Causes possibles et solutions :
-
Tentative de transmettre des variables de boucle en tant que paramètres : les fragments d’expression ne peuvent pas recevoir de variables de boucle (comme l’élément d’itération actuel) en tant que paramètres. Il s’agit d’une limitation connue.
Solution : utilisez l’une des solutions suivantes :
- Définissez dans votre message des variables globales auxquelles le fragment peut accéder
- Insérez la logique de personnalisation directement dans votre boucle au lieu d’utiliser un fragment
- Appelez le fragment en dehors de la boucle s’il n’a pas besoin de données spécifiques à la boucle
-
Le fragment attend un paramètre qui n’est pas disponible : si votre fragment a été conçu pour recevoir des paramètres d’entrée spécifiques, il ne fonctionnera pas correctement lorsque ces paramètres ne peuvent pas être transmis depuis une boucle.
Solution : Restructurez votre approche pour utiliser les variables globales auxquelles le fragment peut accéder. Voir Bonnes pratiques - Fragments d’expression dans les boucles pour obtenir des exemples.
-
Portée de variable incorrecte : le fragment peut essayer de référencer une variable qui n’existe que dans la portée de la boucle.
Solution : définissez toutes les variables dont le fragment a besoin au niveau du message (en dehors de la boucle) afin qu’elles soient accessibles au niveau mondial.
En savoir plus sur l’utilisation de fragments d’expression dans des boucles, y compris des explications détaillées, des exemples et des modèles recommandés.
Test de vos itérations
Utilisez le mode de test de parcours 🔗 pour vérifier vos itérations. Ceci est particulièrement important lors de l’utilisation de actions personnalisées ou recherches de jeux de données :
- Démarrez votre parcours en mode test
- Déclencher l’événement ou l’action personnalisée avec des exemples de données
- Vérifiez l’aperçu du message pour vous assurer que l’itération s’affiche correctement
- Consultez les journaux du mode test pour connaître les erreurs éventuelles (voir Journaux du mode test d’action personnalisée).
Rubriques connexes related-topics
Principes de base de Personalization : Prise en main de la personnalisation | Ajouter une personnalisation | Syntaxe de Personalization | Fonctions helper | Créer des règles conditionnelles
Configuration du Parcours : À propos des événements | Configurer des actions personnalisées | Transmettre des collections dans des paramètres d’action personnalisés | Utilisation des réponses d’appel API dans les actions personnalisées | Résolution des problèmes liés aux actions personnalisées | Utilisation des données Adobe Experience Platform dans les parcours | Utiliser des identifiants supplémentaires dans les parcours | Mécanismes de sécurisation et limitations | Tester le parcours
Fonctions d'expression de Parcours : Éditeur d'expression avancé | Fonctions de gestion des collections (en premier, en dernier) | Fonctions de liste (serializeList, filter, sort) | Fonctions de tableau (head, tail)
Cas d’utilisation de Personalization : E-mail d’abandon de panier | Notification du statut de la commande
Conception de message : Prise en main de la conception d’e-mails | Créer des notifications push | Créer des SMS | Prévisualiser et tester votre contenu