adobe.target.getOffers() - om.js 2.x
Deze functie laat u veelvoudige aanbiedingen terugwinnen door in veelvoudige dozen over te gaan. Bovendien kunnen meerdere aanbiedingen worden opgehaald voor alle weergaven in actieve activiteiten.
consumerId
De standaardwaarde is het globale mbox van de cliënt als niet verstrekt. Deze sleutel wordt gebruikt om de supplementaire gegevens ID (SDID) te produceren die voor integratie A4T wordt gebruikt.
Wanneer u getOffers()
, produceert elke vraag een nieuwe SDID. Als er meerdere box-aanvragen op dezelfde pagina staan en u wilt de SDID behouden (zodat deze overeenkomt met de SDID van de target-global-mbox en de Adobe Analytics SDID), gebruik de consumerId
parameter.
Indien getOffers()
omvat drie vakken (genaamd "mbox1", "mbox2" en "mbox3"): consumerId: "mbox1, mbox2, mbox3"
in de getOffers()
vraag.
decisioningMethod
request
timeout
Verzoek
tntId
, thirdPartyId
, of marketingCloudVisitorId
is vereist.Het volgende moet op pagina worden geïmplementeerd:
- Bezoekersidentiteitsservice
- Appmeasurement.js
De volgende waarden worden ondersteund:
client_side: Wanneer gespecificeerd, zal een analytische lading aan de bezoeker zijn teruggekeerd die zou moeten worden gebruikt om te verzenden naar Adobe Analytics via de Data Insertion API.
server_side: Dit is de standaardwaarde waarin de Target en Analytics backend zal SDID gebruiken om de vraag samen voor rapporteringsdoeleinden te stikken.
Maximaal aantal 50.
Naam niet leeg.
Naam lengte <=
128.
Waarde lengte <=
5000.
De naam mag niet beginnen met "profiel".
Namen niet toegestaan: "orderId", "orderTotal", "productPurchasedId".
Maximumaantal 50.
Naam niet leeg.
Naam lengte <=
128.
Waarde lengte <=
5000.
Accepteert alleen tekenreekswaarden.
De naam mag niet beginnen met "profiel".
Niet leeg.
maximale grootte = 128.
Niet leeg.
maximale grootte = 128.
>=
0.Geen lege waarden.
Maximale lengte van elke waarde 50.
Samengevoegd en gescheiden door komma.
Totale lengte product-id's <=
250.
Request > execute > pageLoad
parameters
Maximaal aantal 50.
Naam niet leeg.
Naam lengte <=
128.
Waarde lengte <=
5000.
Accepteert alleen tekenreekswaarden.
De naam mag niet beginnen met "profiel".
Namen niet toegestaan: "orderId", "orderTotal", "productPurchasedId".
Verzoek > execute > pageLoad
profileParameters
Maximaal aantal 50.
Naam niet leeg.
Naam lengte <=
128.
Waarde lengte <=
256.
De naam mag niet beginnen met "profiel".
Accepteert alleen tekenreekswaarden.
Request > execute > pageLoad
product
Verzoek > execute > pageLoad
product -> id
Niet leeg.
Maximale grootte = 128.
Request > execute > pageLoad
product > categoryId
Niet leeg.
Maximale grootte = 128.
Verzoek > execute > pageLoad
order
Verzoek > execute > pageLoad
order > id
Verzoek > execute > pageLoad
order > total
>=
0.Verzoek > execute > pageLoad
order > purchaseProductIds
Geen lege waarden.
Maximale lengte van elke waarde 50.
Samengevoegd en gescheiden door komma.
Totale lengte product-id's <=
250.
Maximale grootte = 50.
Geen null-elementen.
Niet leeg.
Geen achtervoegsel '-geklikt'.
Maximale grootte = 250.
Toegestane tekens: `'-, ./=:;&!@#$%^&*()+
Niet null.
Uniek.
>=
0.
Maximum aantal = 50.
Naam niet leeg.
Naam lengte <=
128.
Accepteert alleen tekenreekswaarden.
Waarde lengte <=
5000.
De naam mag niet beginnen met 'profiel'.
Namen niet toegestaan: "orderId", "orderTotal", "productPurchasedId".
Maximum aantal = 50.
Naam niet leeg.
Naam lengte <=
128.
Accepteert alleen tekenreekswaarden.
Waarde lengte <=
256.
De naam mag niet beginnen met 'profiel'.
Niet leeg.
Maximale grootte = 128.
Niet leeg.
Maximale grootte = 128.
Verzoek > Uitvoeren > Vakken
Postvak > Volgorde > Totaal
>=
0.Geen lege waarden.
De maximumlengte van elke waarde = 50.
Samengevoegd en gescheiden door komma.
Productids totale lengte <=
250.
Bellen getOffers() voor alle weergaven
adobe.target.getOffers({
request: {
prefetch: {
views: [{}]
}
}
});
Bellen getOffers() om een apparaatbeslissing te nemen
adobe.target.getOffers({
decisioningMethod:"on-device",
request: {
execute: {
mboxes: [
{
index: 0,
name: "homepage"
}
]
}
}
});
Bellen getOffers() om de recentste meningen met de overgegaan parameters en profielparameters terug te winnen
adobe.target.getOffers({
request: {
"prefetch": {
"views": [
{
"parameters": {
"ad": "1"
},
"profileParameters": {
"age": 23
}
}
]
}
}
});
Bellen getOffers() om dozen met doorgegeven parameters en profielparameters terug te winnen.
adobe.target.getOffers({
request: {
execute: {
mboxes: [
{
index: 0,
name: "first-mbox"
},
{
index: 1,
name: "second-mbox",
parameters: {
a: 1
},
profileParameters: {
b: 2
}
}
]
}
}
});
Bellen getOffers() om de analytische lading van de cliëntkant terug te winnen
adobe.target.getOffers({
request: {
experienceCloud: {
analytics: {
logging: "client_side"
}
},
prefetch: {
mboxes: [{
index: 0,
name: "a1-serverside-xt"
}]
}
}
})
.then(console.log)
Antwoord:
{
"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"
}
}
}]
}
}
De lading kan dan door:sturen aan Adobe Analytics via de API voor gegevensinvoer.
Gegevens uit meerdere vakken ophalen en renderen via getOffers() en applyOffers()
Met at.js 2.x kunt u meerdere vakken ophalen via de getOffers()
API. U kunt ook gegevens voor meerdere vakken ophalen en vervolgens applyOffers()
om de gegevens te renderen op verschillende locaties die door een CSS-kiezer worden geïdentificeerd.
In het volgende voorbeeld ziet u een eenvoudige HTML-pagina waarop at.js 2.x is geïmplementeerd:
<!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>
Veronderstel dat u drie containers hebt die u via inhoud wilt wijzigen die van wordt ontvangen Target. U kunt één aanvraag maken voor drie vakken waarin elke box inhoud bevat die in de desbetreffende container moet worden gerenderd.
De aanvraag- en rendercode kunnen er als volgt uitzien:
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;
});
});
In de request > prefetch > mboxes
-sectie, zijn er drie verschillende vakken. Als de aanvraag succesvol is voltooid, ontvangt u de reactie voor elke box van response > prefetch > mboxes
. Nadat u de reacties hebt en de locaties die u voor rendering wilt gebruiken, kunt u een activering uitvoeren applyOffers()
om de opgehaalde inhoud te renderen Target. In dit voorbeeld hebben we de volgende afbeelding:
- mbox1 > CSS selector #container1
- mbox2 > CSS selector #container2
- mbox3 > CSS selector #container3
In dit voorbeeld wordt de telvariabele gebruikt om de CSS-kiezers samen te stellen. In een real-life scenario kunt u een verschillende afbeelding gebruiken tussen de CSS-kiezer en de box.
In dit voorbeeld wordt prefetch > mboxes
, maar u kunt ook execute > mboxes
. Controleer of u de voorinstelling getOffers()
moet u ook de prefetch in het dialoogvenster applyOffers()
oproepen.
Bellen getOffers() om een pageLoad uit te voeren
In het volgende voorbeeld wordt getoond hoe u een pageLoad uitvoert met getOffers() met at.js 2.x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});