Doc produitsMenu

Personnalisation des données d'Analytiques récoltées

Vous pouvez personnaliser les données que le module Analytiques récolte.

Ajout de données personnalisées

Le paramètre DocumentFields doit être ajouté dans le fichier Web.config (modifié dans Déploiement du module Analytiques) afin de pouvoir connecter des métadonnées de document dans la base de données d'Analytiques. La valeur DocumentFields est une liste de champs personnalisés, séparée par des virgules.

Note : Il est conseillé de créer une copie de sauvegarde du fichier web.config avant de le modifier.

<coveoEnterpriseSearch>
  <analytics enabled="true" connectionString="myConnectionString" DocumentFields="@myFirstField,@mySecondField" />
</coveoEnterpriseSearch>

Modification d'actions avant leur sauvegarde dans la base de données

Le code C# suivant est un exemple qui ajoute des informations à une action avant que celle-ci soit sauvegardée. L'exemple suivant, ajouté à la page ASPX, change les valeurs à UserId, SiteId, et ActionValueMedata (date et heure actuelles) avant qu'elles soient sauvegardées dans la base de données SQL.

<%@ Import Namespace="Coveo.CES.Web.Search.Analytics" %>
<script language="c#" runat="server"> 
  protected override void OnLoad(EventArgs p_Args)
  {
    this.ReportCustomActionData += delegate(object sender, AnalyticsActionEventArgs args) 
    {
      args.ActionData.UserMetadata.Add("UserId", "test1234567890");
      args.ActionData.SessionMetadata.Add("SiteId", "site #987654321");
      args.ActionData.Values.Add(new ActionValueData("myDate", DateTime.Now));
    }; 
  }
</script>

Création d'actions personnalisées

Cet exemple est identique à celui affiché dans Modification d'actions avant leur sauvegarde dans la base de données, sauf qu'il ajoute des valeurs sur des actions personnalisées selon vos propres événements qui ne sont pas dans la liste prédéfinie d'actions journalisées (voir Contenu de la base de données d'Analytiques).

using Coveo.CES.Web.Search.Analytics;
var values = new List<ActionValueData>() {new ActionValueData("myActionValue", "valueToLog")};
AnalyticsLogging.LogAction(SearchObject, "myAction", ActionValueNames.OutputTypeValues.WEB, values, null);