Erweitern der Ereignisverfolgung

Mit AEM Analytics können Sie Benutzerinteraktionen auf Ihrer Website verfolgen. Als Entwickler müssen Sie möglicherweise:

HINWEIS

Diese Informationen sind im Wesentlichen generisch, werden aber für bestimmte Beispiele Adobe Analytics verwendet.

Allgemeine Informationen zum Entwickeln von Komponenten und Dialogfeldern finden Sie unter Entwickeln von Komponenten.

Benutzerspezifische Ereignisse

Benutzerspezifische Ereignisse verfolgen alles, was von der Verfügbarkeit einer bestimmten Komponente auf der Seite abhängt. Hierzu gehören auch vorlagenspezifische Ereignisse, da die Seitenkomponente als eine weitere Komponente behandelt wird.

Verfolgen von benutzerspezifischen Ereignissen beim Laden einer Seite

Dies kann mithilfe des Pseudo-Attributs data-tracking erfolgen (das ältere Datensatzattribut wird aus Gründen der Abwärtskompatibilität weiterhin unterstützt). Sie können dieses einem beliebigen HTML-Tag hinzufügen.

Die Syntax für data-tracking lautet

  • data-tracking="{'event': ['eventName'], 'values': {'key': 'value', 'nextKey': 'nextValue'}, componentPath: 'myapp/component/mycomponent'}"

Sie können eine beliebige Anzahl von Schlüssel-Wert-Paaren als zweiten Parameter übergeben, der als Nutzlast bezeichnet wird.

Ein Beispiel kann wie folgt aussehen:

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

Beim Laden der Seite werden alle data-tracking-Attribute erfasst und zum Ereignisspeicher des ContextHub hinzugefügt, wo sie Adobe Analytics-Ereignissen zugeordnet werden können. Ereignisse, die nicht zugeordnet sind, werden von Adobe Analytics nicht verfolgt. Weitere Informationen zur Zuordnung von Ereignissen finden Sie unter Herstellen einer Verbindung zu Adobe Analytics .

Verfolgen von benutzerspezifischen Ereignissen nach dem Laden einer Seite

Um Ereignisse zu verfolgen, die nach dem Laden einer Seite auftreten (wie z. B. Benutzerinteraktionen), verwenden Sie die JavaScript-Funktion CQ_Analytics.record:

  • CQ_Analytics.record({event: 'eventName', values: { valueName: 'VALUE' }, collect: false, options: { obj: this, defaultLinkType: 'X' }, componentPath: '<%=resource.getResourceType()%>'})

wobei

  • events ist entweder eine Zeichenfolge oder ein Zeichenfolgen-Array (bei mehreren Ereignissen).

  • values enthält alle zu verfolgenden Werte.

  • collect ist optional und gibt ein Array mit den Ereignis- und Objektdaten zurück.

  • options ist optional und enthält Linktracking-Optionen wie HTML-Element obj und [defaultLinkType](https://microsite.omniture.com/t2/help/en_US/sc/implement/index.html#linkType).

  • componentPath ist ein erforderliches Attribut und es wird empfohlen, <%=resource.getResourceType()%>

Beispielsweise verursacht bei folgender Definition das Klicken eines Benutzers auf den Link Jump to top, dass die beiden Ereignisse jumptop und headlineclick ausgelöst werden:

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

Zugreifen auf Werte in ContextHub

Die ContextHub-JavaScript-API verfügt über eine getStore(name)-Funktion, die den angegebenen Store zurückgibt, sofern verfügbar. Der Store verfügt über eine getItem(key) -Funktion, die den Wert des angegebenen Schlüssels zurückgibt, sofern verfügbar. Mithilfe der Funktion getKeys() können Sie ein Array definierter Schlüssel für den spezifischen Store abrufen.

Sie können über Wertänderungen in einem Store benachrichtigt werden, indem Sie eine Funktion mithilfe der Funktion ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents) binden.

Die beste Möglichkeit, über die anfängliche Verfügbarkeit von ContextHub informiert zu werden, besteht in der Verwendung der Funktion ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents); .

Zusätzliche Ereignisse für ContextHub:

Alle Speicher bereit:

ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);

Speicherspezifisch:

ContextHub.getStore(store).eventing.on(ContextHub.Constants.EVENT_STORE_READY, handler, selector, triggerForPastEvents)

HINWEIS

Weitere Informationen finden Sie in der vollständigen ContextHub-API-Referenz

Hinzufügen von Datensatzrückrufen

Vor und nach Rückrufen werden mit den Funktionen CQ_Analytics.registerBeforeCallback(callback,rank) und CQ_Analytics.registerAfterCallback(callback,rank) registriert.

Bei beiden Funktionen wird als erstes Argument eine Funktion und als zweites Argument ein Rang verwendet, der die Reihenfolge der auszuführenden Rückrufe angibt.

Falls ein Rückruf den Wert „false“ zurückgibt, werden die darauf folgenden Rückrufe in der Ausführungskette nicht ausgeführt.

Auf dieser Seite