Extensão do rastreamento de Eventos

O AEM Analytics permite que você rastreie a interação do usuário em seu site. Como desenvolvedor, talvez seja necessário:

Observação

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 à loja de eventos do ContextHub, onde podem ser mapeados para eventos Adobe Analytics. Eventos que não estão mapeados não serão rastreados pelo Adobe Analytics. Consulte Conectando-se ao Adobe Analytics para obter mais detalhes sobre o mapeamento de eventos.

Rastreamento 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 início fará com que os dois eventos jumptop e headlineclick, sejam disparados:

<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)

Observação

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.

Nesta página