Använda ID-tjänsten med A4T och en implementering på serversidan av Target using-the-id-service-with-a-t-and-a-server-side-implementation-of-target

Dessa instruktioner är till för A4T-kunder med blandade server- och klientimplementeringar av Target, Analytics och ID-tjänsten. Kunder som behöver köra ID-tjänsten i en NodeJS- eller Rhino-miljö bör också granska den här informationen. Den här instansen av ID-tjänsten använder en förkortad version av kodbiblioteket VisitorAPI.js, som du hämtar och installerar från NPM (Node Package Manager). I det här avsnittet finns installationsanvisningar och andra konfigurationskrav.

Introduktion section-ab0521ff5bbd44c592c3eaab31c1de8b

A4T (och andra kunder) kan använda den här versionen av ID-tjänsten när de behöver:

  • Återge webbsidesinnehåll på deras servrar och skicka det till en webbläsare för slutlig visning.
  • Gör Target anrop på serversidan.
  • Gör klientanrop (i webbläsaren) till Analytics.
  • Synkronisera separata Target- och Analytics-ID:n för att avgöra om en besökare som ses av en lösning är samma person som den andra lösningen.

Kodnedladdning och medföljande gränssnitt section-32d75561438b4c3dba8861be6557be8a

Se ID-tjänstens NPM-databas för att hämta kodpaketet på serversidan och granska gränssnitten som ingår i den aktuella versionen.

Arbetsflöde section-56b01017922046ed96536404239a272b

Diagrammet och avsnitten nedan beskriver vad som händer och vad du behöver konfigurera i varje steg i implementeringsprocessen på serversidan.

Steg 1: Begär sida section-c12e82633bc94e8b8a65747115d0dda8

Aktiviteten på serversidan börjar när en besökare gör en HTTP-begäran om att läsa in en webbsida. Under det här steget tar servern emot den här begäran och söker efter AMCV-cookien. AMCV-cookien innehåller besökarens Experience Cloud-ID (MID).

Steg 2: Generera nyttolast för ID-tjänst section-c86531863db24bd9a5b761c1a2e0d964

Därefter måste du skapa en payload request på serversidan till ID-tjänsten. En nyttolastbegäran:

  • Skickar AMCV-cookien till ID-tjänsten.
  • Begär data som krävs av Target och Analytics i efterföljande steg som beskrivs nedan.
NOTE
Den här metoden begär en enda mbox från Target. Om du behöver begära flera mbox i ett enskilt anrop, se generateBatchPayload.

Nyttolastbegäran ska se ut så här: I kodexemplet är funktionen visitor.setCustomerIDs valfri. Mer information finns i Kund-ID:n och autentiseringstillstånd.

//Import the ID service server package
var Visitor = require("@adobe-mcid/visitor-js-server");

//Pass in your Organization ID to instantiate Visitor
var visitor = new Visitor("Insert Experience Cloud ID here");

//
<i>(Optional)</i> Set a custom customer ID
visitor.setCustomerIDs({
     userid:{
          id:"1234",
          authState: Visitor.AuthState.UNKNOWN //AuthState is a static property of the Visitor class
     }
});

//Parse the visitor's HTTP request for the AMCV cookie
var cookies = cookie.parse(req.headers.cookie || "");
var cookieName = visitor.getCookieName(); // Visitor API that returns the cookie name.
var amcvCookie = cookies[cookieName];

//Generate the payload request pass your mbox name and the AMCV cookie if present
var visitorPayload = visitor.generatePayload({
     mboxName: "bottom-banner-mbox",
     amcvCookie: amcvCookie
});

ID-tjänsten returnerar nyttolasten i ett JSON-objekt som liknar följande exempel. Nyttolastdata krävs av Target.

{
    "marketingCloudVisitorId": "02111696918527575543455026275721941645",
    "mboxParameters": {
        "mboxAAMB": "abcd1234",
        "mboxMCGLH": "9",
        "mboxMCSDID": "56BE026543F7E211-1CC51BCAAE88F0D2",
        "vst.userid.id": "1234567890",
        "vst.userid.authState": 0
    }
}

