Show Menu
TÓPICOS×

Extensão do rastreamento de eventos

O AEM Analytics permite rastrear a interação do usuário em seu site. Como desenvolvedor, talvez seja necessário:
Essas informações são basicamente genéricas, mas usam o Adobe Analytics para exemplos específicos.
Para obter informações gerais sobre o desenvolvimento de componentes e caixas de diálogo, consulte Desenvolvimento de componentes .

Eventos personalizados

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

Isso pode ser feito usando o pseudo-atributo data-tracking (o atributo de registro mais antigo ainda é compatível com versões anteriores). É possível adicionar isso a qualquer tag HTML.
The syntax for data-tracking is
  • data-tracking="{'event': ['eventName'], 'values': {'key': 'value', 'nextKey': 'nextValue'}, componentPath: 'myapp/component/mycomponent'}"
Você pode passar qualquer número de pares de valores chave como o segundo parâmetro, que é chamado de carga.
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, todos os data-tracking atributos serão coletados e adicionados ao armazenamento de eventos do ContextHub, onde podem ser mapeados para eventos do Adobe Analytics. Os eventos nã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.

Acompanhamento de eventos personalizados após o carregamento da página

Para rastrear eventos que ocorrem depois que uma página é carregada (como interações de usuário), use a função CQ_Analytics.record JavaScript:
  • CQ_Analytics.record({event: 'eventName', values: { valueName: 'VALUE' }, collect: false, options: { obj: this, defaultLinkType: 'X' }, componentPath: '<%=resource.getResourceType()%>'})
Where
  • events é uma string ou uma matriz de string (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 elemento HTML obj 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 que clicar no link Ir para o link superior fará com que os dois eventos jumptop e headlineclick , sejam acionados:
<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>

Acessar valores no ContextHub

A API JavaScript do ContextHub tem uma getStore(name) função que retorna o armazenamento especificado, se disponível. O armazenamento tem uma getItem(key) função que retorna o valor da chave especificada, se disponível. Usando a getKeys() função, é 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 a ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents) função.
A melhor maneira de ser notificado sobre a disponibilidade inicial do ContextHub é usar a ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents); função.
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)
Consulte também a Referência completa da API do ContextHub

Adicionando Retornos de chamada de registro

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, 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 que seguem na cadeia de execução não serão executados.