Parameters naar doel verzenden met Platform Web SDK

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:

om.js op een pagina van de Details van het Product:
code language-html
<!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>
om.js op een pagina van de Bevestiging van de Orde:
code language-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 verzonden verschillend 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

Het Web SDK 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 Platform Web SDK:

Voorbeeld van parameter at.js
Platform Web SDK, optie
Notities
at_property
N.v.t.
De tokens van het bezit worden gevormd in ​ datastream ​ en kunnen niet in de sendEvent vraag worden geplaatst.
pageName
xdm.web.webPageDetails.name
Alle parameters van Target mbox moeten worden doorgegeven als onderdeel van het 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
Alle parameters van het doelprofiel moeten worden doorgegeven als onderdeel van het data -object en vooraf ingesteld met profile. om correct te worden toegewezen.
user.categoryId
data.__adobe.target.user.categoryId
Gereserveerde parameter die wordt gebruikt voor de functie Categorie-affiniteit van Doel die moet worden doorgegeven als onderdeel van het data -object.
entity.id
data.__adobe.target.entity.id
OF
xdm.productListItems[0].SKU
Identiteitskaart van de entiteit wordt gebruikt voor het gedrag van tellers van de Aanbevelingen van het Doel. Deze entiteit-id's kunnen worden doorgegeven als onderdeel van het 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
Identiteitscategorie-id's kunnen worden doorgegeven als onderdeel van het data -object.
entity.customEntity
data.__adobe.target.entity.customEntity
De parameters van de douaneentiteit worden gebruikt voor het bijwerken van de het productcatalogus van Aanbevelingen. Deze aangepaste parameters moeten worden doorgegeven als onderdeel van het object data .
cartIds
data.__adobe.target.cartIds
Wordt gebruikt voor op kaarten gebaseerde aanbevelingen-algoritmen van Target.
excludedIds
data.__adobe.target.excludedIds
Wordt gebruikt om te voorkomen dat bepaalde id's van entiteiten terugkeren in een ontwerp met aanbevelingen.
mbox3rdPartyId
Instellen in het object xdm.identityMap
Wordt gebruikt voor het synchroniseren van doelprofielen op verschillende apparaten en klantkenmerken. Namespace voor klantidentiteitskaart te gebruiken moet in de ​ configuratie van het Doel van de datastream ​ worden gespecificeerd.
orderId
xdm.commerce.order.purchaseID
Wordt gebruikt voor het identificeren van een unieke volgorde voor het bijhouden van doelconversie.
orderTotal
xdm.commerce.order.priceTotal
Wordt gebruikt voor het bijhouden van ordertotalen voor doelconversie- en optimalisatiedoelstellingen.
productPurchasedId
data.__adobe.target.productPurchasedId
OF
xdm.productListItems[0-n].SKU
Wordt gebruikt voor het bijhouden van doelconversie en aanbevelingen. Verwijs naar de ​ sectie van entiteitparameters ​ hieronder voor details.
mboxPageValue
data.__adobe.target.mboxPageValue
Gebruikt voor het ​ douane die ​ activiteitendoel scoren.

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"
  };
};

Voorbeelden van SDK JavaScript van het platform met de opdracht sendEvent :

JavaScript
code language-javascript
alloy("sendEvent", {
  "xdm": {
    "web": {
      "webPageDetails": {
        // Other attributes included according to xdm schema
        "name": "product detail"
      }
    }
  }
});
Markeringen

Gebruik in tags eerst een gegevenselement XDM object om toe te wijzen aan het XDM-veld:

​ Toewijzing aan een XDM gebied in een XDM gegevenselement van Objecten ​ {modal="regular"}

En dan omvat uw XDM object in uw Send event action (het veelvoud XDM objects kan ​ worden samengevoegd ​):

​ die een XDM objecten gegevenselement in een Send gebeurtenis ​ {modal="regular"} omvat

NOTE
Omdat aangepaste mbox-parameters deel uitmaken van 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 ​ pagina van SDK van het Web van het Platform van dit leerprogramma voor meer informatie.

Profielparameters

Parameters voor het doelprofiel moeten worden doorgegeven onder het data.__adobe.target -object in de opdrachtpayload van 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 :

JavaScript
code language-javascript
alloy("sendEvent", {
  "data": {
    "__adobe": {
      "target": {
        "profile.gender": "male",
        "user.categoryId": "clothing"
      }
    }
  }
});
Markeringen

Maak in tags eerst een gegevenselement om het object data.__adobe.target te definiëren:

​ die uw gegevensvoorwerp in een gegevenselement bepalen ​ {modal="regular"}

En dan omvat uw gegevensvoorwerp in uw Send event action (het veelvoud objects kan ​ worden samengevoegd ​):

​ Omvat een gegevensvoorwerp in een Send gebeurtenis ​ {modal="regular"}