Om besökaren inte har en AMCV-cookie utelämnar nyttolasten följande nyckelvärdepar:

  • marketingCloudvisitorId
  • mboxAAMB
  • mboxMCGLH

Steg 3: Lägg till nyttolast i Target-anropet section-62451aa70d2f44ceb9fd0dc2d4f780f7

När servern har tagit emot nyttolastdata från ID-tjänsten måste du initiera ytterligare kod för att sammanfoga den med data som skickats till Target. Det sista JSON-objektet som skickas till Target ser ut ungefär så här:

{
"mbox" : "target-global-mbox",
"marketingCloudVisitorId":"02111696918527575543455026275721941645",
"requestLocation" : {
     "pageURL" : "http://www.domain.com/test/demo.html",
     "host" : "localhost:3000"
     },
"mboxParameters" : {
     "mboxAAMB" : "abcd1234",
     "mboxMCGLH" : "9",
     "mboxMCSDID": "56BE026543F7E211-1CC51BCAAE88F0D2",
     "vst.userid.id": "1234567890",
     "vst.userid.authState": 0,
     }
}

Steg 4: Hämta servertillstånd för ID-tjänsten section-8ebfd177d42941c1893bfdde6e514280

Serverstatusdata innehåller information om arbete som har utförts på servern. Koden för klient-side ID-tjänsten kräver den här informationen. Kunder som har implementerat ID-tjänsten via Dynamic Tag Manager (DTM) kan konfigurera DTM så att servertillståndsdata skickas via det verktyget. Om du har konfigurerat ID-tjänsten via en icke-standardprocess måste du returnera servertillståndet med din egen kod. Klientsidans ID-tjänst och Analytics-kod skickar lägesdata till Adobe när sidan läses in.

Hämta servertillstånd via DTM

Om du har implementerat ID-tjänsten med DTM måste du lägga till kod på sidan och ange ett namn/värde-par i DTM-inställningarna.

Sidkod

Lägg till den här koden i taggen <head> på HTML-sidan:

//Get server state
var serverState = visitor.getState();

Response.send("
...
<head>
     <script>
          //Add 'serverState' as a stringified JSON global variable.
          "var serverState = "+ JSON.stringify(serverState) +";
     </script>
     <script src = "DTM script (satellite JS)">
     </script>
</head>
...

DTM-inställningar

Lägg till dessa som namn/värde-par i avsnittet General > Settings i din ID-tjänstinstans:

  • Name: serverState

  • Value: %serverState%

    note important
    IMPORTANT
    Värdenamnet måste matcha variabelnamnet som du angav för serverState i sidkoden.

Dina konfigurerade inställningar bör se ut så här:

Hämta servertillstånd utan DTM

Om du har en icke-standardimplementering av ID-tjänsten måste du konfigurera den här koden så att den körs på servern medan den sammanställer den begärda sidan:

//Get server state
var serverState = visitor.getState();

Response.send("
...
<head>
     <script src="VisitorAPI.js"></script>
     <script>
          var visitor = Visitor.getInstance(orgID, {
          serverState: serverState
          ...
     </script>
</head>
...

Steg 5: Servera en sida och returnera data från Experience Cloud section-4b5631a0d75a41febd6f43f8c214c263

Nu skickar webbservern sidinnehåll till besökarens webbläsare. Från och med nu gör webbläsaren (inte servern) alla återstående ID-tjänster och Analytics anrop. I webbläsaren:

  • ID-tjänsten tar emot tillståndsdata från servern och skickar SDID till AppMeasurementet.
  • AppMeasurementet skickar data om sidträffen till Analytics, inklusive SDID.
  • Analytics och Target jämför SDID:n för den här besökaren. Med ett identiskt SDID sammanfogar Target och Analytics anropet på serversidan och anropet på klientsidan. Nu ser båda lösningarna besökaren som samma person.
recommendation-more-help
9c9e8ca9-9f7e-42c9-a5d5-a0d82776362a