Utöka händelsespårning extending-event-tracking
Med AEM Analytics kan ni spåra användarinteraktion på er webbplats. Som utvecklare kan du behöva:
- Spåra hur besökarna interagerar med era komponenter. Detta kan göras med anpassade händelser.
- Åtkomstvärden i ContextHub.
- Lägg till återanrop för post.
Anpassade händelser custom-events
Anpassade händelser spårar allt som är beroende av tillgängligheten för en viss komponent på sidan. Detta inkluderar även händelser som är mallspecifika, eftersom sidkomponenten behandlas som en annan komponent.
Spåra anpassade händelser vid sidinläsning tracking-custom-events-on-page-load
Detta kan göras med pseudoattributet data-tracking
(det äldre postattributet stöds fortfarande för bakåtkompatibilitet). Du kan lägga till det här till valfri HTML-tagg.
Syntaxen för data-tracking
är
data-tracking="{'event': ['eventName'], 'values': {'key': 'value', 'nextKey': 'nextValue'}, componentPath: 'myapp/component/mycomponent'}"
Du kan skicka valfritt antal nyckelvärdepar som den andra parametern, som kallas nyttolast.
Ett exempel kan se ut så här:
<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>
Vid sidinläsning samlas alla data-tracking
-attribut in och läggs till i händelselagret för ContextHub, där de kan mappas till Adobe Analytics-händelser. Händelser som inte mappas spåras inte av Adobe Analytics. Mer information om mappningshändelser finns i Ansluta till Adobe Analytics.
Spåra anpassade händelser efter sidinläsning tracking-custom-events-after-page-load
Om du vill spåra händelser som inträffar efter att en sida har lästs in (till exempel användarinteraktioner) använder du JavaScript-funktionen CQ_Analytics.record
:
CQ_Analytics.record({event: 'eventName', values: { valueName: 'VALUE' }, collect: false, options: { obj: this, defaultLinkType: 'X' }, componentPath: '<%=resource.getResourceType()%>'})
Plats
-
events
är antingen en sträng eller en strängmatris (för flera händelser). -
values
innehåller alla värden som ska spåras -
collect
är valfritt och returnerar en array som innehåller händelsen och dataobjektet. -
options
är valfritt och innehåller alternativ för länkspårning som HTML-elementobj
och[defaultLinkType](https://microsite.omniture.com/t2/help/en_US/sc/implement/index.html#linkType)
. -
componentPath
är ett nödvändigt attribut och du bör ange det till<%=resource.getResourceType()%>
Med följande definition aktiveras de två händelserna jumptop
och headlineclick
om användaren klickar på länken Hoppa till överst :
<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>
Åtkomst till värden i ContextHub accessing-values-in-the-contexthub
ContextHub JavaScript-API:t har en getStore(name)
-funktion som returnerar det angivna arkivet, om en sådan finns. Butiken har en getItem(key)
-funktion som returnerar värdet för den angivna nyckeln, om den är tillgänglig. Med funktionen getKeys()
är det möjligt att hämta en array med definierade nycklar för den specifika lagringsplatsen.
Du kan meddelas om värdeändringar på en butik genom att binda en funktion med funktionen ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents)
.
Det bästa sättet att bli informerad om den initiala tillgängligheten för ContextHub är att använda funktionen ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);
.
Ytterligare händelser för ContextHub:
Alla butiker klara:
ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);
Butiksspecifik:
ContextHub.getStore(store).eventing.on(ContextHub.Constants.EVENT_STORE_READY, handler, selector, triggerForPastEvents)
Lägger till återanrop för post adding-record-callbacks
Före och efter att återanrop har registrerats med funktionerna CQ_Analytics.registerBeforeCallback(callback,rank)
och CQ_Analytics.registerAfterCallback(callback,rank)
.
Båda funktionerna tar en funktion som det första argumentet och rangordnas som det andra argumentet, som anger i vilken ordning återanropen utförs.
Om återanropet returnerar false kommer återanropen som följer i körningskedjan inte att köras.