Estensione del tracciamento degli eventi

AEM Analytics consente di monitorare l’interazione degli utenti sul sito Web. In qualità di sviluppatore potrebbe essere necessario:

NOTA

Queste informazioni sono fondamentalmente generiche, ma utilizzano Adobe Analytics per esempi specifici.

Per informazioni generali sullo sviluppo di componenti e finestre di dialogo, vedere Sviluppo di componenti.

Eventi personalizzati

Gli eventi personalizzati tengono traccia di qualsiasi cosa dipenda dalla disponibilità di un componente specifico sulla pagina. Questo include anche eventi specifici per i modelli, in quanto il componente pagina viene trattato come un altro componente.

Tracciamento degli eventi personalizzati al caricamento della pagina

Questo può essere fatto utilizzando lo pseudo-attributo data-tracking (l'attributo record precedente è ancora supportato per la compatibilità con le versioni precedenti). Potete aggiungere questo tag a qualsiasi tag HTML.

La sintassi per data-tracking è

  • data-tracking="{'event': ['eventName'], 'values': {'key': 'value', 'nextKey': 'nextValue'}, componentPath: 'myapp/component/mycomponent'}"

Potete passare un numero qualsiasi di coppie chiave-valore come secondo parametro, che è chiamato payload.

Un esempio potrebbe essere:

<span data-tracking="{event:'blogEntryView', 
                                values:{
                                   'blogEntryContentType': 'blog', 
                                   'blogEntryUniqueID': '<%= xssAPI.encodeForJSString(entry.getId()) %>',
                                   'blogEntryTitle': '<%= xssAPI.encodeForJSString(entry.getTitle()) %>',
                                   'blogEntryAuthor':'<%= xssAPI.encodeForJSString(entry.getAuthor()) %>',
                                   'blogEntryPageLanguage':'<%= currentPage.getLanguage(true) %>'
                                },
                                componentPath:'myapp/component/mycomponent'}">
</span>

Al caricamento della pagina, tutti gli attributi data-tracking verranno raccolti e aggiunti all'archivio eventi di ContextHub, dove possono essere mappati eventi Adobe Analytics. Gli eventi non mappati non verranno tracciati da Adobe Analytics. Per ulteriori informazioni sulla mappatura degli eventi, vedere Connessione a Adobe Analytics.

Tracciamento eventi personalizzati dopo il caricamento della pagina

Per tenere traccia degli eventi che si verificano dopo il caricamento di una pagina (ad esempio, le interazioni con l'utente), utilizzare la funzione JavaScript CQ_Analytics.record:

  • CQ_Analytics.record({event: 'eventName', values: { valueName: 'VALUE' }, collect: false, options: { obj: this, defaultLinkType: 'X' }, componentPath: '<%=resource.getResourceType()%>'})

Dove

  • events è una stringa o un array di stringhe (per più eventi).

  • values contiene tutti i valori da monitorare

  • collect è facoltativo e restituisce un array contenente l'evento e l'oggetto dati.

  • options è facoltativo e contiene opzioni di tracciamento dei collegamenti come elementi HTML obj e [defaultLinkType](https://microsite.omniture.com/t2/help/en_US/sc/implement/index.html#linkType).

  • componentPath è un attributo necessario ed è consigliabile impostarlo su <%=resource.getResourceType()%>

Ad esempio, con la definizione seguente, se un utente fa clic sul collegamento Passa all'inizio, vengono attivati i due eventi jumptop e headlineclick:

<h1 data-tracking="{event: 'headline', values: {level:'1'}, componentPath: '<%=resource.getResourceType()%>'}">
  My Headline <a href="#" onclick="CQ_Analytics.record({event: ['jumptop','headlineclick'],  values: {level:'1'}, componentPath: '<%=resource.getResourceType()%>'})">Jump to top</a>
</h1>

Accesso ai valori in ContextHub

L'API JavaScript ContextHub dispone di una funzione getStore(name) che restituisce lo store specificato, se disponibile. Lo store ha una funzione getItem(key) che restituisce il valore della chiave specificata, se disponibile. Utilizzando la funzione getKeys() è possibile recuperare un array di chiavi definite per lo store specifico.

È possibile notificare le modifiche di valore in uno store eseguendo il binding di una funzione utilizzando la funzione ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents).

Il modo migliore per ricevere una notifica della disponibilità iniziale di ContextHub è utilizzare la funzione ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);.

Eventi aggiuntivi per ContextHub:

Tutti i negozi pronti:

ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);

Specifico per lo store:

ContextHub.getStore(store).eventing.on(ContextHub.Constants.EVENT_STORE_READY, handler, selector, triggerForPastEvents)

Aggiunta di callback di record

Prima e dopo che le callback vengono registrate utilizzando le funzioni CQ_Analytics.registerBeforeCallback(callback,rank) e CQ_Analytics.registerAfterCallback(callback,rank).

Entrambe le funzioni assumono una funzione come primo argomento e un rango come secondo argomento, che stabilisce l'ordine in cui vengono eseguite le callback.

Se il callback restituisce false, le callback seguenti nella catena di esecuzione non verranno eseguite.

In questa pagina