Show Menu
ARGOMENTI×

Estensione del tracciamento degli eventi

AEM Analytics consente di monitorare l’interazione degli utenti sul sito Web. In qualità di sviluppatore potrebbe essere necessario:
Queste informazioni sono in pratica 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 Di 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 aggiungerlo a qualsiasi tag HTML.
The syntax for data-tracking is
  • 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.
Esempio:
<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 data-tracking gli attributi verranno raccolti e aggiunti all'archivio eventi di ContextHub, dove possono essere mappati agli eventi di Adobe Analytics. Gli eventi non mappati non verranno tracciati da Adobe Analytics. Consultate Connessione ad Adobe Analytics per ulteriori dettagli sulla mappatura degli eventi.

Tracciamento degli eventi personalizzati dopo il caricamento della pagina

Per tenere traccia degli eventi che si verificano dopo che una pagina è stata caricata (ad esempio, le interazioni degli utenti), utilizzate la funzione CQ_Analytics.record JavaScript:
  • 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 seguente definizione, un utente che fa clic sul collegamento Vai in alto attiva 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 getStore(name) funzione che restituisce lo store specificato, se disponibile. Lo store ha una getItem(key) funzione che restituisce il valore della chiave specificata, se disponibile. Utilizzando la getKeys() funzione è possibile recuperare un array di chiavi definite per lo store specifico.
È possibile notificare le modifiche di valore in uno store associando una funzione utilizzando la ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents) funzione.
Il modo migliore per ricevere una notifica della disponibilità iniziale di ContextHub è utilizzare la ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents); funzione.
Eventi aggiuntivi per ContextHub:
Tutti i negozi pronti:
ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);
Store specifico:
ContextHub.getStore(store).eventing.on(ContextHub.Constants.EVENT_STORE_READY, handler, selector, triggerForPastEvents)
Consultare anche il riferimento completo all'API ContextHub

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.