Extensão do rastreamento de eventos extending-event-tracking

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

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

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

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.

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e