La versione più recente di at.js in Adobe Target offre set di funzioni avanzate che consentono di eseguire personalizzazioni su tecnologie lato client di nuova generazione. Questa nuova versione si concentra sull'aggiornamento di at.js per garantire interazioni in sintonia con le applicazioni a pagina singola.
Di seguito sono riportati alcuni vantaggi dell’utilizzo di at.js 2.x che non sono disponibili nelle versioni precedenti:
La capacità di memorizzare nella cache tutte le offerte al caricamento di pagina per ridurre più chiamate al server a una singola chiamata al server.
Migliora enormemente le esperienze degli utenti finali sul sito, in quanto le offerte appaiono immediatamente tramite la cache senza l’implementazione di chiamate al server tradizionali.
Una semplice riga di codice e una configurazione per sviluppatori una tantum per consentire agli esperti di marketing di creare ed eseguire Test A/B e Targeting esperienza (XT) tramite il Compositore esperienza visivo sull’SPA.
at.js 2.x diagrammi di sistema
I seguenti diagrammi ti aiutano a comprendere il flusso di lavoro di at.js 2.x tramite Visualizzazioni e come questo migliori l’integrazione con le applicazioni a pagina singola. Per una migliore introduzione dei concetti utilizzati in at.js 2.x, consulta Implementazione di un’applicazione a pagina singola.
(Fare clic sull'immagine per espanderla a larghezza intera.)
Chiamata
Dettagli
1
La chiamata restituisce il ID EXPERIENCE CLOUD se l’utente è autenticato; un’altra chiamata sincronizza l’ID cliente.
2
La libreria at.js viene caricata in modo sincrono e nasconde il corpo del documento.
at.js si carica anche in modo asincrono con un'opzione che nasconde lo snippet implementato sulla pagina.
3
Si effettua una richiesta di caricamento della pagina, con tutti i parametri configurati (MCID, SDID e ID cliente).
4
Gli script di profilo vengono eseguiti e quindi inseriti nell’archivio profili. L’archivio richiede tipi di pubblico idonei dalla libreria Pubblico (ad esempio, audience condivisi da Adobe Analytics, Audience Manager, ecc.).
Gli attributi del cliente vengono inviati all’archivio profili in un processo batch.
5
In base ai parametri di richiesta dell’URL e ai dati di profilo, Target determina le attività ed esperienze da restituire al visitatore per la pagina corrente e le visualizzazioni future.
6
Il contenuto di destinazione viene rinviato alla pagina, includendo facoltativamente i valori di profilo per ulteriore personalizzazione.
Il contenuto mirato sulla pagina corrente viene mostrato il più rapidamente possibile senza che venga visualizzato momentaneamente il contenuto predefinito.
Contenuto mirato per le viste mostrate come risultato delle azioni dell'utente in un’applicazione a pagina singola memorizzata nella cache del browser, in modo da applicarla immediatamente senza una chiamata al server aggiuntiva quando si attivano le viste tramite triggerView().
7
I dati Analytics vengono inviati ai server di raccolta dati.
8
I dati di destinazione corrispondono a Analytics tramite l'identificatore SDID ed è elaborato in Analytics archiviazione dei rapporti.
I dati di Analytics possono quindi essere visualizzati sia in Analytics che in Target tramite i rapporti Analytics for Target (A4T).
Ora, ovunque si implementi triggerView() nell’applicazione a pagina singola, le visualizzazioni e le azioni vengono recuperate dalla cache e mostrate all’utente senza una chiamata al server. triggerView() invia anche una richiesta di notifica al backend Target per incrementare e registrare i conteggi delle impression.
(Fare clic sull'immagine per espanderla a larghezza intera.)
Chiamata
Dettagli
1
Si richiama triggerView() nell’applicazione a pagina singola per eseguire il rendering della visualizzazione e applicare azioni per modificare gli elementi visuali.
2
Il contenuto mirato per la visualizzazione viene letto dalla cache.
3
Il contenuto mirato viene mostrato il più rapidamente possibile senza che venga visualizzato momentaneamente il contenuto predefinito.
4
Si invia la richiesta di notifica all'archivio profili di Target per conteggiare il visitatore nell'attività e nelle metriche incrementali.
5
Dati di Analytics inviati ai server di raccolta dati.
6
TargetI dati di vengono confrontati con i dati di Analytics tramite SDID e vengono elaborati nell’archivio dei rapporti di Analytics. È quindi possibile visualizzare i dati di Analytics sia in Analytics che in tramite i rapporti A4T.Target
Distribuzione di at.js utilizzando i tag in Adobe Experience Platform è il metodo preferito.
Oppure
Scarica manualmente at.js 2.x utilizzando Target e distribuirla utilizzando metodo a tua scelta.
Funzioni at.js obsolete
In at.js 2.x sono state rimosse diverse funzioni.
WARNING
Se queste funzioni obsolete sono ancora in uso sul tuo sito quando viene implementato at.js 2.x, verranno visualizzati degli avvisi nella console. L’approccio consigliato durante l’aggiornamento consiste nel testare la distribuzione di at.js 2.x in un ambiente di verifica, assicurarsi di controllare tutti gli avvisi registrati nella console e tradurre le funzioni obsolete in nuove funzioni introdotte in at.js 2.x.
Di seguito puoi trovare le funzioni obsolete e i loro equivalenti. Per un elenco completo delle funzioni, consulta Funzioni di at.js.
NOTE
at.js 2.x non nasconde più preventivamente in automatico mboxDefault elementi contrassegnati. I clienti dovranno quindi nasconderli manualmente sul sito o tramite uno strumento di gestione dei tag.
mboxCreate(mbox,params)
Descrizione:
Esegue una richiesta e applica l’offerta all’elemento DIV più vicino con il nome della classe mboxDefault.
Esempio:
<div class="mboxDefault">
default content to replace by offer
</div>
<script>
mboxCreate('mboxName','param1=value1','param2=value2');
</script>
Equivalente in at.js 2.x
Un’alternativa a mboxCreate(mbox, params) è getOffer() e applyOffer().
Esempio:
<div class="mboxDefault">
default content to replace by offer
</div>
<script>
var el = document.currentScript.previousElementSibling;
adobe.target.getOffer({
mbox: "mboxName",
params: {
param1: "value1",
param2: "value2"
},
success: function(offer) {
adobe.target.applyOffer({
mbox: "mboxName",
selector: el,
offer: offer
});
},
error: function(error) {
console.error(error);
el.style.visibility = "visible";
}
});
</script>
mboxDefine() e mboxUpdate()
Descrizione:
Crea una mappatura interna tra un elemento e un nome mbox, ma non esegue la richiesta. Utilizzata insieme a mboxUpdate(), che esegue la richiesta e applica l’offerta all’elemento identificato dal nodeId in mboxDefine(). Può essere utilizzato anche per aggiornare una mbox iniziata da mboxCreate.
Un’alternativa a mboxDefine() e mboxUpdate è getOffer() e applyOffer(), con l’opzione del selettore utilizzata in applyOffer(). Questo approccio consente di mappare l’offerta su un elemento utilizzando qualsiasi selettore CSS, non solo uno con un ID.
Fornisce un metodo standard per registrare un’estensione specifica.
Questa funzione non è più supportata. Non utilizzarla.
Riepilogo delle funzioni obsolete, nuove e supportate in at.js 2.x
Metodo
Supportate?
Nuovo?
Obsoleta?
(apparirà il contenuto predefinito)
getOffer()
Sì
getOffers()
Sì
applyOffer()
Sì
applyOffers()
Sì
triggerView()
Sì
trackEvent()
Sì
mboxCreate()
Sì
mboxDefine()
mboxUpdate()
Sì
targetGlobalSettings()
Sì
Data Providers
Sì
targetPageParams()
Sì
targetPageParamsAll()
Sì
registerExtension()
Sì
At.js Custom Events
Sì
Limitazioni e callout
Tieni presente le limitazioni e i callout seguenti:
Tracciamento delle conversioni
I clienti che usano mboxCreate() per il tracciamento delle conversione devono utilizzare trackEvent() o getOffer().
Consegna delle offerte
Se mboxCreate() non viene sosituito con getOffer() o applyOffer(), la consegna delle offerte potrebbe non riuscire.
È possibile usare at.js 2.x in alcune pagine, e at.js 1.x si trova su altre pagine?
Sì, il profilo del visitatore è mantenuto su più pagine utilizzando diverse versioni e librerie. Il formato del cookie è lo stesso.
Nuovo utilizzo dell’API in at.js 2.x
at.js 2.x utilizza una nuova API, che chiamiamo API Delivery. Per eseguire il debug se at.js sta chiamando Target Edge Server correttamente, puoi filtrare la scheda Rete degli strumenti per sviluppatori del tuo browser in "delivery", "tt.omtrdc.net," o il codice cliente. Noterai inoltre che Target invia un payload JSON invece di coppie chiave-valore.
TargetNon si utilizza più la Mbox globale di
In at.js 2.x, ora non è più visibile "target-global-mbox" visibilmente nelle chiamate di rete. Invece, abbiamo sostituito il "target-global-mbox" sintassi per "execute > pageLoad" nel payload JSON inviato a Target server, come illustrato di seguito:
In sostanza, il concetto di mbox globale era stato introdotto per comunicare a Target se recuperare o meno offerte e contenuti al caricamento delle pagine. Nella nostra versione più recente, lo abbiamo reso più esplicito.
Il nome della mbox globale in at.js ha ancora importanza?
I clienti possono specificare un nome per la mbox globale tramite Target > Amministrazione > Implementazione > Modifica impostazioni at.js. I server perimetrali Target utilizzano questa impostazione per tradurre execute > pageload nel nome della mbox globale visualizzato nell’interfaccia utente Target. Questo consente ai clienti di continuare a utilizzare le API lato server, il compositore basato su moduli, gli script di profilo e creare tipi di pubblico utilizzando il nome della mbox globale. Inoltre, consigliamo vivamente di configurare lo stesso nome della mbox globale sul Amministrazione > Compositore esperienza visivo Inoltre, nel caso in cui si disponga di pagine che utilizzano ancora at.js 1.x, come illustrato nelle illustrazioni seguenti.
e
È necessario attivare l’impostazione di creazione automatica di una mbox globale con at.js 2.x?
Nella maggior parte dei casi, sì. Questa impostazione comunica a at.js 2.x di attivare una richiesta ai server edge di Target al momento del caricamento della pagina. Questa impostazione deve essere attiva perché la mbox globale si traduce in execution > pageLoad, ma anche se desideri attivare una richiesta al caricamento della pagina.
Le attività del Compositore esperienza visivo esistenti continueranno a funzionare, anche se il nome della mbox globale di Target non è specificato a partire da at.js 2.x?
Sì, perché execute > pageLoad è trattato sul backend Target come target-global-mbox.
Se le mie attività basate su moduli sono mirate per target-global-mbox, queste continueranno a funzionare?
Sì, perché execute > pageLoad è trattato sui server edge di Target come target-global-mbox.
Impostazioni di at.js 2.x supportate e non supportate
Impostazione
Supportate?
X-Domain
No
Creazione automatica di una mbox globale
Sì
Nome mbox globale
Sì
Supporto del tracciamento tra più domini in at.js 2.x
Il tracciamento tra più domini consente di unire i visitatori di domini diversi. Poiché per ciascun dominio deve essere creato un nuovo cookie, è difficile tenere traccia dei visitatori che passano da un dominio a un altro. Per eseguire il tracciamento tra più domini, Target utilizza usa un cookie di terze parti. Ciò ti consente di creare un’ Target attività che si estende siteA.com e siteB.com e i visitatori rimangono nella stessa esperienza quando navigano tra domini univoci. Questa funzionalità è legata a Targetcomportamento dei cookie di terze parti e di prima parte di.
NOTE
Il tracciamento tra più domini è supportato a partire dalla versione 2.10 di at.js, ma non è incluso come funzionalità integrata in at.js 2.x prima della versione 2.10. Il tracciamento tra più domini è supportato in at.js 2.x tramite la libreria Experience Cloud ID (ECID) v4.3.0+.
In entrata Target, il cookie di terze parti è memorizzato in <CLIENTCODE>.tt.omtrdc.net. Il cookie di prima parte è memorizzato in clientdomain.com. La prima richiesta restituisce intestazioni di risposta HTTP che tentano di impostare cookie di terze parti denominati mboxSession e mboxPC, mentre viene inviata nuovamente una richiesta di reindirizzamento con un parametro aggiuntivo (mboxXDomainCheck=true). Se il browser accetta cookie di terze parti, la richiesta di reindirizzamento li include e viene restituita l’esperienza. Questo flusso di lavoro è possibile perché utilizziamo il metodo HTTP GET.
In at.js 2.x, HTTP GET non viene utilizzato. Invece, HTTP POST viene utilizzato tramite at.js 2.x Target per inviare payload JSON ai server Edge di L’utilizzo di HTTP POST comporta la richiesta di reindirizzamento per verificare se un browser supporta i cookie di terze parti. Infatti le richieste HTTP GET sono transazioni idempotenti, mentre HTTP POST non lo è e non deve essere ripetuto arbitrariamente. Di conseguenza, il tracciamento tra più domini in at.js 2.x (prima della versione 2.10) non è supportato come funzionalità integrata. Solo at.js 1.x supporta il tracciamento tra più domini come funzionalità integrata.
Per utilizzare il tracciamento tra domini diversi per at.js v2.10 o versione successiva, puoi effettuare una delle seguenti operazioni:
Installare Libreria ECID v4.3.0+ in combinazione con at.js 2.x. La libreria ECID consente di gestire gli ID persistenti utilizzati per identificare lo stesso visitatore su domini diversi. Dopo l’installazione della libreria ECID v4.3.0+ e di at.js 2.x, potrai creare attività che si estendono su più domini singoli e tenere traccia degli utenti. È importante notare che questa funzionalità funziona solo dopo la scadenza della sessione.
Invece di installare la libreria ECID, se disponi di at.js v2.10 o versione successiva, puoi abilitare l’impostazione Tra domini diversi in Target Interfaccia utente in Amministrazione > Implementazione. In alternativa, è possibile impostare crossDomain opzione per abilitato nel codice at.js.)
Utilizzare il tracciamento tra domini diversi per le versioni di at.js v2.x prima della versione 2.10, è possibile implementare l’opzione #1 (installa la libreria ECID).
Supporto della creazione automatica di una mbox globale
Questa impostazione comunica a at.js 2.x di attivare una richiesta ai server edge di Target al momento del caricamento della pagina. Poiché la mbox globale è convertita in execute > pageLoad e interpretata dai server edge di Target, i clienti devono attivarla se desiderano avviare una richiesta al caricamento della pagina.
Supporto del nome mbox globale
I clienti possono specificare un nome per la mbox globale tramite Target > Amministrazione > Implementazione > Modifica. I server perimetrali Target utilizzano questa impostazione per tradurre execute > pageLoad nel nome della mbox globale immesso. Questo consente ai clienti di continuare a utilizzare le API lato server, il compositore basato su moduli, gli script di profilo e creare tipi di pubblico mirati per la mbox globale.
I seguenti eventi personalizzati at.js sono applicabili a triggerView() o valgono solo per applyOffer() o applyOffers()?
adobe.target.event.CONTENT_RENDERING_FAILED
adobe.target.event.CONTENT_RENDERING_SUCCEEDED
adobe.target.event.CONTENT_RENDERING_NO_OFFERS
adobe.target.event.CONTENT_RENDERING_REDIRECT
Sì, gli eventi personalizzati at.js sono applicabili anche a triggerView().
Dice quando chiamo triggerView() con &parentesi graffa;"page" : "true"&parentesi graffa;, invierà una notifica Target backend e aumentare l’impression. Questo provocherà anche l’esecuzione degli script di profilo?
Quando si effettua una chiamata di preacquisizione al backend Target, avviene l’esecuzione degli script di profilo. Successivamente, i dati del profilo interessati saranno crittografati e trasmessi nuovamente al lato client. Dopo la chiamata di triggerView() con {"page": "true"}, si invierà una notifica insieme ai dati di profilo codificati. Questo si verifica quando il backend Target deciderà di decodificare i dati di profilo e archiviarli nei database.
Per gestire la visualizzazione temporanea di altri contenuti è necessario aggiungere codice per nasconderli preventivamente prima di richiamare triggerView()?
No, non è necessario aggiungere codice per nascondere contenuti preventivamente prima di richiamare triggerView(). at.js 2.x gestisce la logica relativa ai contenuti nascosti anticipatamente e visualizzati temporaneamente prima di mostrare e applicare la visualizzazione.
Quale at.js 1.x i parametri per la creazione di tipi di pubblico non sono supportati in at.js 2.x?
I seguenti parametri di at.js 1.x sono NOT attualmente supportato per la creazione di pubblico quando si utilizza at.js 2.x:
browserHeight
browserWidth
browserTimeOffset
screenHeight
screenWidth
screenOrientation
colorDepth
devicePixelRatio
vst.* parametri (vedere di seguito)
at.js 2.x non supporta la creazione di tipi di pubblico utilizzando i parametri vst.* parametri
Clienti su at.js 1.x sono stati in grado di utilizzare vst.* Parametri mbox per creare tipi di pubblico. Si è trattato di un effetto collaterale non previsto di come at.js 1.x ha inviato parametri mbox a Target back-end. Dopo la migrazione a at.js 2.x, non è più possibile creare tipi di pubblico utilizzando questi parametri perché at.js 2.x invia i parametri mbox in modo diverso.
Compatibilità di at.js
Le tabelle seguenti contengono una spiegazione di at.js. 2.x compatibilità con diversi tipi di attività, integrazioni, funzionalità e funzioni di at.js.
Tipi di attività
Type (Tipo)
Supportate?
Test A/B
Sì
Allocazione automatica
Sì
Targeting automatico
Sì
Targeting esperienza
Sì
Test multivariato
Sì
Personalizzazione automatizzata
Sì
Recommendations
Sì
NOTE
Targeting automatico Le attività di sono supportate tramite at.js 2.x e il Compositore esperienza visivo quando tutte le modifiche vengono applicate al Page Load Event. Quando si aggiungono modifiche a particolari viste, Test A/B, Allocazione automatica, e Targeting esperienza Sono supportate solo le attività (XT).
at.js 2.x, esattamente come at.js 1.x, utilizza l’evento personalizzato at-request-succeeded per ottenere i token di risposta. Per esempi di codice con l’evento at-request-succeeded personalizzato, consulta Token di risposta.
Mappatura payload dei parametri at.js 1.x parametri di at.js 2.x
Questa sezione delinea le mappature tra at.js 1.x e at.js 2.x.
Prima di passare alla mappatura dei parametri, gli endpoint utilizzati da queste versioni della libreria sono cambiati:
at.js 2.x - Il codice client viene inviato come parametro della stringa query, ad esempio: http://<client code>.tt.omtrdc.net/rest/v1/delivery?client=democlient
Le seguenti sezioni riportano tutte nell’elenco il parametro di at.js 1.x il parametro, la sua descrizione e il corrispondente 2.x Payload JSON (se applicabile):
Funzionalità del rendering GL WEB del browser. Questo viene usato dal nostro meccanismo di rilevamento del dispositivo per determinare se il dispositivo del visitatore è un computer desktop, un iPhone, un dispositivo Android, ecc.
La versione viene inviata come parametro della stringa di query tramite il parametro della versione.
Video di formazione: at.js 2.x diagramma architetturale
at.js 2.x Adobe ottimizzato TargetIl supporto di per l'SPA e si integra con altre soluzioni Experienci Cloud. Questo video spiega come tutti questo elementi funzionano insieme.