Show Menu
TOPICS×

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. Argomento consigliato anche per i clienti che devono eseguire il servizio ID in un ambiente NodeJS o Rhino. Questa istanza del servizio ID usa una versione ridotta della libreria di codice VisitorAPI.js, che puoi scaricare e installare da Node Package Manager (NPM). Leggi questa sezione per istruzioni di installazione e altri requisiti di configurazione.

Introduzione

I clienti A4T (ed altri) possono usare questa versione del servizio ID per:
  • Eseguire il rendering del contenuto della pagina Web sui propri server e trasmetterlo quindi 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. La richiesta di payload:
  • trasmette il cookie AMCV al servizio ID;
  • richiede i dati necessari a Target e Analytics per i passaggi successivi descritti di seguito.
Questo metodo richiede un singolo mbox da Target. Se devi richiedere più mbox in una singola chiamata, vedi 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 lato client del sevizio ID richiede tali 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 &gt; Impostazioni
della tua istanza del servizio ID:
  • Nome:
    serverState
  • Valore:
    %serverState%
    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:
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 del server e trasmette l'identificatore 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.