adobe.target.getOffers() - at.js 2.x
Mit dieser Funktion können Sie mehrere Angebote abrufen, indem Sie mehrere Mboxes übergeben. Darüber hinaus können mehrere Angebote für alle Ansichten in aktiven Aktivitäten abgerufen werden.
consumerId
Der Standardwert ist die globale Mbox des Kunden, falls nicht angegeben. Dieser Schlüssel wird verwendet, um die zusätzliche Daten-ID (SDID) zu generieren, die für die A4T-Integration verwendet wird.
Bei Verwendung von getOffers()
generiert jeder Aufruf eine neue SDID. Wenn Sie mehrere Mbox-Anfragen auf derselben Seite haben und die SDID beibehalten möchten (sodass sie mit der SDID aus der target-global-mbox und der Adobe Analytics SDID übereinstimmt), verwenden Sie den consumerId
.
Wenn getOffers()
drei Mboxes enthält (mit den Namen „mbox1“, „mbox2“ und „mbox3„), schließen Sie Folgendes ein: consumerId: "mbox1, mbox2, mbox3"
in den getOffers()
Aufruf.
decisioningMethod
request
timeout
Anfrage
tntId
, thirdPartyId
oder marketingCloudVisitorId
wird benötigt.Folgendes muss auf der Seite implementiert werden:
- Besucher-ID-Service
- Appmeasurement.js
Die folgenden Werte werden unterstützt:
client_side: Wenn angegeben, wird eine Analytics-Payload an den Aufrufer zurückgegeben, die zum Senden an Adobe Analytics über die Data Insertion API verwendet werden sollte.
server_side: Dies ist der Standardwert, bei dem der Target und Analytics Backend die SDID verwenden, um die Aufrufe zu Berichtszwecken zusammenzufügen.
Maximale Anzahl 50.
Name nicht leer.
Namenslänge <=
128.
Wertelänge <=
5000.
Der Name darf nicht mit „profile“ beginnen.
Nicht zulässige Namen: „orderId“, „orderTotal“, „productPurchasedId“.
Maximale Anzahl 50.
Name nicht leer.
Namenslänge <=
128.
Wertelänge <=
5000.
Akzeptiert nur Zeichenfolgenwerte.
Der Name darf nicht mit „profile“ beginnen.
Nicht leer.
Maximale Größe = 128.
Nicht leer.
Maximale Größe = 128.
>=
0.Keine leeren Werte.
Die maximale Länge jedes Werts ist 50.
Verkettet und durch Kommas getrennt.
Die Gesamtlänge der Produkt-IDs <=
250.
Maximale Anzahl 50.
Name nicht leer.
Namenslänge <=
128.
Wertelänge <=
5000.
Akzeptiert nur Zeichenfolgenwerte.
Der Name darf nicht mit „profile“ beginnen.
Nicht zulässige Namen: „orderId“, „orderTotal“, „productPurchasedId“.
Maximale Anzahl 50.
Name nicht leer.
Namenslänge <=
128.
Länge des Werts <=
256.
Der Name darf nicht mit „profile“ beginnen.
Akzeptiert nur Zeichenfolgenwerte.
Nicht leer.
Maximale Größe = 128.
Nicht leer.
Maximale Größe = 128.
>=
0.Keine leeren Werte.
Die maximale Länge jedes Werts ist 50.
Verkettet und durch Kommas getrennt.
Die Gesamtlänge der Produkt-IDs <=
250.
Maximale Größe = 50.
Keine Null-Elemente.
Nicht leer.
Kein "-geklickt“-Suffix.
Maximale Größe = 250.
Zulässige Zeichen: `'-, ./=:;&!@#$%^&*()+
Nicht null.
Eindeutig.
>=
0.
Maximale Anzahl = 50.
Name nicht leer.
Namenslänge <=
128.
Akzeptiert nur Zeichenfolgenwerte.
Wertelänge <=
5000.
Der Name darf nicht mit „profile“ beginnen.
Nicht zulässige Namen: „orderId“, „orderTotal“, „productPurchasedId“.
Maximale Anzahl = 50.
Name nicht leer.
Namenslänge <=
128.
Akzeptiert nur Zeichenfolgenwerte.
Länge des Werts <=
256.
Der Name darf nicht mit „profile“ beginnen.
Nicht leer.
Maximale Größe = 128.
Nicht leer.
Maximale Größe = 128.
Anfrage > Ausführen > Mboxes > Mbox > Bestellung
ID
Anfrage > Ausführen > Mboxes > Mbox > Bestellung
Gesamtsumme
>=
0.Anfrage > Ausführen > Mboxes > Mbox > Bestellung
purchasedProductIds
Keine leeren Werte.
Maximale Länge jedes Werts = 50.
Verkettet und durch Kommas getrennt.
Produkt-IDs <=
250.
Benutzen Sie getOffers(), um alle Ansichten aufzurufen
adobe.target.getOffers({
request: {
prefetch: {
views: [{}]
}
}
});
getOffers() aufrufen, um eine geräteinterne Entscheidung zu treffen
adobe.target.getOffers({
decisioningMethod:"on-device",
request: {
execute: {
mboxes: [
{
index: 0,
name: "homepage"
}
]
}
}
});
Benutzen Sie getOffers(), um die neuesten Ansichten mit den übergebenen Parametern und Profilparametern aufzurufen
adobe.target.getOffers({
request: {
"prefetch": {
"views": [
{
"parameters": {
"ad": "1"
},
"profileParameters": {
"age": 23
}
}
]
}
}
});
Benutzen Sie getOffers(), um Mboxes mit den übergebenen Parametern und Profilparametern aufzurufen
adobe.target.getOffers({
request: {
execute: {
mboxes: [
{
index: 0,
name: "first-mbox"
},
{
index: 1,
name: "second-mbox",
parameters: {
a: 1
},
profileParameters: {
b: 2
}
}
]
}
}
});
Rufen Sie getOffers() auf, um die Analyse-Payload von der Client-Seite abzurufen
adobe.target.getOffers({
request: {
experienceCloud: {
analytics: {
logging: "client_side"
}
},
prefetch: {
mboxes: [{
index: 0,
name: "a1-serverside-xt"
}]
}
}
})
.then(console.log)
Antwort:
{
"prefetch": {
"mboxes": [{
"index": 0,
"name": "a1-serverside-xt",
"options": [{
"content": "<img src=\"http://s7d2.scene7.com/is/image/TargetAdobeTargetMobile/L4242-xt-usa?tm=1490025518668&fit=constrain&hei=491&wid=980&fmt=png-alpha\"/>",
"type": "html",
"eventToken": "n/K05qdH0MxsiyH4gX05/2qipfsIHvVzTQxHolz2IpSCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
"responseTokens": {
"profile.memberlevel": "0",
"geo.city": "bucharest",
"activity.id": "167169",
"experience.name": "USA Experience",
"geo.country": "romania"
}
}],
"analytics": {
"payload": {
"pe": "tnt",
"tnta": "167169:0:0|0|100,167169:0:0|2|100,167169:0:0|1|100"
}
}
}]
}
}
Die Payload kann dann über die „Data Insertion " an Adobe Analytics weitergeleitet.
Abrufen und Rendern von Daten aus mehreren Mboxes über getOffers() und applyOffers()
Mit at.js 2.x können Sie mehrere Mboxes über die getOffers()
-API abrufen. Sie können auch Daten für mehrere Mboxes abrufen und dann applyOffers()
zum Rendern der Daten an verschiedenen Positionen verwenden, die durch einen CSS-Selektor identifiziert werden.
Das folgende Beispiel zeigt eine einfache HTML-Seite, auf der at.js 2.x implementiert ist:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>at.js 2.x, multiple selectors and multiple mboxes</title>
<script src="at.js"></script>
</head>
<body>
<div id="container1">Default content 1</div>
<div id="container2">Default content 2</div>
<div id="container3">Default content 3</div>
</body>
</html>
Angenommen, Sie haben drei Behälter, die Sie über einen Inhalt ändern möchten, der von Target empfangen wurde. Sie können eine einzelne Anfrage für drei Mboxes erstellen, in der jede Mbox Inhalt in den entsprechenden Behälter rendert.
Die Anfrage und der Rendercode könnten wie folgt aussehen:
adobe.target.getOffers({
request: {
prefetch: {
mboxes: [
{
index: 0,
name: "mbox1"
},
{
index: 1,
name: "mbox2"
},
{
index: 2,
name: "mbox3"
}
]
}
}
})
.then(response => {
// get all mboxes from response
const mboxes = response.prefetch.mboxes;
let count = 1;
mboxes.forEach(el => {
adobe.target.applyOffers({
selector: "#container" + count,
response: {
prefetch: {
mboxes: [el]
}
}
});
count += 1;
});
});
Im Abschnitt request > prefetch > mboxes
gibt es drei verschiedene Mboxes. Wenn die Anfrage erfolgreich abgeschlossen wurde, erhalten Sie die Antwort für jede Mbox aus response > prefetch > mboxes
. Nachdem Sie über die Antworten und die Speicherorte für die Wiedergabe verfügen, können Sie applyOffers()
aufrufen, um den von Ihnen von Target abgerufenen Inhalt wiederzugeben. In diesem Beispiel haben wir die folgende Zuordnung:
- Mbox 1 > CSS selector # container 1
- Mbox 2 > CSS selector # container 2
- Mbox 3 > CSS selector # container 3
In diesem Beispiel werden die CSS-Selektoren mit einer Zähl-Variablen erstellt. In einem realen Szenario könnten Sie zwischen dem CSS-Selektor und der Mbox eine andere Zuordnung verwenden.
Beachten Sie, dass dieses Beispiel prefetch > mboxes
verwendet, Sie könnten aber auch execute > mboxes
verwenden. Stellen Sie sicher, dass Sie bei Verwendung von Vorausholen (prefetch) in getOffers()
auch beim Aufruf von applyOffers()
Vorausholen verwenden sollten.
Aufrufen von getOffers() zum Ausführen eines Seitenladevorgangs
Das folgende Beispiel zeigt, wie Sie einen pageLoad mit getOffers() mit at.js 2 durchführen.x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});