Utilisation d’Offer Decisioning avec Platform Web SDK
Les Web SDK Adobe Experience Platform peuvent diffuser et générer des offres personnalisées qui sont gérées dans Offer Decisioning. Vous pouvez créer vos offres et d’autres objets associés à l’aide de l’interface utilisateur (IU) ou des API d’Offer Decisioning.
Conditions préalables
- L’organisation est activée pour la prise de décision Edge
- Offres, Activités créées
- Le flux de données est publié
Terminologie
Il est important de comprendre la terminologie suivante lorsque vous utilisez Offer Decisioning. Pour plus d’informations et pour afficher des termes supplémentaires, consultez le glossaire Offer Decisioning.
-
Portées de décision : pour Offer Decisioning, les portées de décision sont les chaînes de caractères JSON codées en Base64 contenant les identifiants d’activité et d’emplacement que le service Offer Decisioning doit utiliser pour proposer des offres.
JSON de la portée de décision :
code language-json { "activityId":"xcore:offer-activity:11cfb1fa93381aca", "placementId":"xcore:offer-placement:1175009612b0100c" }
Chaîne codée en Base64 de la portée de décision :
code language-json "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
note tip TIP Vous pouvez copier la valeur de la portée de décision à partir de la page Présentation des activités de l’interface utilisateur. -
Flux de données : pour plus d’informations, consultez la documentation flux de données.
-
Identité : pour plus d’informations, consultez cette documentation décrivant comment Platform Web SDK utilise Identity Service.
Activation d’Offer Decisioning
Pour activer Offer Decisioning, procédez comme suit :
-
Activation de Adobe Experience Platform dans votre flux de données et cochez la case « Offer Decisioning ».
-
Suivez les instructions de la section Installation du SDK (le SDK peut être installé seul ou via l’interface utilisateur. Pour plus d’informations, consultez le guide de démarrage rapide des balises).
-
Configurez le SDK pour Offer Decisioning à l’aide de
personalization.decisionScopes
. Vous trouverez ci-dessous d’autres étapes spécifiques à Offer Decisioning.-
Installation du SDK autonome
- Configurez l’action « sendEvent » avec
personalization.decisionScopes
code language-javascript alloy("sendEvent", { ... "personalization": { "decisionScopes": [ "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIxYWIwOWMxM2JkZDIyNCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMWFiMDZhODRkMDViMTEifQ==", "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIxYWIyNWI5NTUwNWIxZiIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMWFiMjFmOTQzMDE0MmIifQ==" ] } });
- Configurez l’action « sendEvent » avec
-
Installation de SDK par le biais de balises
-
Installez et configurez l’extension SDK web de Platform avec le flux de données créé lors de la sélection de la configuration dans le menu déroulant « Flux de données ». Consultez la documentation relative aux extensions.
-
Créez les Éléments de données nécessaires. Au minimum, vous devez créer un mappage d’identité SDK web Platform et un élément de données objet XDM du SDK web Platform.
-
Créez vos Règles.
- Ajoutez une action d’envoi d’événement Platform Web SDK et ajoutez les
decisionScopes
appropriées à la configuration de cette action
- Ajoutez une action d’envoi d’événement Platform Web SDK et ajoutez les
-
Créer et publier une bibliothèque contenant toutes les règles, éléments de données et extensions pertinents que vous avez configurés
-
Exemples de requêtes et de réponses
Une valeur de decisionScopes
Requête
{
"events": [
{
"xdm": {
"identityMap": {
"ECID": [
{
"id": "91133425615229052182584359620783097099"
}
]
}
},
"query": {
"personalization": {
"decisionScopes": [
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
]
}
}
}
]
}
identityMap
{ "identityMap": { "ECID": [ { "id": "91133425615229052182584359620783097099" } ] } }
.Remarque : les utilisateurs n’ont pas besoin d’inclure le paramètre
ECID
dans l’appel API. Ce paramètre est automatiquement ajouté à l’appel, si nécessaire.decisionScopes
decisionScopes
par requête."decisionScopes": ["eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="]
Réponse
{
"requestId": "94c4f2f1-9218-43ce-afd3-eb0d853c5174",
"handle": [
{
"payload": [
{
"id": "2862bb89-5df2-4bc6-85c2-d8f7e1a091de",
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
"activity": {
"id": "xcore:offer-activity:11cfb1fa93381aca",
"etag": "2"
},
"placement": {
"id": "xcore:offer-placement:1175009612b0100c",
"etag": "1"
},
"items": [
{
"id": "xcore:personalized-offer:124cc332095cfa74",
"schema": "https://ns.adobe.com/experience/offer-management/content-component-html",
"etag": "1",
"data": {
"id": "xcore:personalized-offer:124cc332095cfa74",
"format": "text/html",
"language": [
"en-US"
],
"content": "<p>20% Off on shipping</p>",
"characteristics": {
"foo": "bar",
"foo1": "bar1"
}
}
}
]
}
],
"type": "personalization:decisions",
"eventIndex": 0
}
]
}
scope
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
activity.id
"id": "xcore:offer-activity:11cfb1fa93381aca"
placement.id
"id": "xcore:offer-placement:1175009612b0100c"
items.id
"id": "xcore:personalized-offer:124cc332095cfa74"
schema
"schema": "https://ns.adobe.com/experience/offer-management/content-component-html"
data.id
"id": "xcore:personalized-offer:124cc332095cfa74"
format
"format": "text/html"
language
"language": [ "en-US" ]
content
"content": "<p style="color:red;">20% Off on shipping</p>"
deliveryUrl
"deliveryURL": "https://image.jpeg"
characteristics
"characteristics": { "foo": "bar", "foo1": "bar1" }
Plusieurs valeurs de decisionScopes
Requête
{
"events": [
{
"xdm": {
"identityMap": {
"ECID": [
{
"id": "91133425615229052182584359620783097099"
}
]
}
},
"query": {
"personalization": {
"decisionScopes": [
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyMjA4YjNhODc0MDU1OCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMjIwNDUyOTUxNGEyYzAifQ==",
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyYzkxMzg1Mjc2MDE4YyIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMzMxZjU2MTYyYWEyZjcifQ=="
]
}
}
}
]
}
identityMap
{ "identityMap": { "ECID": [ { "id": "91133425615229052182584359620783097099" } ] } }
.Remarque : les utilisateurs n’ont pas besoin d’inclure le paramètre
ECID
dans l’appel API. Ce paramètre est automatiquement ajouté à l’appel, si nécessaire.decisionScopes
decisionScopes
par requête."decisionScopes":["eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==", "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyMjA4YjNhODc0MDU1OCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMjIwNDUyOTUxNGEyYzAifQ=="
Réponse
{
"requestId": "94c4f2f1-9218-43ce-afd3-eb0d853c5174",
"handle": [
{
"payload": [
{
"id": "a2804dfb-a0ec-4df9-8311-59d3ecdeb642",
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MTEyMyIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDExMjMifQ==",
"activity": {
"id": "xcore:offer-activity:11cfb1fa93381123",
"etag": "1"
},
"placement": {
"id": "xcore:offer-placement:1175009612b01123",
"etag": "3"
},
"items": [
{
"id": "xcore:personalized-offer:11e36d4a22954123",
"schema": "https://ns.adobe.com/experience/offer-management/content-component-text",
"etag": "2",
"data": {
"id": "xcore:personalized-offer:11e36d4a22954123",
"format": "text/text",
"language": [
"en"
],
"content": "20% Off on shipping",
"characteristics": {
"foo2": "bar2"
}
}
}
]
},
{
"id": "a2804dfb-a0ec-4df9-8311-59d3ecdeb642",
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
"activity": {
"id": "xcore:offer-activity:11cfb1fa93381aca",
"etag": "2"
},
"placement": {
"id": "xcore:offer-placement:1175009612b0100c",
"etag": "1"
},
"items": [
{
"id": "xcore:personalized-offer:11e36d4a2295415d",
"schema": "https://ns.adobe.com/experience/offer-management/content-component-imagelink",
"etag": "1",
"data": {
"id": "xcore:personalized-offer:11e36d4a2295415d",
"format": "image/png",
"language": [
"en"
],
"deliveryURL": "https://image.jpeg",
"characteristics": {
"foo": "bar",
"foo1": "bar1"
}
}
}
]
}
],
"type": "personalization:decisions",
"eventIndex": 0
}
]
}
scope
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
activity.id
"id": "xcore:offer-activity:11cfb1fa93381123"
placement.id
"xcore:offer-placement:1175009612b01123"
items.id
"id": "xcore:personalized-offer:11e36d4a22954123"
schema
"schema": "https://ns.adobe.com/experience/offer-management/content-component-text"
data.id
"id": "xcore:personalized-offer:11e36d4a22954123"
format
"format": "text/text"
language
"language": [ "en-US" ]
content
"content": "<p style="color:red;">20% Off on shipping</p>"
deliveryUrl
"deliveryURL": "https://image.jpeg"
characteristics
"characteristics": { "foo": "bar", "foo1": "bar1" }
Limites
Certaines contraintes d’offre ne sont actuellement pas prises en charge avec les workflows Edge Network mobiles, par exemple la limitation. La valeur du champ Limitation indique le nombre de fois où une offre peut être présentée à tous les utilisateurs. Pour plus d’informations, voir Documentation sur les règles d’éligibilité et les contraintes d’offres.