Utilizzo di identityMap nella raccolta dati
L'oggetto payload identityMap è il modo in cui si comunica all'Edge Network chi è un visitatore oltre il livello di dispositivo ECID. Quando un visitatore effettua l’accesso, completa un acquisto o viene altrimenti reso noto, puoi inviare identificatori a livello di persona (ID del sistema di gestione delle relazioni con i clienti, e-mail con hash, ID fedeltà, ecc.) insieme all’ECID. Questi identificatori a livello di persona forniscono informazioni preziose ai servizi a valle in modo che possano:
- Unisci l'attività a una persona su più dispositivi e canali. Identity Service collega le identità inviate a un grafo delle identità, connettendo un comportamento anonimo a livello di dispositivo a una persona nota.
- Creare profili cliente unificati. Real-Time Customer Profile utilizza l'identità primaria impostata per ancorare eventi e attributi a un singolo profilo, consentendo la segmentazione a livello di persona e la creazione di tipi di pubblico.
- Attiva i tipi di pubblico nelle destinazioni a valle. Molte Destinazioni richiedono identità a livello di persona risolte (e-mail con hash, numeri di telefono, ecc.) per far corrispondere i tipi di pubblico alle basi utente.
- Orchestrazione di percorsi multicanale. Journey Optimizer utilizza identità risolte per attivare e personalizzare percorsi tra canali e-mail, push e in-app in base al comportamento autenticato di un visitatore.
In questa pagina viene descritto come creare payload identityMap, scegliere le impostazioni corrette per ogni identità e gestire scenari di implementazione comuni.
Struttura del payload structure
identityMap è un oggetto JSON in cui ogni chiave di primo livello è uno spazio dei nomi e il valore è un array di descrittori di identità. È possibile includere uno o più spazi dei nomi in un singolo payload e ogni descrittore contiene tre campi: id, authenticatedState e primary.
{
"identityMap": {
"CRMID": [
{
"id": "abc-123-xyz",
"authenticatedState": "authenticated",
"primary": true
}
]
}
}
iduser@example.com o ABC123).authenticatedStateambiguous, authenticated e loggedOut.primaryprimary: true.Le sezioni seguenti descrivono in dettaglio ciascuna parte del payload.
Chiavi dello spazio dei nomi namespace-keys
Ogni chiave di primo livello in identityMap è uno spazio dei nomi identity, ovvero una stringa che classifica il tipo di identificatore, ad esempio CRMID, Email, Phone o LoyaltyId. Gli spazi dei nomi devono esistere in Identity Service prima di poter essere inseriti in un payload. È possibile includere più chiavi dello spazio dei nomi nello stesso evento quando si dispone di più identificatori per il visitatore.
Non è necessario includere l’ECID come chiave dello spazio dei nomi. Edge Network aggiunge automaticamente l’ECID al payload di identità. Se includi esplicitamente l'ECID, non contrassegnarlo come primary quando è presente anche un'identità a livello di persona.
id id
Il campo id è la stringa dell'identificatore stesso, ovvero il valore che indica ad Experience Platform quale persona o dispositivo specifico rappresenta questa identità. Ogni spazio dei nomi identità prevede un formato di valore specifico e l'invio di un valore nel formato errato crea un'identità distinta che non può essere unita alla versione formattata correttamente, con conseguente frammentazione dei profili.
Prima di includere un valore in identityMap, preparalo in base al formato previsto dallo spazio dei nomi di destinazione:
ABC-12345, 00098765user@example.coma1b2c3d4e5f6a7b8c9...+ iniziale, il codice paese e il numero dell'utente con sottoscrizione senza spazi o punteggiatura.+15551234567123e4567-e89b-42d3-9456-426614174000Per l'elenco completo degli spazi dei nomi standard e delle relative definizioni, vedere Panoramica dello spazio dei nomi delle identità.
id distingue tra maiuscole e minuscole. User@Example.com e user@example.com sono trattati come due identità separate. Normalizza le maiuscole/minuscole prima di inviare il valore (di solito inserendo minuscole nelle e-mail e rimuovendo gli spazi vuoti) per evitare di creare identità duplicate nel grafico.Raccolta di id in fase di runtime collect-id
L’identificatore necessario è raramente disponibile direttamente sulla pagina. Le strategie comuni di raccolta includono:
- Livello dati: leggi l'identificatore dal livello dati del tuo sito dopo che il visitatore ha effettuato l'accesso. Questa posizione è l’approccio più affidabile perché il livello dati viene popolato dal backend dell’applicazione e riflette lo stato di sessione autenticato.
- Token di autenticazione o cookie di sessione: decodifica o cerca l'identificatore da un cookie JWT o di sessione impostato dal sistema di autenticazione. Verifica che il token sia ancora attivo prima di utilizzare il valore.
- Arricchimento lato server: utilizza Preparazione dati per raccolta dati o una regola di inoltro eventi per mappare o trasformare l'identificatore in Edge prima che raggiunga i servizi a valle. Questa posizione è utile quando il client ha solo un token di sessione opaco mappato a un ID interno sul lato server.
id viene risolto in una stringa vuota, null o undefined, non includere lo spazio dei nomi in identityMap. L'invio di un elemento id vuoto crea un record di identità interrotto. Controlla l’implementazione con un controllo prima di creare il payload.authenticatedState authenticated-state
Il campo authenticatedState indica ai servizi a valle il livello di attendibilità da inserire in una determinata identità. I seguenti valori sono validi per questo campo:
authenticatedloggedOutambiguousauthenticatedState influisce sul modo in cui Adobe Experience Platform Identity Service crea e unisce i grafici delle identità. L'invio di authenticated per un'identità non verificata può creare collegamenti tra dispositivi non corretti e difficili da annullare.primary primary-identity
Ogni payload identityMap deve avere esattamente un'identità contrassegnata come primary: true. L’identità primaria determina quale identità viene utilizzata come ancoraggio per l’evento in Experience Platform.
Segui queste linee guida quando imposti l’identità primaria:
- Se è disponibile un'identità a livello di persona (il visitatore ha effettuato l'accesso), contrassegna lo spazio dei nomi a livello di persona come primario e l'ECID come non primario. Questo comunica ad Experience Platform di ancorare l’evento alla persona anziché al dispositivo.
- Quando sono disponibili solo identità a livello di dispositivo (il visitatore è anonimo), l'ECID viene utilizzato automaticamente come identità primaria. Non è necessario includere l'ECID in
identityMap, l'Edge Network lo aggiunge automaticamente.
{
"identityMap": {
"CRMID": [
{
"id": "abc-123-xyz",
"authenticatedState": "authenticated",
"primary": true
}
],
"Email": [
{
"id": "user@example.com",
"authenticatedState": "authenticated",
"primary": false
}
]
}
}
Invio di identityMap nell’implementazione send-identity
Passa identityMap nell'oggetto xdm di una chiamata sendEvent:
| code language-js |
|---|
|
Utilizza il tipo di elemento dati Identity map per generare il payload dell'identità nell'interfaccia utente Tag:
-
Creare un elemento dati con estensione Adobe Experience Platform Web SDK e tipo di elemento dati Identity map.
-
Aggiungi le identità specificando lo spazio dei nomi, l’elemento dati o il valore che viene risolto nell’identificatore e lo stato autenticato.
-
Contrassegna una sola identità come principale.
-
Fai riferimento a questo elemento dati nell'azione Send event in Identity map.
Scenari comuni common-scenarios
Quando un visitatore effettua l'accesso, invia il proprio identificatore a livello di persona con authenticatedState: "authenticated" e primary: true. Includi questa identità sul primo evento dopo l’autenticazione e su tutti gli eventi successivi nella sessione.
| code language-json |
|---|
|
Quando un visitatore si disconnette, aggiorna authenticatedState in loggedOut mantenendo lo stesso identificatore. In questo modo viene mantenuta l’associazione tra il dispositivo e la persona segnalando al contempo che la sessione non è più attiva.
| code language-json |
|---|
|
Dopo la disconnessione, l’ECID torna ad essere l’identità primaria effettiva (Edge Network lo applica automaticamente). Non contrassegnare un’identità a livello di persona diversa come primaria a meno che il visitatore non effettui l’accesso con un account diverso.
| note important |
|---|
| IMPORTANT |
Non interrompere completamente l'invio dell'identificatore dopo la disconnessione. Il passaggio da authenticated a loggedOut indica ai servizi a valle che la sessione è terminata. Omettendo completamente l’identificatore si lascia un vuoto nel grafico delle identità che può causare la frammentazione dei profili. |
Puoi inviare più spazi dei nomi di identità nello stesso evento. Questo scenario è comune quando un visitatore ha effettuato l’accesso e sono disponibili diversi identificatori (ad esempio, un ID del sistema di gestione delle relazioni con i clienti, un’e-mail con hash e un ID fedeltà). Includere tutti gli identificatori noti, contrassegnarne solo uno come primario e impostare gli altri su primary: false.
| code language-json |
|---|
|
| note tip |
|---|
| TIP |
L'invio di più spazi dei nomi con lo stesso authenticatedState nello stesso evento fornisce al servizio Identity il segnale più forte per il collegamento di tali identità. Includi tutti gli identificatori disponibili al punto di autenticazione anziché distribuirli tra eventi separati. |
identityMap. Edge Network assegna automaticamente un ECID e lo utilizza come identità primaria. Se utilizzi ID dispositivo di prime parti, l'FPID è l'unica identità da includere per i visitatori anonimi.Effetti di identityMap sul grafo delle identità identity-graph
Ogni payload identityMap che raggiunge Experience Platform viene elaborato da Identity Service, che collega le identità inviate a un grafo di identità. Gli spazi dei nomi inclusi, la modalità di impostazione di authenticatedState e l'identità contrassegnata come primary determinano direttamente il modo in cui Identity Service crea e unisce tali grafici.
Comportamenti chiave da considerare:
- Le identità inviate nello stesso evento sono collegate tra loro. Se includi un CRMID e uno spazio dei nomi e-mail nella stessa chiamata
sendEvent, il servizio Identity crea un collegamento tra queste due identità. La diffusione degli identificatori tra eventi separati genera collegamenti più deboli e può causare la frammentazione dei grafici. - L'identità
primaryancorerà l'evento in Real-Time Customer Profile.Il profilo utilizza l'identità primaria per determinare a quale profilo appartiene l'evento. Contrassegnare l’identità errata come principale (ad esempio, impostando ECID come principale quando è disponibile un ID a livello di persona) può causare la memorizzazione di eventi sui profili a livello di dispositivo anziché sui profili a livello di persona. authenticatedStateinfluenza l'affidabilità del grafico. L'invio diauthenticatedper un'identità che non è stata effettivamente verificata può creare collegamenti tra dispositivi non corretti e difficili da annullare. Utilizzaauthenticatedsolo quando il visitatore ha dimostrato attivamente la propria identità durante la sessione corrente.
Se l'implementazione utilizza regole di collegamento del grafo delle identità (ad esempio, la priorità dello spazio dei nomi o l'algoritmo di ottimizzazione delle identità), consultare la guida all'implementazione per capire come queste regole interagiscono con le identità inviate tramite identityMap.
identityMap viene inviato solo quando il Web SDK effettua una richiesta ad Edge Network, che viene gestita dallo stato di consenso del visitatore. Se l'implementazione utilizza defaultConsent: "pending", le identità non vengono inviate fino alla concessione del consenso. Per informazioni dettagliate, consulta Consenso e identità.