Créer et afficher des offres avec la gestion des décisions
Découvrez comment afficher les offres de Journey Optimizer Decision Management dans vos applications mobiles avec le SDK Mobile Experience Platform.
Journey Optimizer Decision Management vous aide à offrir la meilleure offre et la meilleure expérience à vos clients sur tous les points de contact au bon moment. Une fois conçu, ciblez votre audience avec des offres personnalisées.
La gestion des décisions facilite la personnalisation grâce à une bibliothèque centrale d’offres marketing et à un moteur de décision qui applique des règles et des contraintes aux profils riches en temps réel créés par Adobe Experience Platform. Par conséquent, il vous permet d’envoyer à vos clients la bonne offre au bon moment. Voir À propos de la gestion de la décision pour plus d’informations.
Conditions préalables
- Création et exécution de l’application avec les SDK installés et configurés.
- Configurez l’application pour Adobe Experience Platform.
- Accès à Journey Optimizer - Gestion des décisions avec les autorisations appropriées pour gérer les offres et les décisions, comme décrit ici.
Objectifs d'apprentissage
Dans cette leçon, vous allez
- Mettez à jour votre configuration Edge pour la gestion de la décision.
- Mettez à jour votre propriété de balise avec l’extension Journey Optimizer - Decisioning.
- Mettez à jour votre schéma pour capturer les événements de proposition.
- Validez la configuration dans Assurance.
- Créez une décision d’offre en fonction des offres dans Journey Optimizer - Gestion de la décision.
- Mettez à jour votre application pour enregistrer l’extension Optimizer.
- Mettez en oeuvre les offres de la gestion de la décision dans votre application.
Configuration
Mise à jour de la configuration des flux de données
Pour vous assurer que les données envoyées de votre application mobile à Platform Edge Network sont transférées à Journey Optimizer - Gestion des décisions, mettez à jour votre flux de données.
-
Dans l’interface utilisateur de la collecte de données, sélectionnez Datastreams, puis sélectionnez votre flux de données, par exemple Luma Mobile App.
-
Sélectionnez pour Experience Platform et Modifier dans le menu contextuel.
-
Dans l’écran Datastreams > > Adobe Experience Platform, assurez-vous que Offer decisioning, Segmentation Edge et Adobe Journey Optimizer sont sélectionnés. Si vous souhaitez suivre la leçon sur Target, sélectionnez également Destinations Personalization. Voir Paramètres Adobe Experience Platform pour plus d’informations.
-
Pour enregistrer votre configuration de flux de données, sélectionnez Enregistrer .
Installer Journey Optimizer - Extension des balises de prise de décision
-
Accédez à Balises et recherchez votre propriété de balise mobile, puis ouvrez la propriété .
-
Sélectionnez Extensions.
-
Sélectionnez Catalog.
-
Recherchez l’extension Adobe Journey Optimizer - Decisioning.
-
Installez l’extension . L’extension ne nécessite pas de configuration supplémentaire.
Mettre à jour votre schéma
- Accédez à l’interface de collecte de données et sélectionnez Schémas dans le rail de gauche.
- Sélectionnez Parcourir dans la barre supérieure.
- Sélectionnez votre schéma pour l’ouvrir.
- Dans l’éditeur de schéma, sélectionnez Ajouter en regard des groupes de champs.
- Dans la boîte de dialogue Ajouter des groupes de champs,
pour rechercher
proposition
, sélectionnez Événement d’expérience - Interactions de propositions et sélectionnez Ajouter des groupes de champs. Ce groupe de champs collecte les données d’événement d’expérience pertinentes pour les offres : quelle offre est présentée, dans le cadre de laquelle la collecte, la décision et d’autres paramètres sont définis (voir plus loin dans cette leçon). Mais que se passe-t-il avec l'offre ? S’affiche, a interagi, a ignoré, etc.
- Sélectionnez Enregistrer pour enregistrer les modifications apportées à votre schéma.
Validation de la configuration dans Assurance
Pour valider votre configuration dans Assurance :
- Accédez à l’interface utilisateur d’assurance.
- Sélectionnez Configurer dans le rail gauche et sélectionnez en regard de Valider la configuration sous ADOBE JOURNEY OPTIMIZER DECISIONING.
- Sélectionnez Enregistrer.
- Sélectionnez Valider la configuration dans le rail de gauche. La configuration du flux de données et celle du SDK dans votre application sont validées.
Créer un emplacement
Avant de pouvoir réellement créer des offres, vous devez définir comment et où ces offres peuvent être placées dans l’application mobile. Dans la gestion de la décision, vous définissez des emplacements à cette fin et vous définirez un emplacement pour le canal mobile qui prend en charge une payload JSON :
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Components dans la liste GESTION DES DÉCISIONS du rail de gauche.
-
Sélectionnez Emplacements dans la barre supérieure.
-
Si aucun emplacement nommé Mobile JSON, Mobile comme Type de canal et JSON comme Type de contenu est répertorié, vous devez créer un emplacement. Sinon, continuez à Créer des offres.
Pour créer l’emplacement JSON mobile :
-
Sélectionnez Créer un emplacement.
- dans la section Détails, saisissez
Mobile JSON
comme Nom, sélectionnez Mobile à partir de Type de canal et JSON à partir de Type de contenu. - Sélectionnez Enregistrer pour enregistrer l’emplacement.
- dans la section Détails, saisissez
Création d’offres
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres dans GESTION DES DÉCISIONS dans le rail de gauche.
-
Dans l’écran Offres, sélectionnez Parcourir pour afficher la liste des offres.
-
Sélectionnez Créer une offre.
-
Dans la boîte de dialogue Nouvelle offre, sélectionnez Offre personnalisée et cliquez sur Suivant.
-
À l'étape Détails de Créer une offre personnalisée :
-
Saisissez un nom pour l’offre, par exemple
Luma - Juno Jacket
, et saisissez une date et heure de début et une date et heure de fin. En dehors de ces dates, l’offre ne sera pas sélectionnée par le moteur de décision. -
Sélectionnez Suivant.
-
-
À l’étape Ajouter des représentations de Créer une offre personnalisée :
-
Sélectionnez Mobile dans la liste Canal et sélectionnez Mobile JSON dans la liste Placement.
-
Sélectionnez Personnalisé pour Contenu.
-
Sélectionnez Ajouter du contenu. Dans la boîte de dialogue Ajouter la personnalisation :
-
Si un sélecteur Mode est disponible, assurez-vous qu’il est défini sur JSON.
-
Saisissez le code JSON suivant :
code language-json { "title": "Juno Jacket", "text": "On colder-than-comfortable mornings, you'll love warming up in the Juno All-Ways Performance Jacket, designed to compete with wind and chill. Built-in Cocona™ technology aids evaporation, while a special zip placket and stand-up collar keep your neck protected.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/jackets/wj06-purple_main.jpg" }
-
Sélectionnez Enregistrer.
-
-
Sélectionnez Suivant.
-
-
À l’étape Ajouter des contraintes de l’étape Créer une offre personnalisée :
-
Définissez Priority sur
10
. -
Désactivez l’option Inclusion capping.
-
Sélectionnez Suivant.
-
-
À l’étape Réviser de Créer une offre personnalisée :
- Vérifiez l’offre, puis sélectionnez Terminer.
- Dans la boîte de dialogue Enregistrer l'offre, sélectionnez Enregistrer et approuver.
-
Répétez les étapes 3 à 8 pour créer quatre offres supplémentaires avec des noms et un contenu différents. Toutes les autres valeurs de configuration, par exemple Date et heure de début ou Priorité, sont similaires à la première offre que vous avez créée. Vous pouvez rapidement créer des offres en double et les modifier.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres dans le rail de gauche, puis sélectionnez Offres dans la barre supérieure.
-
Sélectionnez la ligne de l’offre que vous avez créée.
-
Dans le volet de droite, sélectionnez Autres actions et, dans le menu contextuel, sélectionnez Dupliquer.
Utilisez le tableau ci-dessous pour définir les quatre autres offres.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-fixed Nom de l’offre Contenu des offres dans JSON Luma - bouteille d’eau Affirmée { "title": "Affirm Water Bottle", "text": "You'll stay hydrated with ease with the Affirm Water Bottle by your side or in hand. Measurements on the outside help you keep track of how much you're drinking, while the screw-top lid prevents spills. A metal carabiner clip allows you to attach it to the outside of a backpack or bag for easy access.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/gear/fitness-equipment/ug06-lb-0.jpg" }
Luma - Teinte de condition physique désirée { "title": "Desiree Fitness Tee", "text": "When you're too far to turn back, thank yourself for choosing the Desiree Fitness Tee. Its ultra-lightweight, ultra-breathable fabric wicks sweat away from your body and helps keeps you cool for the distance.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/tees/ws05-yellow_main.jpg" }
Luma - Adrienne Trek Jacket { "title": "Adrienne Trek Jacket", "text": "You're ready for a cross-country jog or a coffee on the patio in the Adrienne Trek Jacket. Its style is unique with stand collar and drawstrings, and it fits like a jacket should.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/women/tops/jackets/wj08-gray_main.jpg" }
Luma - Teinte de l’état de santé quotidien d’Aero { "title": "Aero Daily Fitness Tee", "text": "Need an everyday action tee that helps keep you dry? The Aero Daily Fitness Tee is made of 100% polyester wicking knit that funnels moisture away from your skin. Don't be fooled by its classic style; this tee hides premium performance technology beneath its unassuming look.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/products/men/tops/tees/ms01-black_main.jpg" }
-
-
En dernière étape, vous devez créer une offre de secours, c’est-à-dire une offre envoyée aux clients s’ils ne sont pas éligibles pour d’autres offres.
-
Sélectionnez Créer une offre.
-
Dans la boîte de dialogue Nouvelle offre, sélectionnez Offre personnalisée et sélectionnez Suivant.
-
À l’étape Détails de Créer une offre de secours, saisissez un Nom pour l’offre, par exemple
Luma - Fallback Offer
, puis sélectionnez Suivant. -
À l’étape Ajouter des représentations de Créer une offre de secours :
-
Sélectionnez Mobile dans la liste Canal et sélectionnez Mobile JSON dans la liste Placement.
-
Sélectionnez Personnalisé pour Contenu.
-
Sélectionnez Ajouter du contenu.
-
Dans la boîte de dialogue Ajouter une personnalisation, saisissez le code JSON suivant et sélectionnez Enregistrer :
code language-json { "title": "Luma", "text": "Your store for sports wear and equipment.", "image": "https://luma.enablementadobe.com/content/dam/luma/en/logos/Luma_Logo.png" }
-
Sélectionnez Suivant.
-
-
-
À l’étape Réviser de Créer une offre de secours :
- Vérifiez l’offre, puis sélectionnez Terminer.
- Dans la boîte de dialogue Enregistrer l'offre, sélectionnez Enregistrer et approuver.
Vous devriez maintenant avoir la liste d’offres suivante :
Création d’une collection
Pour présenter une offre à l’utilisateur de votre application mobile, vous devez définir une collection d’offres composée d’une ou de plusieurs des offres que vous avez créées.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres dans le rail de gauche.
-
Sélectionnez Collections dans la barre supérieure.
-
Sélectionnez Créer une collection.
-
Dans la boîte de dialogue Nouvelle collection, saisissez un nom pour votre collection, par exemple
Luma - Mobile App Collection
, sélectionnez Créer une collection statique, puis cliquez sur Suivant. -
Dans Luma - Mobile App Collection, sélectionnez les offres que vous souhaitez inclure dans la collection. Pour ce tutoriel, sélectionnez les cinq offres que vous avez créées. Vous pouvez facilement filtrer la liste à l’aide du champ de recherche, par exemple en tapant Luma.
-
Sélectionnez Enregistrer.
Création d’une décision
La dernière étape consiste à définir une décision, c’est-à-dire la combinaison d’une ou de plusieurs portées de décision et de votre offre de secours.
Une portée de décision est une combinaison d’un emplacement spécifique (par exemple, un HTML dans un email ou un JSON dans une application mobile) et d’un ou plusieurs critères d’évaluation.
Un critère d’évaluation est la combinaison de
- une collection d'offres,
- règles d'éligibilité : par exemple, l'offre n'est disponible que pour une audience spécifique,
- une méthode de classement : lorsque plusieurs offres sont disponibles, quelle méthode utilisez-vous pour les classer (par priorité d’offre, à l’aide d’une formule ou d’un modèle d’IA, par exemple).
Reportez-vous à la section Étapes clés de création et de gestion des offres si vous souhaitez mieux comprendre comment les emplacements, les règles, les classements, les offres, les représentations, les collections, les décisions, etc., interagissent et se connectent les uns aux autres. Cette leçon porte uniquement sur l’utilisation des résultats d’une décision plutôt que sur la flexibilité de définition des décisions dans Journey Optimizer - Gestion des décisions.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres dans le rail de gauche.
-
Sélectionnez Decisions dans la barre supérieure.
-
Sélectionnez Créer une décision.
-
À l’étape Details de Créer une décision d’offre :
- Saisissez un Nom pour la décision, par exemple
Luma - Mobile App Decision
, saisissez Date et heure de début et Date et heure de fin. - Sélectionnez Suivant.
- Saisissez un Nom pour la décision, par exemple
-
À l’étape Ajouter des portées de décision de Créer une décision d’offre :
-
Sélectionnez Mobile JSON dans la liste Placement.
-
Dans la mosaïque Critères d'évaluation, sélectionnez Ajouter.
-
Dans la boîte de dialogue Ajouter une collection d’offres, sélectionnez votre collection d’offres. Par exemple : Luma - Mobile App Collection.
-
Sélectionnez Ajouter.
-
-
Assurez-vous que Aucun est sélectionné pour Eligibilité, et que La priorité des offres est sélectionnée comme Méthode de classement.
-
Sélectionnez Suivant.
.
-
-
À l’étape Ajouter une offre de secours de Créer une décision d’offre :
- Sélectionnez votre offre de secours, par exemple Luma - Fallback offer.
- Sélectionnez Suivant.
-
À l’étape Summary de Create a new offer décision :
- Sélectionnez Terminer.
- Dans la boîte de dialogue Enregistrer la décision d’offre, sélectionnez Enregistrer et activer.
- Dans l’onglet Decisions , votre décision est prise avec l’état Live.
Votre décision d’offre, consistant en un ensemble d’offres, est maintenant prête à être utilisée. Pour utiliser la décision dans votre application, vous devez vous référer dans votre code à la portée de la décision.
-
Dans l’interface utilisateur de Journey Optimizer, sélectionnez Offres.
-
Sélectionnez Decisions dans la barre supérieure.
-
Sélectionnez votre décision, par exemple Luma - Mobile App Decision.
-
Dans la mosaïque Portées de décision, sélectionnez Copier.
-
Dans le menu contextuel, sélectionnez Étendue de la décision.
-
Utilisez n’importe quel éditeur de texte pour coller la portée de la décision en vue d’une utilisation ultérieure. La portée de décision présente le format JSON suivant.
code language-json { "xdm:activityId":"xcore:offer-activity:xxxxxxxxxxxxxxx", "xdm:placementId":"xcore:offer-placement:xxxxxxxxxxxxxxx" }
Mise en oeuvre d’offres dans votre application
Comme indiqué dans les leçons précédentes, l’installation d’une extension de balise mobile fournit uniquement la configuration. Vous devez ensuite installer et enregistrer le SDK Optimiser. Si ces étapes ne sont pas claires, consultez la section Installer les SDK .
-
Dans Xcode, assurez-vous que AEP Optimize est ajouté à la liste des modules dans les dépendances de modules. Voir Swift Package Manager.
-
Accédez à Luma > Luma > AppDelegate dans le navigateur de projet Xcode.
-
Assurez-vous que
AEPOptimize
fait partie de votre liste d’importations.code language-swift import AEPOptimize
-
Vérifiez que
Optimize.self
fait partie du tableau des extensions que vous enregistrez.code language-swift let extensions = [ AEPIdentity.Identity.self, Lifecycle.self, Signal.self, Edge.self, AEPEdgeIdentity.Identity.self, Consent.self, UserProfile.self, Places.self, Messaging.self, Optimize.self, Assurance.self ]
-
Accédez à Luma > Luma > Model > Data > décisions dans le navigateur de projet Xcode. Mettez à jour les valeurs
activityId
etplacementId
avec les détails de la portée de décision que vous avez copiés à partir de l’interface de Journey Optimizer. -
Accédez à Luma > Luma > Utils > MobileSDK dans le navigateur de projet Xcode. Recherchez la fonction
func updatePropositionOD(ecid: String, activityId: String, placementId: String, itemCount: Int) async
. Ajoutez le code suivant :code language-swift // set up the XDM dictionary, define decision scope and call update proposition API Task { let ecid = ["ECID" : ["id" : ecid, "primary" : true] as [String : Any]] let identityMap = ["identityMap" : ecid] let xdmData = ["xdm" : identityMap] let decisionScope = DecisionScope(activityId: activityId, placementId: placementId, itemCount: UInt(itemCount)) Optimize.clearCachedPropositions() Optimize.updatePropositions(for: [decisionScope], withXdm: xdmData) }
Cette fonction :
-
configure un dictionnaire XDM
xdmData
, contenant l’ECID pour identifier le profil pour lequel vous devez présenter les offres. -
définit
decisionScope
, un objet qui est basé sur la décision que vous avez définie dans l’interface Journey Optimizer - Gestion des décisions et qui est défini à l’aide de la portée de décision copiée depuis Créer une décision. L’application Luma utilise un fichier de configuration (decisions.json
) qui récupère les paramètres de portée, en fonction du format JSON suivant :code language-swift "scopes": [ { "name": "name of the scope", "activityId": "xcore:offer-activity:xxxxxxxxxxxxxxx", "placementId": "xcore:offer-placement:xxxxxxxxxxxxxxx", "itemCount": 2 } ]
Cependant, vous pouvez utiliser n’importe quel type d’implémentation pour vous assurer que les API d’optimisation obtiennent les paramètres appropriés (
activityId
,placementId
et,itemCount
) pour construire un objetDecisionScope
valide pour votre implémentation.
Pour plus d’informations : les autres valeurs de clé du fichierdecisions.json
sont destinées à une utilisation ultérieure et ne sont pas pertinentes et utilisées actuellement dans cette leçon et dans le cadre du tutoriel. -
appelle deux API :
Optimize.clearCachePropositions
etOptimize.updatePropositions
. Ces fonctions effacent toutes les propositions mises en cache et mettent à jour les propositions de ce profil.
-
-
Accédez à Luma > Luma > Views > Personalization > EdgeOffersView dans le navigateur de projet Xcode. Recherchez la fonction
func onPropositionsUpdateOD(activityId: String, placementId: String, itemCount: Int) async
et examinez le code de cette fonction. La partie la plus importante de cette fonction est l’appel APIOptimize.onPropositionsUpdate
, qui- récupère les propositions du profil actuel en fonction de la portée de la décision (que vous avez définie dans Journey Optimizer - Gestion des décisions),
- récupère l'offre à partir de la proposition,
- libère le contenu de l’offre afin qu’elle puisse s’afficher correctement dans l’application ; et
- déclenche l’action
displayed()
sur l’offre qui renvoie un événement à l’Edge Network informant l’affichage de l’offre.
-
Toujours dans EdgeOffersView, ajoutez le code suivant au modificateur
.onFirstAppear
. Ce code garantit que le rappel pour la mise à jour des offres n’est enregistré qu’une seule fois.code language-swift // Invoke callback for offer updates Task { await self.onPropositionsUpdateOD(activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount) }
-
Toujours dans EdgeOffersView, ajoutez le code suivant au modificateur
.task
. Ce code met à jour les offres lorsque la vue est actualisée.code language-swift // Clear and update offers await self.updatePropositionsOD(ecid: currentEcid, activityId: decision.activityId, placementId: decision.placementId, itemCount: decision.itemCount)
Validation à l’aide de l’application
-
Recréez et exécutez l’application dans le simulateur ou sur un appareil physique à partir de Xcode, en utilisant .
-
Accédez à l’onglet Personalisation.
-
Sélectionnez Edge Personalisation.
-
Faites défiler l’écran jusqu’en haut de l’écran pour afficher deux offres aléatoires affichées à partir de la collection que vous avez définie dans la mosaïque DECISION LUMA - MOBILE APP DECISION.
{width="300"}
Les offres sont aléatoires, car vous avez donné à toutes les offres la même priorité et le classement de la décision est basé sur la priorité.
Validation de la mise en oeuvre dans Assurance
Pour valider la mise en oeuvre des offres dans Assurance :
-
Consultez la section instructions de configuration pour connecter votre simulateur ou périphérique à Assurance.
-
Sélectionnez Configurer dans le rail gauche et sélectionnez en regard de Réviser et simuler sous ADOBE JOURNEY OPTIMIZER DECISIONING.
-
Sélectionnez Enregistrer.
-
Sélectionnez Réviser et simuler dans le rail de gauche. La configuration du flux de données est validée et celle du SDK dans votre application.
-
Sélectionnez Demandes dans la barre supérieure. Vos demandes Offres s’affichent.
-
Vous pouvez explorer les onglets Simuler et Liste d’événements pour en savoir plus sur les fonctionnalités, en vérifiant votre configuration de la gestion des décisions Journey Optimizer.
Étapes suivantes
Vous devriez maintenant disposer de tous les outils pour commencer à ajouter d’autres fonctionnalités à votre implémentation Journey Optimizer - Gestion des décisions . Par exemple :
- appliquer différents paramètres à vos offres (par exemple, priorité, limitation) ;
- collecter des attributs de profil dans l’application (voir Profile) et utiliser ces attributs de profil pour créer des audiences ; Utilisez ensuite ces audiences dans le cadre des règles d’éligibilité de votre décision.
- combiner plusieurs portées de décision.
Suivant : Effectuer des tests A/B