Extensão do rastreamento de eventos

ATENÇÃO

AEM 6.4 chegou ao fim do suporte estendido e esta documentação não é mais atualizada. Para obter mais detalhes, consulte nossa períodos de assistência técnica. Encontre as versões compatíveis here.

AEM Analytics permite que você acompanhe 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 Adobe Analytics para exemplos específicos.

Para obter informações gerais sobre o desenvolvimento de componentes e caixas de diálogo, consulte Componentes de desenvolvimento.

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

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

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)

OBSERVAÇÃO

Veja também a conclusão Referência da API do ContextHub

Adicionar 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 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.

Nesta página