Uso del servicio ID con A4T y una implementación de Target en el lado del servidor

Estas instrucciones están destinadas a los clientes de A4T con implementaciones mixtas del lado del servidor y del cliente de Target, Analytics y el servicio de ID. Los clientes que necesiten ejecutar el servicio de ID en un entorno NodeJS o Rhino también deben consultar esta información. Esta instancia del servicio de ID utiliza una versión abreviada de la biblioteca de códigos VisitorAPI.js, que se descarga e instala desde el administrador de paquetes de nodos (NPM). Lea esta sección para obtener instrucciones de instalación y otros requisitos de configuración.

Introducción

A4T (y otros clientes) pueden utilizar esta versión del servicio de ID cuando necesiten:

  • Procesar el contenido de la página web en sus servidores y pasarlo a un explorador para que lo muestre por última vez.
  • Realizar llamadas de Target del lado del servidor.
  • Realizar llamadas del lado de cliente (dentro del navegador) a Analytics.
  • Sincronizar identificadores de Target y de Analytics por separado para determinar si un visitante que haya sido visto por una solución es la misma persona que otra solución puede haber visto.

Descarga de código e interfaces proporcionadas

Consulte el repositorio NPM del servicio de ID para descargar el paquete de código del lado de servidor y ver las interfaces que se incluyen en la versión actual.

Flujo de trabajo

El diagrama y las secciones que siguen describen qué ocurre y qué debe configurar en cada paso del proceso de implementación del lado de servidor.

Paso 1: Solicitar página

La actividad del lado de servidor comienza cuando un visitante realiza una solicitud HTTP para cargar una página web. En este paso, el servidor recibe la solicitud y comprueba la cookie de Cookie AMCV. La cookie AMCV contiene el ID de Experience Cloud (MID).

Paso 2: Generación de la carga útil del servicio de ID

A continuación, debe realizar una payload request del lado del servidor en el servicio de ID. Una solicitud de carga útil:

  • Pasa la cookie AMCV al servicio de ID.
  • Solicita datos que Target y Analytics necesitan en los pasos siguientes que se describen a continuación.
NOTA

Este método solicita un solo mbox desde Target. Si necesita solicitar varios mboxes en una sola llamada, consulte generateBatchPayload.

Su solicitud de carga útil deberá ser como el ejemplo de código que sigue: En el ejemplo del código, la función visitor.setCustomerIDs es opcional. Consulte ID de cliente y estados de autenticación para obtener más información.

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

El servicio de ID devuelve la carga útil en un objeto JSON parecido al ejemplo siguiente. Los datos de carga útil los necesita Target.

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

Si su visitante no tiene una cookie de AMCV, la carga útil omite estos pares clave-valor:

  • marketingCloudvisitorId
  • mboxAAMB
  • mboxMCGLH

Paso 3: Adición de la carga útil a la llamada de Target

Una vez que el servidor recibe los datos de carga útil del servicio de ID, deberá crear una instancia de código adicional para fusionarla con los datos transferidos a Target. El objeto JSON final transferido a Target tendría un aspecto similar a este:

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

Paso 4: Obtención del estado del servidor para el servicio de ID

Los datos de estado del servidor contienen información sobre el trabajo realizado en el servidor. El código de servicio de ID del lado del cliente requiere esta información. Los clientes que han implementado el servicio de ID a través de Dynamic Tag Manager (DTM) pueden configurar DTM para transferir los datos del estado del servidor a través de esa herramienta. Si ha configurado el servicio de ID por medio de un proceso no estándar, deberá devolver el estado del servidor con su propio código. El servicio de ID del lado de cliente y el código de Analytics transfieren los datos de estado a Adobe al cargarse la página.

Obtención del estado del servidor a través de DTM

Si ha implementado el servicio de ID con DTM, debe agregar código a su página y especificar un par nombre-valor en la configuración de DTM.

Código de página

Agregue este código a la etiqueta <head> de su página 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> 
...

Ajustes de configuración de DTM

Agregue estos pares nombre-valor a la sección General > Configuración de su instancia del servicio de ID:

  • Nombre: serverState

  • Valor: %serverState%

    IMPORTANTE

    El nombre del valor debe coincidir con el nombre de variable definido para serverState en el código de página.

La configuración debe ser similar a la siguiente:

Consulte también Configuración del servicio de identidad de Experience Cloud para DTM.

Obtención del estado del servidor sin DTM

Si su implementación del servicio de ID es estándar, debe configurar este código para que se ejecute en el servidor mientras monta la página solicitada:

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

Paso 5: Servicio de una página y devolución de datos de Experience Cloud

En este punto, el servidor web envía el contenido de la página al navegador del visitante. A partir de este punto, el navegador (no el servidor) realiza el resto de las llamadas del servicio de ID y de Analytics. Por ejemplo, en el explorador:

  • El servicio de ID recibe datos de estado del servidor y pasa el SDID a AppMeasurement.
  • AppMeasurement envía datos sobre la visita a la página a Analytics, incluido el SDID.
  • Analytics y Target comparan los SDID del visitante. Con un SDID idéntico, Target y Analytics unen la llamada del lado de servidor y la llamada del lado de cliente. En este punto, ambas soluciones pueden reconocer al visitante como la misma persona.

En esta página