Uso del servizio ID con A4T e l'implementazione lato server di Target

Queste istruzioni sono per i clienti A4T con implementazioni miste lato server e lato client di Target, Analytics e del servizio ID. Anche i clienti che devono eseguire il servizio ID in un ambiente NodeJS o Rhino devono consultare queste informazioni. Questa istanza del servizio ID utilizza una versione ridotta della libreria di codici VisitorAPI.js, che puoi scaricare e installare da Node Package Manager (NPM). Leggi questa sezione per istruzioni sull’installazione e per altri requisiti di configurazione.

Introduzione

A4T (e altri clienti) può usare questa versione del servizio ID quando devono:

  • Eseguire il rendering del contenuto della pagina Web sui server e trasmetterlo a un browser per la visualizzazione finale.
  • Effettuare chiamate Target lato server.
  • Effettuare chiamate ad Analytics lato client (nel browser).
  • Sincronizzare diversi ID di Target ed Analytics per determinare se due visitatori rilevati rispettivamente dalle due soluzioni sono in realtà la stessa persona.

Download del codice e interfacce fornite

Per scaricare il pacchetto di codice lato server e rivedere le interfacce incluse nella build corrente, vai all’archivio NPM del servizio ID.

Flusso di lavoro

Il diagramma e le sezioni seguenti descrivono cosa accade e cosa devi configurare in ciascuna fase del processo di implementazione lato server.

Passaggio 1: richiesta della pagina

L'attività lato server inizia quando un visitatore effettua una richiesta HTTP per caricare una pagina Web. Il server riceve la richiesta e controlla il Cookie AMCV. Il cookie AMCV contiene l'identificatore Experience Cloud ID (MID) del visitatore.

Passaggio 2: generazione del payload del servizio ID

Successivamente, devi effettuare una richiesta lato server payload request al servizio ID. Una richiesta di payload:

  • Trasmette il cookie AMCV al servizio ID.
  • Richiede i dati richiesti da Target e Analytics nei passaggi successivi descritti di seguito.
NOTA

Questo metodo richiede un singolo mbox da Target. If you need to request multiple mboxes in a single call, see generateBatchPayload.

Di seguito puoi vedere un esempio di codice per la richiesta di payload. Nel codice di esempio, la funzione visitor.setCustomerIDs è opzionale. Consulta ID cliente e stati di autenticazione per ulteriori informazioni.

//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 
});

Il servizio ID restituisce il payload in un oggetto JSON, simile all'esempio di seguito. I dati di payload sono necessari per Target.

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

Se il visitatore non ha un cookie AMCV, il payload omette queste coppie chiave-valore:

  • marketingCloudvisitorId
  • mboxAAMB
  • mboxMCGLH

Passaggio 3: aggiunta del payload alla chiamata Target

Una volta che il server ha ricevuto i dati di payload dal servizio ID, devi creare un'istanza di codice aggiuntivo per unirli ai dati passati a Target. L'oggetto JSON finale passato a Target sarà simile all'esempio di seguito:

{ 
"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, 
     } 
} 

Passaggio 4: ottenimento dello stato del server per il servizio ID

I dati sullo stato del server contengono informazioni sul lavoro eseguito sul server. Il codice del servizio ID lato client richiede queste informazioni. I clienti che hanno implementato il servizio ID tramite Dynamic Tag Manager possono configurare Dynamic Tag Management per passare i dati sullo stato del server tramite tale strumento. Se hai impostato il servizio ID tramite una procedura non standard, dovrai fornire tu stesso il codice necessario per restituire lo stato del server. Il codice per il servizio ID lato client e Analytics trasmette ad Adobe i dati sullo stato del server al momento del caricamento della pagina.

Ottenere lo stato del server tramite Dynamic Tag Management

Se hai implementato il servizio ID con Dynamic Tag Management, devi aggiungere il codice alla pagina e specificare una coppia nome-valore nelle impostazioni Dynamic Tag Management.

Codice per la pagina

Aggiungi questo codice al tag <head> della pagina HTML:

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

Impostazioni di Dynamic Tag Management

Aggiungi queste coppie nome-valore alla sezione Generali > Impostazioni della tua istanza del servizio ID:

  • Nome: serverState

  • Valore: %serverState%

    IMPORTANTE

    Il nome del valore deve corrispondere al nome della variabile impostato per serverState nel codice della pagina.

Le impostazioni modificate saranno simili all'esempio di seguito:

Consulta anche Impostazioni del servizio Experience Cloud Identity per DTM.

Ottenere lo stato del server senza DTM

Se hai implementato il servizio ID in modo non standard, devi configurare questo codice da eseguire sul server mentre viene assemblata la pagina richiesta:

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

Passaggio 5: serving di una pagina e restituzione di dati Experience Cloud

A questo punto, il server Web invia il contenuto della pagina al browser del visitatore. Da questo punto in poi, è il browser (e non il server) ad effettuare tutte le restanti chiamate al servizio ID e Analytics. Ad esempio, nel browser:

  • Il servizio ID riceve i dati sullo stato dal server e trasmette il codice SDID ad AppMeasurement.
  • AppMeasurement invia i dati sul hit della pagina ad Analytics, incluso l'identificatore SDID.
  • Analytics e Target confrontano gli identificatori SDID del visitatore. Se l'identificatore SDID è identico, Target e Analytics uniscono le chiamate lato server e lato client. A questo punto, entrambe le soluzioni riconoscono il visitatore come la stessa persona.

In questa pagina