Parameters entiteit

De parameters van de entiteit worden gebruikt om gedragsgegevens en aanvullende catalogusinformatie voor de Aanbevelingen van het Doel over te gaan. Alle ​ entiteitparameters ​ die door at.js worden gesteund worden ook gesteund door het Web SDK van het Platform. Net als voor profielparameters moeten alle entiteitsparameters worden doorgegeven onder het data.__adobe.target -object in de opdrachtpayload van 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 :

JavaScript
code language-javascript
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"
      }
    }
  }
});
Markeringen

Maak in tags eerst een gegevenselement om het object data.__adobe.target te definiëren:

​ die uw gegevensvoorwerp in een gegevenselement bepalen ​ {modal="regular"}

En dan omvat uw gegevensvoorwerp in uw Send event action (het veelvoud objects kan ​ worden samengevoegd ​):

​ Omvat een gegevensvoorwerp in een Send gebeurtenis ​ {modal="regular"}

NOTE
Als de veldgroep 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 :

JavaScript
code language-javascript
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
              }
          }
      }
  }
});
Markeringen

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:

​ Toewijzing aan een XDM gebied in een XDM gegevenselement van Objecten ​ {modal="regular"}

En dan omvat uw XDM object in uw Send event action (het veelvoud XDM objects kan ​ worden samengevoegd ​):

​ die een XDM objecten gegevenselement in een Send gebeurtenis ​ {modal="regular"} omvat

IMPORTANT
_experience.decisioning.propositionEventType moet met display: 1 worden geplaatst om de vraag te gebruiken om metrisch van het Doel te verhogen.
NOTE
Als u bijvoorbeeld een aangepaste naam voor de locatie of het selectievakje wilt gebruiken in de definitie van het doel, orderConfirmPage , vult u de array _experience.decisioning.propositions met een aangepast bereik, zoals in het bovenstaande voorbeeld.
NOTE
De waarde 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 Experience Cloud wordt verzonden. In tegenstelling tot at.js, staat een implementatie van het Web SDK 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:

  1. Maak een identity namespace voor de klant-id in het Identities -scherm van gegevensverzameling of -platform
  2. Zorg ervoor dat alias in Klantkenmerken overeenkomt met de identity symbol van uw naamruimte
  3. Geef de identy symbol op als de Target Third Party ID Namespace in de configuratie Doel van de gegevensstroom
  4. Een opdracht sendEvent uitvoeren met de veldgroep identityMap

bij.js-voorbeeld met targetPageParams() :

targetPageParams = function() {
  return {
    "mbox3rdPartyId": "TT8675309"
  };
};

Voorbeelden van Platform Web SDK met de opdracht sendEvent :

JavaScript
code language-javascript
alloy("sendEvent", {
  "xdm": {
    "identityMap": {
      "GLOBAL_CUSTOMER_ID": [{
        "id": "TT8675309",
        "authenticatedState": "authenticated",
        "primary": true
      }]
    }
  }
});
Markeringen

De ID value Authenticated state en Namespace worden vastgelegd in een Identity map data-element:
​ het gegevenselement van de Kaart van de Identiteit die klantenidentiteitskaart ​ {modal="regular"} vangen

Het gegevenselement Identity map wordt vervolgens gebruikt om het identityMap veld in het gegevenselement XDM object in te stellen:
​ het gegevenselement van de Kaart van de Identiteit dat in XDM objecten gegevenselement ​ {modal="regular"} wordt gebruikt

XDM object wordt vervolgens opgenomen in de Send event -handeling van een regel:

​ die een XDM objecten gegevenselement in een Send gebeurtenis ​ {modal="regular"} omvat

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 :
​ plaats identiteitskaart Namespace van de Derde van het Doel in de datastream ​ {modal="regular"}

NOTE
Adobe raadt aan naamruimten die een persoon vertegenwoordigen, zoals geverifieerde identiteiten, als primaire identiteit te verzenden.

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 kunnen worden gemigreerd zoals hieronder getoond. De voorbeeldpagina's omvatten het volgende:

  • Voorverborgen fragment voor asynchrone bibliotheekimplementatie als doel
  • De SDK-basiscode van het Platform Web
  • 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
Web SDK op een pagina met productgegevens:
code language-html
<!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>
Web SDK op een pagina voor bevestiging van bestellingen:
code language-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 spoordoel ​ met het Web SDK van het Platform.

NOTE
We helpen u graag succesvol te zijn met uw doelmigratie van at.js naar Web SDK. Als u in obstakels met uw migratie loopt of als er kritieke informatie ontbreekt in deze gids voelt, gelieve ons te vertellen door in ​ deze communautaire bespreking ​ te posten.
recommendation-more-help
a69e1b51-9545-4d8a-822d-319242c29110