adobe.target.getOffers() - at.js 2.x
Med den här funktionen kan du hämta flera erbjudanden genom att skicka in flera rutor. Dessutom kan flera erbjudanden hämtas för alla vyer i aktiva aktiviteter.
consumerId
Standardvärdet är klientens globala mbox om den inte anges. Den här nyckeln används för att generera det extra data-ID (SDID) som används för A4T-integrering.
När du använder getOffers()
genererar varje anrop ett nytt SDID. Om du har flera mbox-begäranden på samma sida och vill bevara SDID (så att det matchar SDID:t från mål-global-mbox och Adobe Analytics SDID) använder du parametern consumerId
.
Om getOffers()
innehåller tre mrutor (med namnen"mbox1","mbox2" och"mbox3") inkluderar du: consumerId: "mbox1, mbox2, mbox3"
i anropet till getOffers()
.
decisioningMethod
request
timeout
Begäran
tntId
, thirdPartyId
eller marketingCloudVisitorId
krävs.Följande måste implementeras på sidan:
- Tjänst för besökar-ID
- Appmeasurement.js
Följande värden stöds:
client_side: När det anges returneras en analysnyttolast till anroparen som ska användas för att skicka till Adobe Analytics via Data Insertion API.
server_side: Det här är standardvärdet där Target och Analytics backend använder SDID för att knyta ihop anropen i rapporteringssyfte.
Högsta antal 50.
Namnet är inte tomt.
Namnlängd <=
128.
Värdelängd <=
5000.
Namnet får inte börja med "profile".
Otillåtna namn: "orderId", "orderTotal", "productPurchasedId".
Maximantal 50.
Namnet är inte tomt.
Namnlängd <=
128.
Värdelängd <=
5000.
Accepterar endast strängvärden.
Namnet får inte börja med "profile".
Inte tom.
maxstorlek = 128.
Inte tom.
maxstorlek = 128.
Begäran > förhämtning > vyer
ordning > id
>=
0.Inga tomma värden.
Varje värde har maxlängden 50.
Sammanfogad och avgränsad med komma.
Total längd för produkt-ID <=
250.
Request > execute > pageLoad
parameters
Högsta antal 50.
Namnet är inte tomt.
Namnlängd <=
128.
Värdelängd <=
5000.
Accepterar endast strängvärden.
Namnet får inte börja med "profile".
Otillåtna namn: "orderId", "orderTotal", "productPurchasedId".
Request > execute > pageLoad
profileParameters
Högsta antal 50.
Namnet är inte tomt.
Namnlängd <=
128.
Värdelängd <=
256.
Namnet får inte börja med "profile".
Accepterar endast strängvärden.
Request > execute > pageLoad
product
Request > execute > pageLoad
product -> id
Inte tom.
Maximal storlek = 128.
Request > execute > pageLoad
product > categoryId
Inte tom.
Maximal storlek = 128.
Request > execute > pageLoad
order
Request > execute > pageLoad
order > id
Request > execute > pageLoad
order > total
>=
0.Request > execute > pageLoad
order > purchaseProductIds
Inga tomma värden.
Varje värde har maxlängden 50.
Sammanfogad och avgränsad med komma.
Total längd för produkt-ID <=
250.
Maximal storlek = 50.
Inga null-element.
Inte tom.
Inget '-klickat'-suffix.
Maximal storlek = 250.
Tillåtna tecken: `'-, ./=:;&!@#$%^&*()+
Inte null.
Unik.
>=
0.
Högsta antal = 50.
Namnet är inte tomt.
Namnlängd <=
128.
Accepterar endast strängvärden.
Värdelängd <=
5000.
Namnet får inte börja med "profile".
Otillåtna namn: "orderId", "orderTotal", "productPurchasedId".
Högsta antal = 50.
Namnet är inte tomt.
Namnlängd <=
128.
Accepterar endast strängvärden.
Värdelängd <=
256.
Namnet får inte börja med "profile".
Inte tom.
Maximal storlek = 128.
Inte tom.
Maximal storlek = 128.
Request > execute > mbox>mbox
order > id
>=
0.Inga tomma värden.
Varje värdes maximala längd = 50.
Sammanfogad och avgränsad med komma.
Produkt-ID:ts totala längd <=
250.
Ring getOffers() för alla vyer
adobe.target.getOffers({
request: {
prefetch: {
views: [{}]
}
}
});
Anropa getOffers() för att fatta ett beslut på enheten
adobe.target.getOffers({
decisioningMethod:"on-device",
request: {
execute: {
mboxes: [
{
index: 0,
name: "homepage"
}
]
}
}
});
Ring getOffers() för att hämta de senaste vyerna med skickade parametrar och profilparametrar
adobe.target.getOffers({
request: {
"prefetch": {
"views": [
{
"parameters": {
"ad": "1"
},
"profileParameters": {
"age": 23
}
}
]
}
}
});
Anropa getOffers() för att hämta mbox med parametrar och profilparametrar skickade.
adobe.target.getOffers({
request: {
execute: {
mboxes: [
{
index: 0,
name: "first-mbox"
},
{
index: 1,
name: "second-mbox",
parameters: {
a: 1
},
profileParameters: {
b: 2
}
}
]
}
}
});
Anropa getOffers() för att hämta analysnyttolasten från klientsidan
adobe.target.getOffers({
request: {
experienceCloud: {
analytics: {
logging: "client_side"
}
},
prefetch: {
mboxes: [{
index: 0,
name: "a1-serverside-xt"
}]
}
}
})
.then(console.log)
Svar:
{
"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"
}
}
}]
}
}
Nyttolasten kan sedan vidarebefordras till Adobe Analytics via API:t för datainfogning.
Hämta och återge data från flera rutor via getOffers() och applyOffers()
Med at.js 2.x kan du hämta flera mbox via API:t getOffers()
. Du kan också hämta data för flera kryssrutor och sedan använda applyOffers()
för att återge data på olika platser som identifieras av en CSS-väljare.
I följande exempel visas en enkel HTML-sida med at.js 2.x implementerad:
<!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>
Anta att du har tre behållare som du vill ändra via innehåll som tagits emot från Target. Du kan skapa en enda begäran för tre mrutor där varje mbox har visst innehåll som ska återges i respektive behållare.
Koden för begäran och återgivning kan se ut som i följande exempel:
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;
});
});
I avsnittet request > prefetch > mboxes
finns det tre olika rutor. Om begäran slutfördes utan fel får du svaret för varje mbox från response > prefetch > mboxes
. När du har fått svar och de platser du vill använda för återgivning kan du anropa applyOffers()
för att återge det innehåll som hämtats från Target. I det här exemplet har vi följande mappning:
- mbox1 > CSS-väljare #container1
- mbox2 > CSS-väljare #container2
- mbox3 > CSS-väljare #container3
I det här exemplet används variabeln count för att skapa CSS-väljarna. I ett verkligt scenario kan du använda en annan mappning mellan CSS-väljaren och mbox.
Observera att prefetch > mboxes
används i det här exemplet, men du kan också använda execute > mboxes
. Om du använder förhämtning i getOffers()
bör du också använda förhämtning i applyOffers()
-anropet.
Anropa getOffers() för att utföra pageLoad
I följande exempel visas hur du utför en pageLoad med getOffers() med at.js 2.x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});