Gebeurtenistracking uitbreiden extending-event-tracking
Met AEM Analytics kunt u gebruikersinteractie op uw website volgen. Als ontwikkelaar moet u mogelijk:
- Houd bij hoe bezoekers uw componenten gebruiken. Dit kan gebeuren met Aangepaste gebeurtenissen.
- De waarden van de toegang in ContextHub.
- Recordcallbacks toevoegen.
Aangepaste gebeurtenissen custom-events
Aangepaste gebeurtenissen volgen alles wat afhankelijk is van de beschikbaarheid van een specifieke component op de pagina. Dit omvat ook gebeurtenissen die sjabloonspecifiek zijn, aangezien de pagina-component als een andere component wordt behandeld.
Aangepaste gebeurtenissen bijhouden bij laden van pagina tracking-custom-events-on-page-load
Dit kan worden gedaan gebruikend pseudo-attribuut data-tracking (Het oudere recordkenmerk wordt nog steeds ondersteund voor achterwaartse compatibiliteit). U kunt dit toevoegen aan elke HTML-tag.
De syntaxis voor data-tracking is
data-tracking="{'event': ['eventName'], 'values': {'key': 'value', 'nextKey': 'nextValue'}, componentPath: 'myapp/component/mycomponent'}"
U kunt elk aantal sleutel-waardeparen als tweede parameter overgaan, die nuttige lading wordt genoemd.
Een voorbeeld zou als kunnen kijken:
<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>
Tijdens het laden van de pagina, alles data-tracking attributen zullen worden verzameld en aan de gebeurtenisopslag van ContextHub toegevoegd, waar zij aan de gebeurtenissen van Adobe Analytics kunnen worden in kaart gebracht. Gebeurtenissen die niet zijn toegewezen, worden niet bijgehouden door Adobe Analytics. Zie Verbinding maken met Adobe Analytics voor meer informatie over toewijzingsgebeurtenissen.
Aangepaste gebeurtenissen bijhouden na laden van pagina tracking-custom-events-after-page-load
Als u gebeurtenissen wilt bijhouden die plaatsvinden nadat een pagina is geladen (zoals gebruikersinteracties), gebruikt u de opdracht CQ_Analytics.record JavaScript-functie:
CQ_Analytics.record({event: 'eventName', values: { valueName: 'VALUE' }, collect: false, options: { obj: this, defaultLinkType: 'X' }, componentPath: '<%=resource.getResourceType()%>'})
Wanneer
-
eventsis een tekenreeks of een tekenreeks-array (voor meerdere gebeurtenissen). -
valuesbevat alle waarden die moeten worden bijgehouden -
collectis optioneel en retourneert een array met de gebeurtenis en het gegevensobject. -
optionsis optioneel en bevat opties voor het bijhouden van koppelingen, zoals het HTML-elementobjen[defaultLinkType](https://microsite.omniture.com/t2/help/en_US/sc/implement/index.html#linkType). -
componentPathis een noodzakelijk attribuut en het wordt geadviseerd om het te plaatsen aan<%=resource.getResourceType()%>
Met de volgende definitie klikt een gebruiker bijvoorbeeld op de knop Springen naar boven de koppeling zal beide gebeurtenissen veroorzaken, jumptop en headlineclick, te branden:
<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>
Toegang tot Waarden in ContextHub accessing-values-in-the-contexthub
De JavaScript-API van ContextHub heeft een getStore(name) functie die de opgegeven store retourneert, indien beschikbaar. De winkel heeft een getItem(key) functie die de waarde van de opgegeven toets retourneert, indien beschikbaar. Met de getKeys() als het mogelijk is een array met gedefinieerde sleutels voor de specifieke winkel op te halen.
U kunt op de hoogte worden gesteld van waardewijzigingen in een winkel door een functie te binden met de ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents) functie.
De beste manier om van aanvankelijke beschikbaarheid te worden op de hoogte gebracht ContextHub is het gebruiken van ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents); functie.
Aanvullende gebeurtenissen voor ContextHub:
Alle winkels klaar:
ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);
Opslagspecifiek:
ContextHub.getStore(store).eventing.on(ContextHub.Constants.EVENT_STORE_READY, handler, selector, triggerForPastEvents)
Recordcallbacks toevoegen adding-record-callbacks
Voor en na callbacks worden geregistreerd gebruikend de functies CQ_Analytics.registerBeforeCallback(callback,rank) en CQ_Analytics.registerAfterCallback(callback,rank).
Beide functies nemen een functie als eerste argument en een rang als tweede argument, die de orde dicteert dat callbacks worden uitgevoerd.
Als uw callback vals terugkeert, zullen de callbacks die in de uitvoeringsketen volgen niet worden uitgevoerd.