Eventi di attivazione

Attivare un esperimento con un evento personalizzato.

Le pagine dinamiche e le applicazioni web su singola pagina in genere caricano ulteriori dati al termine del caricamento iniziale della pagina. Optimize supporta queste implementazioni tramite la funzione denominata Eventi di attivazione.

Contenuti di questo articolo:

Come funziona

Gli eventi di attivazione consentono il funzionamento degli esperimenti di Optimize nelle pagine dinamiche, incluse le sottosezioni dinamiche delle applicazioni su singola pagina. Optimize supporta l'attivazione ritardata in base allo stato, nonché la riattivazione e la disattivazione di un elenco delle modifiche.

Gli eventi di attivazione in Optimize consentono di scegliere come target degli esperimenti eventi inseriti nel dataLayer del sito. Per scegliere come target azioni specifiche, è possibile utilizzare un nome evento in tutto il sito insieme a ulteriori regole di targeting di Optimize.

Attivare un esperimento in un evento personalizzato

Optimize consente di implementare continuamente nuovi esperimenti sfruttando una combinazione di eventi e altre regole di targeting, senza dover modificare ripetutamente il codice lato client del sito.

Scheda Targeting della pagina dei dettagli di un esperimento in Optimize.

Nella scheda Targeting della pagina dei dettagli di un esperimento è possibile attivare un esperimento in base a un evento personalizzato.

In tal caso, l'esperimento non viene eseguito finché non viene attivato un evento dataLayer con il nome evento fornito. È possibile attivare tale evento nel momento in cui la pagina si trova nello stato corretto, eseguendo il seguente codice JavaScript direttamente nella pagina:

dataLayer.push({'event': 'optimize.activate'});

