Parameters verzenden naar doel met gebruik van Platform Web SDK
Gemaakt voor:
- tussenpersoon
- Ervaren
- Ontwikkelaar
De doelimplementaties verschillen per website vanwege de sitearchitectuur, de zakelijke vereisten en de gebruikte functies. De meeste doelimplementaties bevatten het doorgeven van verschillende parameters voor contextuele informatie, doelgroepen en aanbevelingen voor inhoud.
Laten we een eenvoudige pagina met productdetails en een pagina met orderbevestiging gebruiken om de verschillen tussen de bibliotheken aan te tonen bij het doorgeven van parameters aan Doel.
Stel dat de volgende twee voorbeeldpagina's at.js gebruiken:
<!doctype html>
<html>
<head>
<title>Product Details - Men's Shirt</title>
<!--Target parameters -->
<script>
targetPageParams = function() {
return {
// Property token
"at_property": "5a0fd9bb-67de-4b5a-0fd7-9cc09f50a58d",
// Mbox parameters
"pageName": "product detail",
// Profile parameters
"profile.gender": "male",
"user.categoryId": "clothing",
// Entity parameters for Target Recomendations
"entity.id": "SKU-00001-LARGE",
"entity.categoryId": "clothing,shirts",
"entity.customEntity": "some value",
"cartIds": "SKU-00002,SKU-00003",
"excludedIds": "SKU-00001-SMALL",
// Customer ID for cross-device profile synching and Customer Attributes
"mbox3rdPartyId": "TT8675309",
};
};
</script>
<!--Target at.js library loaded asynchonously-->
<script src="/libraries/at.js" async></script>
</head>
<body>
<h1 id="title">Men's Large Shirt</h1>
<p>SKU: SKU-00001-LARGE</p>
</body>
</html>
<!doctype html>
<html>
<head>
<title>Order Confirmation</title>-->
<!--Target parameters -->
<script>
targetPageParams = function() {
return {
// Property token
"at_property": "5a0fd9bb-67de-4b5a-0fd7-9cc09f50a58d",
// Order confirmation parameters
"orderId": "ABC123",
"productPurchasedId": "SKU-00002,SKU-00003",
"orderTotal": 1337.89,
// Customer ID for cross-device profile synching and Customer Attributes
"mbox3rdPartyId": "TT8675309",
};
};
</script>
<!--Target at.js library loaded asynchonously-->
<script src="/libraries/at.js" async></script>
</head>
<body>
<h1 id="title">Order Confirmation</h1>
<p>Thank you for your order</p>
</body>
</html>
Overzicht van parametertoewijzing
De parameters van het Doel voor deze pagina's worden anders verzonden gebruikend het Web SDK van het Platform. Er zijn veelvoudige manieren om parameters tot Doel over te gaan gebruikend at.js:
- Instellen met functie
targetPageParams()
voor de gebeurtenis load van de pagina (wordt gebruikt in de voorbeelden op deze pagina) - Instellen met functie
targetPageParamsAll()
voor alle doelaanvragen op de pagina - Parameters rechtstreeks verzenden met de functie
getOffer()
voor één locatie - Parameters rechtstreeks verzenden met de functie
getOffers()
voor een of meer locaties
De SDK van het Web van het Platform verstrekt één enkele verenigbare manier om gegevens zonder de behoefte aan extra functies te verzenden. Alle parameters moeten in de lading met het sendEvent
bevel worden overgegaan en onder twee categorieën vallen:
- Automatisch toegewezen via het
xdm
-object - Handmatig worden doorgegeven met het object
data.__adobe.target
In de onderstaande tabel wordt beschreven hoe de voorbeeldparameters opnieuw worden toegewezen met gebruik van Platform Web SDK:
at_property
sendEvent
vraag worden geplaatst.pageName
xdm.web.webPageDetails.name
xdm
-object en moeten in overeenstemming zijn met een schema met behulp van de XDM ExperienceEvent-klasse. Mbox-parameters kunnen niet worden doorgegeven als onderdeel van het data
-object.profile.gender
data.__adobe.target.profile.gender
data
-object en vooraf ingesteld met profile.
om correct te worden toegewezen.user.categoryId
data.__adobe.target.user.categoryId
data
-object.entity.id
data.__adobe.target.entity.id
OF
xdm.productListItems[0].SKU
data
-object of automatisch worden toegewezen vanuit het eerste item in de xdm.productListItems
-array als die veldgroep door de implementatie wordt gebruikt.entity.categoryId
data.__adobe.target.entity.categoryId
data
-object.entity.customEntity
data.__adobe.target.entity.customEntity
data
.cartIds
data.__adobe.target.cartIds
excludedIds
data.__adobe.target.excludedIds
mbox3rdPartyId
xdm.identityMap
orderId
xdm.commerce.order.purchaseID
orderTotal
xdm.commerce.order.priceTotal
productPurchasedId
data.__adobe.target.productPurchasedId
OF
xdm.productListItems[0-n].SKU
mboxPageValue
data.__adobe.target.mboxPageValue
Aangepaste parameters
Aangepaste mbox-parameters moeten als XDM-gegevens worden doorgegeven met de opdracht sendEvent
. Het is belangrijk om ervoor te zorgen dat het schema XDM alle gebieden omvat die voor uw implementatie van het Doel worden vereist.
bij.js-voorbeeld met targetPageParams()
:
targetPageParams = function() {
return {
"pageName": "product detail"
};
};
Platform Web SDK JavaScript voorbeelden met de opdracht sendEvent
:
alloy("sendEvent", {
"xdm": {
"web": {
"webPageDetails": {
// Other attributes included according to xdm schema
"name": "product detail"
}
}
}
});
Gebruik in tags eerst een gegevenselement XDM object om toe te wijzen aan het XDM-veld:
En dan omvat uw XDM object in uw Send event action (het veelvoud XDM objects kan worden samengevoegd):
xdm
-object, moet u alle soorten publiek-, activiteiten- of profielscripts die naar deze mbox-parameters verwijzen, bijwerken met hun nieuwe naam. Zie het publiek van het Doel van de Update en profielmanuscripten voor de verenigbaarheid van SDK van het Web van het Platformpagina van dit leerprogramma voor meer informatie.Profielparameters
Doelprofielparameters moeten worden doorgegeven onder het data.__adobe.target
-object in de opdrachtpayload van de opdracht Platform Web SDK sendEvent
.
Net als bij at.js moeten alle profielparameters ook vooraf met profile.
worden opgeslagen om de waarde als blijvend doelprofielkenmerk correct te kunnen opslaan. De gereserveerde user.categoryId
-parameter voor de Categorie-affiniteit van Doel wordt vooraf ingesteld door user.
.
bij.js-voorbeeld met targetPageParams()
:
targetPageParams = function() {
return {
"profile.gender": "male",
"user.categoryId": "clothing"
};
};
Voorbeelden van Platform Web SDK met de opdracht sendEvent
:
alloy("sendEvent", {
"data": {
"__adobe": {
"target": {
"profile.gender": "male",
"user.categoryId": "clothing"
}
}
}
});
Maak in tags eerst een gegevenselement om het object data.__adobe.target
te definiëren:
En dan omvat uw gegevensvoorwerp in uw Send event action (het veelvoud objects kan worden samengevoegd):
Parameters entiteit
Entiteitsparameters worden gebruikt om gedragsgegevens en aanvullende catalogusinformatie voor Target Recommendations door te geven. Alle entiteitparametersdie door at.js worden gesteund worden ook gesteund door het Web SDK van het Platform. Net als profielparameters moeten alle entiteitsparameters worden doorgegeven onder het data.__adobe.target
-object in de opdrachtpayload van de opdracht Platform Web SDK sendEvent
.
Entiteiteits-parameters voor een specifiek item moeten vooraf met entity.
worden vastgelegd om de gegevens correct vast te leggen. De gereserveerde cartIds
- en excludedIds
-parameters voor aanbevelingen-algoritmen mogen niet vooraf worden ingesteld en de waarde voor beide moet een door komma's gescheiden lijst met entiteit-id's bevatten.
bij.js-voorbeeld met targetPageParams()
:
targetPageParams = function() {
return {
"entity.id": "SKU-00001-LARGE",
"entity.categoryId": "clothing,shirts",
"entity.customEntity": "some value",
"cartIds": "SKU-00002,SKU-00003",
"excludedIds": "SKU-00001-SMALL"
};
};
Voorbeelden van Platform Web SDK met de opdracht sendEvent
:
alloy("sendEvent", {
"data": {
"__adobe": {
"target": {
"entity.id": "SKU-00001-LARGE",
"entity.categoryId": "clothing,shirts",
"entity.customEntity": "some value",
"cartIds": "SKU-00002,SKU-00003",
"excludedIds": "SKU-00001-SMALL"
}
}
}
});
Maak in tags eerst een gegevenselement om het object data.__adobe.target
te definiëren:
En dan omvat uw gegevensvoorwerp in uw Send event action (het veelvoud objects kan worden samengevoegd):
commerce
wordt gebruikt en de array productListItems
is opgenomen in de XDM-payload, wordt de eerste SKU
-waarde in deze array toegewezen aan entity.id
voor het verhogen van de productweergave.Aankoopparameters
De parameters van de aankoop worden overgegaan op een de bevestigingspagina van het orde na een succesvolle orde en voor de omzettings en optimalisatiedoelstellingen van het Doel gebruikt. Met een implementatie van het Web SDK van het Platform, deze parameters en automatisch in kaart gebracht van gegevens XDM die als deel van de commerce
gebiedsgroep worden overgegaan.
bij.js-voorbeeld met targetPageParams()
:
targetPageParams = function() {
return {
"orderId": "ABC123",
"productPurchasedId": "SKU-00002,SKU-00003"
"orderTotal": 1337.89
};
};
Aankoopgegevens worden doorgegeven aan Target wanneer voor de veldgroep commerce
purchases.value
is ingesteld op 1
. De bestellings-id en het totaal van de bestellingen worden automatisch toegewezen aan het order
-object. Als de array productListItems
aanwezig is, worden de waarden SKU
gebruikt voor productPurchasedId
.
Voorbeeld van Platform Web SDK met sendEvent
:
alloy("sendEvent", {
"xdm": {
"commerce": {
"order": {
"purchaseID": "ABC123",
"priceTotal": 1337.89
},
"purchases": {
"value": 1
}
},
"productListItems": [{
"SKU": "SKU-00002"
}, {
"SKU": "SKU-00003"
}],
"_experience": {
"decisioning": {
"propositions": [{
"scope": "<your_mbox>"
}],
"propositionEventType": {
"display": 1
}
}
}
}
});
Gebruik in tags eerst een gegevenselement XDM object om toe te wijzen aan de vereiste XDM-velden (zie het JavaScript-voorbeeld) en een optioneel aangepast bereik:
En dan omvat uw XDM object in uw Send event action (het veelvoud XDM objects kan worden samengevoegd):
_experience.decisioning.propositionEventType
moet met display: 1
worden geplaatst om de vraag te gebruiken om metrisch van het Doel te verhogen.orderConfirmPage
, vult u de array _experience.decisioning.propositions
met een aangepast bereik, zoals in het bovenstaande voorbeeld.productPurchasedId
kan ook worden doorgegeven als een door komma's gescheiden lijst met entiteit-id's onder het object data
.Klant-id (mbox3rdPartyId)
Het doel staat profielsynchronisatie over apparaten en systemen toe gebruikend één enkele klant ID. Met at.js, kon dit als mbox3rdPartyId
in het verzoek van het Doel worden geplaatst of als eerste klantenidentiteitskaart die naar de Dienst van de Identiteit van het Experience Cloud wordt verzonden. In tegenstelling tot at.js, staat een implementatie van SDK van het Web van het Platform u toe om te specificeren welke klantenidentiteitskaart aan gebruik als mbox3rdPartyId
als er veelvoudige zijn. Bijvoorbeeld, als uw zaken een globale klant identiteitskaart en afzonderlijke klant IDs voor verschillende lijnen van zaken hebben, kunt u vormen welk Doel van identiteitskaart zou moeten gebruiken.
Er zijn een paar stappen aan opstellingsidentiteitskaart die voor dwars-apparaat en de het gebruikscituaties van Attributen van de Klant synchroniseert:
- Maak een identity namespace voor de klant-id in het Identities -scherm van gegevensverzameling of -platform
- Zorg ervoor dat alias in Klantkenmerken overeenkomt met de identity symbol van uw naamruimte
- Geef de identy symbol op als de Target Third Party ID Namespace in de configuratie Doel van de gegevensstroom
- Een opdracht
sendEvent
uitvoeren met de veldgroepidentityMap
bij.js-voorbeeld met targetPageParams()
:
targetPageParams = function() {
return {
"mbox3rdPartyId": "TT8675309"
};
};
Voorbeelden van Platform Web SDK met de opdracht sendEvent
:
alloy("sendEvent", {
"xdm": {
"identityMap": {
"GLOBAL_CUSTOMER_ID": [{
"id": "TT8675309",
"authenticatedState": "authenticated",
"primary": true
}]
}
}
});
De ID value Authenticated state en Namespace worden vastgelegd in een Identity map data-element:
Het gegevenselement Identity map wordt vervolgens gebruikt om het identityMap veld in het gegevenselement XDM object in te stellen:
XDM object wordt vervolgens opgenomen in de Send event -handeling van een regel:
In de Adobe Target-service van uw gegevensstroom moet u de Target Third Party ID Namespace instellen op dezelfde naamruimte als in het gegevenselement Identity map :
Platform Web SDK, voorbeeld
Nu u begrijpt hoe de verschillende parameters van het Doel gebruikend het Web SDK van het Platform in kaart worden gebracht, zouden onze twee voorbeeldpagina's van at.js aan het Web SDK van het Platform zoals hieronder getoond kunnen worden gemigreerd. De voorbeeldpagina's omvatten het volgende:
- Voorverborgen fragment voor asynchrone bibliotheekimplementatie als doel
- De basiscode van de SDK van het Web Platform
- De Platform Web SDK JavaScript-bibliotheek
- Een opdracht
configure
om de bibliotheek te initialiseren - Een opdracht
sendEvent
om gegevens te verzenden en om te vragen dat doelinhoud moet worden gerenderd
<!doctype html>
<html>
<head>
<title>Product Details - Men's Shirt</title>
<!--Prehiding snippet for Target with asynchronous Web SDK deployment-->
<script>
!function(e,a,n,t){var i=e.head;if(i){
if (a) return;
var o=e.createElement("style");
o.id="alloy-prehiding",o.innerText=n,i.appendChild(o),setTimeout(function(){o.parentNode&&o.parentNode.removeChild(o)},t)}}
(document, document.location.href.indexOf("mboxEdit") !== -1, ".body { opacity: 0 !important }", 3000);
</script>
<!--Platform Web SDK base code-->
<script>
!function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
[]).push(o),n[o]=function(){var u=arguments;return new Promise(
function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
(window,["alloy"]);
</script>
<!--Platform Web SDK loaded asynchonously. Change the src to use the latest supported version.-->
<script src="https://cdn1.adoberesources.net/alloy/2.6.4/alloy.min.js" async></script>
<!--Configure Platform Web SDK and send event-->
<script>
alloy("configure", {
"edgeConfigId": "ebebf826-a01f-4458-8cec-ef61de241c93",
"orgId":"ADB3LETTERSANDNUMBERS@AdobeOrg"
});
alloy("sendEvent", {
"renderDecisions": true,
"xdm": {
"identityMap": {
"GLOBAL_CUSTOMER_ID": [{
"id": "TT8675309",
"authenticatedState": "authenticated",
"primary": true
}]
},
"web": {
"webPageDetails": {
// Other attributes included according to XDM schema
"pageName": "product detail"
}
}
},
"data": {
"__adobe": {
"target": {
"profile.gender": "male",
"user.categoryId": "clothing",
"entity.id": "SKU-00001-LARGE",
"entity.categoryId": "clothing,shirts",
"entity.customEntity": "some value",
"cartIds": "SKU-00002,SKU-00003",
"excludedIds": "SKU-00001-SMALL"
}
}
}
});
</script>
</head>
<body>
<h1 id="title">Men's Large Shirt</h1>
<p>SKU: SKU-00001-LARGE</p>
</body>
</html>
<!doctype html>
<html>
<head>
<title>Order Confirmation</title>
<!--Prehiding snippet for Target with asynchronous Web SDK deployment-->
<script>
!function(e,a,n,t){var i=e.head;if(i){
if (a) return;
var o=e.createElement("style");
o.id="alloy-prehiding",o.innerText=n,i.appendChild(o),setTimeout(function(){o.parentNode&&o.parentNode.removeChild(o)},t)}}
(document, document.location.href.indexOf("mboxEdit") !== -1, ".body { opacity: 0 !important }", 3000);
</script>
<!--Platform Web SDK base code-->
<script>
!function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
[]).push(o),n[o]=function(){var u=arguments;return new Promise(
function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
(window,["alloy"]);
</script>
<!--Platform Web SDK loaded asynchonously. Change the src to use the latest supported version.-->
<script src="https://cdn1.adoberesources.net/alloy/2.6.4/alloy.min.js" async></script>
<!--Configure Platform Web SDK and send event-->
<script>
alloy("configure", {
"edgeConfigId": "ebebf826-a01f-4458-8cec-ef61de241c93",
"orgId":"ADB3LETTERSANDNUMBERS@AdobeOrg"
});
alloy("sendEvent", {
"xdm": {
"identityMap": {
"GLOBAL_CUSTOMER_ID": [{
"id": "TT8675309",
"authenticatedState": "authenticated",
"primary": true
}]
},
"commerce": {
"order": {
"purchaseID": "ABC123",
"priceTotal": 1337.89
},
"purchases": {
"value": 1
}
},
"productListItems": [{
"SKU": "SKU-00002"
}, {
"SKU": "SKU-00003"
}],
"_experience": {
"decisioning": {
"propositions": [{
"scope": "<your_mbox>"
}],
"propositionEventType": {
"display": 1
}
}
}
}
});
</script>
</head>
<body>
<h1 id="title">Order Confirmation</h1>
<p>Thank you for your order</p>
</body>
</html>
Daarna, leer hoe te de omzettingsgebeurtenissen van het spoordoelmet het Web SDK van het Platform.