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) verwenden Sie die consumerId
-Parameter.
Wenn getOffers()
umfasst drei Mboxes (namens "mbox1", "mbox2"und "mbox3"): consumerId: "mbox1, mbox2, mbox3"
im getOffers()
aufrufen.
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-Nutzlast an den Aufrufer zurückgegeben, die zum Senden an verwendet werden soll Adobe Analytics über die Dateneinfüge-API.
server_side: Dies ist der Standardwert, bei dem die Variable Target und Analytics -Backend verwendet die SDID, um die Aufrufe zu Berichtszwecken zusammenzufügen.
Maximale Anzahl 50.
Name nicht leer.
Länge des Namens <=
128.
Wertlänge <=
5000.
Der Name sollte nicht mit "profile"beginnen.
Unzulässige Namen: "orderId", "orderTotal", "productPurchasedId".
Maximale Anzahl = 50.
Name nicht leer.
Länge des Namens <=
128.
Wertlänge <=
5000.
Akzeptiert nur Zeichenfolgenwerte.
Der Name sollte nicht mit "profile"beginnen.
Nicht leer.
maximale Größe = 128.
Nicht leer.
maximale Größe = 128.
>=
0Keine leeren Werte.
Die maximale Länge jedes Werts beträgt 50.
Durch Kommas verkettet und getrennt.
Gesamtlänge der Produkt-IDs <=
250.
Maximale Anzahl 50.
Name nicht leer.
Länge des Namens <=
128.
Wertlänge <=
5000.
Akzeptiert nur Zeichenfolgenwerte.
Der Name sollte nicht mit "profile"beginnen.
Unzulässige Namen: "orderId", "orderTotal", "productPurchasedId".
Maximale Anzahl 50.
Name nicht leer.
Länge des Namens <=
128.
Wertlänge <=
256.
Der Name sollte nicht mit "profile"beginnen.
Akzeptiert nur Zeichenfolgenwerte.
Nicht leer.
Maximale Größe = 128.
Nicht leer.
Maximale Größe = 128.
>=
0Keine leeren Werte.
Die maximale Länge jedes Werts beträgt 50.
Durch Kommas verkettet und getrennt.
Gesamtlänge der Produkt-IDs <=
250.
Maximale Größe = 50.
Keine Null-Elemente.
Nicht leer.
Kein "-clicked"-Suffix.
Maximale Größe = 250.
Zulässige Zeichen: `'-, ./=:;&!@#$%^&*()+
Nicht null.
Eindeutig.
>=
0.
Maximale Anzahl = 50.
Name nicht leer.
Länge des Namens <=
128.
Akzeptiert nur Zeichenfolgenwerte.
Wertlänge <=
5000.
Der Name sollte nicht mit "profile"beginnen.
Unzulässige Namen: "orderId", "orderTotal", "productPurchasedId".
Maximale Anzahl = 50.
Name nicht leer.
Länge des Namens <=
128.
Akzeptiert nur Zeichenfolgenwerte.
Wertlänge <=
256.
Der Name sollte 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
>=
0Anfrage > Ausführen > Mboxes > Mbox > Bestellung
purchasedProductIds
Keine leeren Werte.
Maximale Länge jedes Werts = 50.
Durch Kommas verkettet und getrennt.
Gesamtlänge der Produkt-ID <=
250.
Aufruf getOffers() für alle Ansichten
adobe.target.getOffers({
request: {
prefetch: {
views: [{}]
}
}
});
Aufruf getOffers() , um eine geräteübergreifende Entscheidung zu treffen
adobe.target.getOffers({
decisioningMethod:"on-device",
request: {
execute: {
mboxes: [
{
index: 0,
name: "homepage"
}
]
}
}
});
Aufruf getOffers() , um die neuesten Ansichten mit den übergebenen Parametern und Profilparametern abzurufen
adobe.target.getOffers({
request: {
"prefetch": {
"views": [
{
"parameters": {
"ad": "1"
},
"profileParameters": {
"age": 23
}
}
]
}
}
});
Aufruf getOffers() , um Mboxes mit übergebenen Parametern und Profilparametern abzurufen.
adobe.target.getOffers({
request: {
execute: {
mboxes: [
{
index: 0,
name: "first-mbox"
},
{
index: 1,
name: "second-mbox",
parameters: {
a: 1
},
profileParameters: {
b: 2
}
}
]
}
}
});
Aufruf getOffers() , um die Analytics-Nutzlast von der Clientseite 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 an weitergeleitet werden Adobe Analytics über die Dateneinfüge-API.
Daten aus mehreren Mboxes abrufen und rendern ü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.
Aufruf getOffers() , um pageLoad auszuführen
Das folgende Beispiel zeigt, wie Sie einen pageLoad mit getOffers() mit at.js 2.x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});