Una volta attivato l'evento scelto come target, vengono valutate eventuali ulteriori condizioni di targeting e l'esperimento passa allo stato attivo (viene applicato l'elenco delle modifiche) solo se tutte le condizioni sono soddisfatte.

Esempio

Se hai più chiamate AJAX tutte da restituire prima che la pagina sia pronta per l'esperimento, potresti attivare un evento dopo ogni chiamata AJAX e includere anche un'ulteriore regola di targeting JavaScript che verifica un determinato valore della variabile. L'esperimento non viene attivato finché non viene soddisfatta l'ulteriore regola di targeting JavaScript e finché non viene restituita una chiamata AJAX.

Riattivare un elenco delle modifiche

È possibile configurare un esperimento in modo che vengano soddisfatte tutte le condizioni di targeting e l'evento scelto come target venga attivato più volte.

Se l'evento scelto come target viene attivato più volte e tutte le altre condizioni di targeting vengono soddisfatte, l'elenco delle modifiche viene riattivato. In tal caso, Optimize controlla la pagina per capire se ha caricato eventuali ulteriori elementi che dovrebbero essere modificati in base all'elenco delle modifiche dell'esperimento. Optimize aggiorna di conseguenza gli elementi appena caricati. Gli elementi esistenti non vengono modificati.

Esempio

Prendi in considerazione una pagina che include un carrello degli acquisti dinamico dove un utente può fare clic sui prodotti per aggiungerli. Poi valuta la possibilità di eseguire un esperimento che:

  • Inserisce un'immagine dopo ogni prodotto nel carrello e...
  • Inserisce un messaggio di offerta globale nella parte superiore del corpo dell'annuncio quando un utente ha almeno un prodotto nel carrello.

La pagina attiva l'evento di attivazione (ad es. shoppingCartChanged) ogni volta che un utente aggiunge o rimuove un articolo dal carrello. Possono far parte dell'esperimento sia la condizione della pagina che le modifiche applicate.

Nell'esempio sopra riportato, la condizione di targeting includerebbe: "Sono presenti prodotti nel carrello?"

La prima volta che l'utente aggiunge un prodotto, l'elenco delle modifiche viene attivato. Optimize:

  • Aggiunge un'immagine dopo il singolo prodotto nel carrello
  • Aggiunge il messaggio di offerta globale nella parte superiore della pagina

La seconda volta che l'utente aggiunge un prodotto al carrello, l'elenco delle modifiche viene riattivato. Optimize:

  • Aggiunge un'immagine dopo il secondo prodotto nel carrello

La seconda volta che l'utente aggiunge un prodotto al carrello, Optimize non aggiunge alla pagina un secondo messaggio di offerta né un'altra immagine dopo il primo prodotto. L'unico elemento modificato è il prodotto appena aggiunto che non era presente quando era stato applicato la prima volta l'elenco delle modifiche.

Disattivare un elenco delle modifiche

È possibile utilizzare gli eventi di attivazione per ripristinare l'elenco delle modifiche di un esperimento. Ad esempio, nello scenario del carrello degli acquisti sopra descritto, non è consigliabile mostrare un codice di offerta a un utente che non soddisfa più la condizione di targeting dell'esperimento. Analogamente, molte applicazioni web su singola pagina condividono i componenti in più sezioni del sito; tuttavia, potrebbe essere necessario limitare le modifiche dell'esperimento a un'unica sezione.

Se viene attivato un evento dopo l'attivazione di un determinato esperimento e le condizioni di targeting non sono più soddisfatte, Optimize ripristina le modifiche applicate in precedenza associate all'esperimento. In questo modo, la pagina torna nello stato in cui si trovava prima dell'attivazione dell'esperimento e dell'applicazione dell'elenco delle modifiche.

Nell'esempio sopra riportato, se dal carrello viene rimosso l'ultimo articolo, viene rimosso anche il messaggio di offerta globale.

Non è possibile ripristinare automaticamente le modifiche JavaScript.

Applicazioni su singola pagina e pagine virtuali

È possibile utilizzare i criteri di targeting per definire le pagine virtuali delle applicazioni web su singola pagina. La condizione ideale di utilizzo dipende dal framework sottostante del sito, ma la maggior parte degli svilupparti di applicazioni web su singola pagina riscontrerà che i frammenti URL sono l'opzione più facile per i siti.

In alcuni casi, le applicazioni web non associano una pagina virtuale a un frammento URL. Ad esempio, alcuni siti utilizzano gli interstitial per l'iscrizione alla newsletter. Questi annunci sono ottimi candidati per il test A/B. È possibile eseguire esperimenti sugli interstitial e su altri elementi simili aggiungendo ulteriori condizioni di targeting all'esperimento di Optimize. È possibile utilizzare il targeting per variabili JavaScript per verificare l'esistenza di contenuti o elementi specifici.

La disattivazione è molto utile per le app su singola pagina che utilizzano le regole CSS per apportare modifiche di stile ai componenti riutilizzati in più pagine. Durante la transizione dell'app a una pagina virtuale diversa, è possibile cancellare i tag <STYLE> di una pagina virtuale da <HEAD>.

Attivazione in un'applicazione su singola pagina

Per riattivare un elenco delle modifiche non è necessario un ulteriore round trip al server di Optimize. Pertanto, un approccio semplice ed efficace agli eventi di attivazione è attivare un evento dopo una qualsiasi modifica alla pagina.

Ad esempio, un'app AngularJS potrebbe implementare gli eventi di attivazione in sette righe di codice attivando un evento dopo ogni digest loop.

Il seguente esempio di snippet di codice attiva un evento dopo ogni digest loop in un'app AngularJS.

myapp.run(function($rootScope, $timeout) {
   $rootScope.$watch(function(){
     $timeout(function(){
       dataLayer.push({'event': 'optimize.activate'});
     },0,false);
   })
})
È stato utile?
Come possiamo migliorare l'articolo?

Hai bisogno di ulteriore assistenza?

Accedi per scoprire altre opzioni di assistenza che ti consentiranno di risolvere rapidamente il tuo problema