Estensione del tracciamento degli eventi

Ultimo aggiornamento: 2023-05-04
  • Argomenti:
  • Developing
    Visualizza ulteriori informazioni su questo argomento
  • Creato per:
  • Developer
ATTENZIONE

AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.

AEM Analytics consente di monitorare l’interazione dell’utente 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, consulta Sviluppo di componenti.

Eventi personalizzati

Gli eventi personalizzati tengono traccia di tutto ciò che dipende 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 del record precedente è ancora supportato per la compatibilità con le versioni precedenti). Puoi aggiungerlo a qualsiasi tag HTML.

La sintassi per data-tracking è

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

Puoi trasmettere un numero qualsiasi di coppie chiave-valore come secondo parametro, 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, tutto data-tracking Gli attributi verranno raccolti e aggiunti all’archivio eventi di ContextHub, dove possono essere mappati agli eventi Adobe Analytics. Gli eventi non mappati non verranno tracciati da Adobe Analytics. Vedi Connessione ad Adobe Analytics per ulteriori dettagli sugli eventi di mappatura.

Tracciamento Di 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), utilizza la variabile CQ_Analytics.record Funzione 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 tracciare

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

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

  • componentPath è un attributo necessario e si consiglia di impostarlo su <%=resource.getResourceType()%>

Ad esempio, con la seguente definizione, un utente fa clic sul pulsante Passa all'inizio causerà i due eventi, jumptop e headlineclick, da attivare:

<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 ha un getStore(name) funzione che restituisce l'archivio specificato, se disponibile. Il negozio ha un getItem(key) funzione che restituisce il valore della chiave specificata, se disponibile. Utilizzo della getKeys() funzione è possibile recuperare un array di chiavi definite per lo store specifico.

È possibile ricevere notifiche sulle modifiche dei valori in un archivio eseguendo il binding di una funzione utilizzando ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents) funzione .

Il modo migliore per ricevere le notifiche sulla disponibilità iniziale di ContextHub è quello di utilizzare il 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);

Specifico del negozio:

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

NOTA

Aggiunta di callback di record

Prima e dopo la registrazione dei callback 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 determina l'ordine di esecuzione dei callback.

Se il callback restituisce false, i callback che seguono nella catena di esecuzione non verranno eseguiti.

In questa pagina