Inviare dati Adobe Client Data Layer con il Web SDK
Adobe Client Data Layer (ACDL) raccoglie dati ed eventi sulla pagina, ma non li invia da nessuna parte. Per inviarli a Adobe Experience Platform Edge Network, connettere gli eventi ACDL a Web SDK in uno dei modi seguenti:
Ogni sezione di questa pagina mostra entrambi gli approcci.
Prerequisiti prerequisites
Il codice del sito invia i dati e gli eventi che desideri inviare. Gli esempi in questa pagina utilizzano il push seguente per ogni visualizzazione di pagina:
window.adobeDataLayer = window.adobeDataLayer || [];
window.adobeDataLayer.push({
event: "page view",
page: { title: "Home", language: "en" }
});
A seconda dell’approccio utilizzato, è inoltre necessario disporre dei seguenti elementi:
- ACDL è installato nelle tue pagine.
- Il codice e la libreria 🔗 di base del Web SDK sono installati e il Web SDK è configurato con datastream.
Il codice di base di Web SDK mette in coda i comandi fino al caricamento della relativa libreria e ACDL mette in coda gli elementi fino al caricamento della relativa libreria. A causa di queste code, è possibile aggiungere il codice in questa pagina in qualsiasi punto dopo il codice di base di Web SDK, indipendentemente dalla libreria che viene caricata per prima.
- L’estensione ACDL è installata e configurata nella proprietà tag.
- L’estensione Web SDK è installata e configurata con datastream.
Scegli come mappare i dati mapping
Il Web SDK invia i dati in due oggetti. Scegli uno o entrambi:
Scegli da dove provengono i valori value-sources
Quando un evento ACDL attiva il codice o la regola, puoi leggere i valori del livello dati da due posizioni:
event.page.title, dove event è l’argomento del listener%event.message.page.title%adobeDataLayer.getState("page.title")page.titleUtilizza l’oggetto push per valori che descrivono l’evento stesso, ad esempio il prodotto in un’aggiunta al carrello. Utilizza lo stato calcolato per i valori inviati in precedenza, ad esempio i dettagli utente. Quando il codice o la regola viene eseguito, lo stato calcolato include già i dati del push che l’ha attivata. Vedere Cosa ricevono i listener e Utilizzare i dati inviati nelle regole.
Inviare dati XDM xdm
Gli esempi seguenti inviano una visualizzazione di pagina con il titolo della pagina dall’oggetto inviato.
Ascolta l’evento e chiama sendEvent:
| code language-js |
|---|
|
Per tutte le opzioni del listener, vedere addEventListener().
-
Creare un elemento dati Variable con estensione Web SDK. Seleziona XDM, quindi seleziona la sandbox e lo schema. In questo esempio viene denominato l’elemento dati
XDM variable. -
Crea una regola e aggiungi un evento:
- Estensione: Adobe Client Data Layer
- Tipo evento: Push livello dati
- Triggers su: Eventi denominati specifici, con nome evento
page view - Ambito temporale: Tutti
-
Aggiungi un’azione che riempie l’oggetto XDM:
- Estensione: Adobe Experience Platform Web SDK
- Tipo azione: Aggiorna variabile
- Elemento dati:
XDM variable - Impostare
web.webPageDetails.namesu%event.message.page.title%eweb.webPageDetails.pageViews.valuesu1.
-
Aggiungi un’azione che invia l’evento:
- Estensione: Adobe Experience Platform Web SDK
- Tipo azione: Invia evento
- Tipo:
web.webpagedetails.pageViews - XDM:
%XDM variable%
-
Salva la regola, aggiungila a una libreria e genera la libreria.
Per tutte le opzioni evento, vedi Push livello dati.
Ogni volta che il sito invia un evento page view, il codice o la regola invia una visualizzazione di pagina ad Edge Network.
Inviare le interazioni nello stesso modo. Ad esempio, per un messaggio push come { event: "cart add", eventInfo: { sku: "HT105" } }, ascolta o attiva cart add e leggi il prodotto da eventInfo. Per i campi XDM che descrivono le interazioni di e-commerce, consulta Raccogliere informazioni su commerce, prodotti e ordini.
Inviare il livello dati per la mappatura nello stream di dati data
Per eseguire la mappatura nello stream di dati anziché nel codice o nelle regole, invia i valori del livello dati nell’oggetto data e includi un XDM eventType in modo che l’evento venga classificato correttamente.
| code language-js |
|---|
|
All’interno di un listener ACDL, this fa riferimento al livello dati, quindi this.getState() restituisce lo stato calcolato. Per inviarne solo una parte, passare un percorso, ad esempio this.getState("page").
-
Crea un elemento dati Stato calcolato del livello dati con estensione ACDL. Selezionare Tutto lo stato calcolato oppure selezionare Percorso specifico e immettere il percorso dei dati da inviare. In questo esempio viene denominato l’elemento dati
ACDL state. -
Crea una regola con lo stesso evento Data Layer push di Send XDM data.
-
Aggiungi un’azione Invia evento dall’estensione Web SDK:
- Tipo:
web.webpagedetails.pageViews - Dati:
%ACDL state%
- Tipo:
-
Salva la regola, aggiungila a una libreria e genera la libreria.
Quindi, nel flusso di dati, mappa i campi inviati allo schema XDM. Consulta Preparazione dati per raccolta dati. I dati che non vengono mappati e che nessun servizio configurato legge non vengono memorizzati. L’invio dell’intero stato calcolato aumenta anche le dimensioni di ogni richiesta, pertanto nelle pagine con un livello dati di grandi dimensioni invia solo le parti mappate.
Applicazioni a pagina singola spa
In un’applicazione a pagina singola, la pagina rimane aperta mentre il visitatore visualizza molte pagine virtuali e il livello dati cronologia continua a crescere. Effettua il push di un evento page view per ogni visualizzazione di pagina virtuale e cancella la cronologia dopo l’invio. La cancellazione della cronologia non modifica lo stato calcolato né rimuove listener e regole.
Cancella la cronologia alla fine del listener di visualizzazione della pagina:
| code language-js |
|---|
|
Vedere Cancella cronologia.
Tempistica e duplicati timing
Segui queste procedure in modo che ogni evento venga inviato esattamente una volta:
- Utilizza l’ambito
all. È l’impostazione predefinita in entrambi gli approcci: l’opzionescopein JavaScript e l’impostazione Ambito temporale nei tag. Invia eventi inviati prima che il listener o la regola iniziasse l’ascolto, ad esempio una visualizzazione di pagina inviata prima che lo script o la libreria di tag fossero caricati. Usafuturesolo se un’altra parte dell’implementazione ha già inviato gli eventi precedenti. Vedi Ambito. - Invia ogni evento da un’unica posizione. Se sia il codice che una regola di tag inviano lo stesso evento del livello dati, Adobe lo riceve due volte.
- Libreria JavaScript: utilizzare funzioni denominate e aggiungere ogni listener una volta. ACDL ignora una seconda registrazione della stessa funzione per lo stesso evento. Tuttavia, se il codice che viene eseguito ripetutamente passa una nuova funzione anonima ogni volta, ACDL aggiunge un nuovo listener ogni volta e ogni evento viene inviato più di una volta.
- Estensioni tag: attivazione su nomi evento specifici. Una regola che attiva Tutte le modifiche ai dati viene eseguita per ogni push di dati, che può inviare molti più eventi di quanto previsto.
Pagine correlate related
- Comando
sendEvente azione Invia evento: tutte le opzioni di Web SDK per l’invio di eventi. addEventListener()e Push livello dati: tutte le opzioni per l’ascolto degli eventi ACDL.