Extension du suivi des événements

AEM Analytics vous permet d’effectuer le suivi des interactions utilisateur sur votre site web. En tant que développeur, vous pouvez avoir besoin :

REMARQUE

Ces informations sont essentiellement génériques, mais elles utilisent Adobe Analytics pour des exemples spécifiques.

Pour obtenir des informations générales sur le développement de composants et de boîtes de dialogue, voir Développement de composants.

Événements personnalisés

Les événements personnalisés suivent tout ce qui dépend de la disponibilité d’un élément spécifique sur la page. Cela inclut également les événements spécifiques à un modèle, car le composant de page est traité comme un autre composant.

Suivi d’événements personnalisés lors du chargement d’une page

Cela peut être fait à l'aide du pseudo-attribut data-tracking (l'ancien attribut d'enregistrement est toujours pris en charge pour la compatibilité ascendante). Vous pouvez l’ajouter à n’importe quelle balise HTML.

La syntaxe de data-tracking est

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

Vous pouvez transmettre n’importe quel nombre de paires clé-valeur comme second paramètre appelé charge utile.

En voici un exemple :

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

Au chargement de la page, tous les attributs data-tracking seront collectés et ajoutés au magasin de événements de ContextHub, où ils peuvent être mappés aux événements Adobe Analytics. Les événements non mappés ne seront pas suivis par Adobe Analytics. Voir Connexion à Adobe Analytics pour plus d’informations sur le mappage des événements.

Suivi d’événements personnalisés après le chargement d’une page

Pour suivre des événements se produisant après le chargement d’une page (tels que des interactions utilisateur), utilisez la fonction JavaScript CQ_Analytics.record :

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

Où :

  • events est une chaîne ou un tableau de chaîne (pour plusieurs événements).

  • values contient toutes les valeurs à suivre.

  • collect est facultatif et renvoie un tableau contenant l’événement et l’objet de données.

  • options est facultatif et contient des options de suivi de liens telles que l’élément HTML obj et [defaultLinkType](https://microsite.omniture.com/t2/help/en_US/sc/implement/index.html#linkType).

  • componentPath est un attribut nécessaire et il est recommandé de le définir sur <%=resource.getResourceType()%>

Par exemple, avec la définition suivante, un utilisateur cliquant sur le lien Aller en haut entraîne le déclenchement de deux événements, jumptop et headlineclick :

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

Accès aux valeurs dans ContextHub

L’API JavaScript ContextHub possède une fonction getStore(name) qui renvoie le magasin spécifié, le cas échéant. La boutique possède une fonction getItem(key) qui renvoie la valeur de la clé spécifiée, si elle est disponible. La fonction getKeys() permet de récupérer un tableau de clés définies pour le magasin spécifique.

Vous pouvez être averti des modifications de valeur d'un magasin en liant une fonction à l'aide de la fonction ContextHub.getStore(name).eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED, handler, selector, triggerForPastEvents).

Le meilleur moyen d'être informé de la disponibilité initiale de ContextHub est d'utiliser la fonction ContextHub.eventing.on(ContextHub.Constants.EVENT_ALL_STORES_READY, handler, selector, triggerForPastEvents);.

Événements supplémentaires pour ContextHub :

Toutes les boutiques sont prêtes :

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

Une boutique spécifique :

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

REMARQUE

Voir aussi la Référence API ContextHub complète

Ajout de rappels d’enregistrement

Les rappels avant et après sont enregistrés à l'aide des fonctions CQ_Analytics.registerBeforeCallback(callback,rank) et CQ_Analytics.registerAfterCallback(callback,rank).

Les deux fonctions prennent une fonction comme premier argument et un classement comme deuxième argument, ce qui détermine l’ordre dans lequel les rappels sont exécutés.

Si votre rappel renvoie false, les rappels suivants dans la chaîne d’exécution ne sont pas exécutés.

Sur cette page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free