Extensão do rastreamento de eventos extending-event-tracking
AEM Analytics permite que você acompanhe a interação do usuário em seu site. Como desenvolvedor, talvez seja necessário:
- Rastreie a forma como os visitantes interagem com seus componentes. Isso pode ser feito com Eventos personalizados.
- Acessar valores no ContextHub.
- Adicionar retornos de chamada de registro.
Eventos personalizados custom-events
Os eventos personalizados rastreiam qualquer coisa que dependa da disponibilidade de um componente específico na página. Isso também inclui eventos específicos do modelo, já que o componente da página é tratado como outro componente.
Rastreamento De Eventos Personalizados No Carregamento Da Página tracking-custom-events-on-page-load
Isso pode ser feito usando o pseudo-atributo data-tracking
(o atributo de registro mais antigo ainda é compatível com versões anteriores). Você pode adicionar isso a qualquer tag HTML.
A sintaxe para data-tracking
é
data-tracking="{'event': ['eventName'], 'values': {'key': 'value', 'nextKey': 'nextValue'}, componentPath: 'myapp/component/mycomponent'}"
Você pode transmitir qualquer número de pares de valores chave como o segundo parâmetro, que é chamado de carga útil.
Um exemplo pode ser semelhante a:
<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>
No carregamento da página, tudo data-tracking
os atributos serão coletados e adicionados ao armazenamento de eventos do ContextHub, onde podem ser mapeados para eventos do Adobe Analytics. Eventos que não são mapeados não serão rastreados pelo Adobe Analytics. Consulte Conexão com o Adobe Analytics para obter mais detalhes sobre eventos de mapeamento.
Rastreamento de eventos personalizados após o carregamento da página tracking-custom-events-after-page-load
Para rastrear eventos que ocorrem depois que uma página é carregada (como interações de usuário), use o CQ_Analytics.record
Função do JavaScript:
CQ_Analytics.record({event: 'eventName', values: { valueName: 'VALUE' }, collect: false, options: { obj: this, defaultLinkType: 'X' }, componentPath: '<%=resource.getResourceType()%>'})
Onde
-
events
é uma sequência de caracteres ou uma matriz de sequência (para vários eventos). -
values
contém todos os valores a serem rastreados -
collect
é opcional e retornará uma matriz contendo o evento e o objeto de dados. -
options
é opcional e contém opções de rastreamento de link como o elemento HTMLobj
e[defaultLinkType](https://microsite.omniture.com/t2/help/en_US/sc/implement/index.html#linkType)
. -
componentPath
é um atributo necessário e é recomendável defini-lo como<%=resource.getResourceType()%>
Por exemplo, com a seguinte definição, um usuário clica no botão Ir para o início causará os dois eventos, jumptop
e headlineclick
, a ser despedido:
<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>
Acesso a valores no ContextHub accessing-values-in-the-contexthub
A API do JavaScript do ContextHub tem um getStore(name)
que retorna o armazenamento especificado, se disponível. A loja tem um getItem(key)
que retorna o valor da chave especificada, se disponível. Usar o getKeys()
é possível recuperar uma matriz de chaves definidas para a loja específica.
Você pode ser notificado sobre alterações de valor em uma loja vinculando uma função usando o ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents)
.
A melhor maneira de ser notificado da disponibilidade inicial do ContextHub é usar o ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);
.
Eventos adicionais para o ContextHub:
Todas as lojas prontas:
ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);
Específico da loja:
ContextHub.getStore(store).eventing.on(ContextHub.Constants.EVENT_STORE_READY, handler, selector, triggerForPastEvents)
Adicionar Retornos de chamada de registro adding-record-callbacks
Antes e depois dos retornos de chamada são registrados usando as funções CQ_Analytics.registerBeforeCallback(callback,rank)
e CQ_Analytics.registerAfterCallback(callback,rank)
.
Ambas as funções assumem uma função como o primeiro argumento e uma classificação como o segundo argumento, o que determina a ordem em que os retornos de chamada são executados.
Se o retorno de chamada retornar false, os retornos de chamada subsequentes na cadeia de execução não serão executados.