Använda ID-tjänsten med A4T och en implementering på serversidan av 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

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 serversidan Target samtal.
  • Göra klientanrop (i webbläsaren) till Analytics.
  • Synkronisera separat Target och Analytics ID:n som avgör om en besökare som ses av en lösning är samma person som den andra lösningen.

Kodnedladdning och medföljande gränssnitt

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

Arbetsflöde

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

Steg 1: Sidan Begär

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 cookie. AMCV-cookien innehåller besökarens Experience Cloud ID (MID).

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

Sedan måste du skapa en server payload request 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.
OBSERVERA

Den här metoden begär en enda mbox från Target. Om du behöver begära flera mbox i ett enda samtal, se generateBatchPayload.

Nyttolastbegäran ska se ut så här: I kodexemplet visitor.setCustomerIDs -funktionen är valfri. Se Kund-ID och autentiseringstillstånd för mer information.

//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

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 skickas till Target. Det sista JSON-objektet som skickas till Target skulle se 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

Serverstatusdata innehåller information om arbete som har utförts på servern. Tjänstkoden för klient-ID 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 koden 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 <head> -tagg på din HTML-sida:

//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 namnvärdespar i General > Settings i din ID-tjänstinstans:

  • Name: serverState

  • Value: %serverState%

    VIKTIGT

    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 Experience Cloud data

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 samtal. I webbläsaren:

  • ID-tjänsten tar emot tillståndsdata från servern och skickar SDID:t till AppMeasurement.
  • AppMeasurement skickar data om sidträffen till Analytics, inklusive SDID.
  • Analytics och Target jämför SDID för den här besökaren. Med ett identiskt SDID, Target och Analytics sammanfoga anropet på serversidan och samtalet på klientsidan. Nu ser båda lösningarna besökaren som samma person.

På denna sida