Analyse de l'utilisation avec Application Insights

Quelles sont les fonctionnalités de votre application web ou mobile les plus populaires ? Vos utilisateurs atteignent-ils leurs objectifs avec votre application ? Disparaissent-ils à des stades spécifiques, et reviennent-ils plus tard ? Application Insights vous permet d’obtenir des insights utiles sur la façon dont les gens utilisent votre application. Chaque fois que vous mettez à jour votre application, vous pouvez évaluer son bon fonctionnement pour les utilisateurs. Grâce à ces informations, vous pouvez prendre des décisions pilotées par des données quant à vos prochains cycles de développement.

Envoyer des données de télémétrie à partir de votre application

Pour une expérience optimale, installez Application Insights à la fois dans le code de votre serveur d’applications et sur vos pages web. Les composants client et serveur de votre application envoient la télémétrie au portail Azure pour analyse.

  1. Code serveur : installez le module approprié pour votre ASP.NET, Azure, Java, Node.js ou une autre application.

  2. Code de page Web : utilisez le SDK JavaScript pour collecter des données à partir de pages Web. Voir Bien démarrer avec le SDK JavaScript.

    Notes

    Le support de l’ingestion de clé d’instrumentation prendra fin le 31 mars 2025. L’ingestion de clé d’instrumentation continuera de fonctionner, mais nous ne fournirons plus de mises à jour ni de support pour la fonctionnalité. Passez aux chaînes de connexion pour tirer parti des nouvelles fonctionnalités.

    Pour en savoir plus les configurations plus complexes pour la supervision des sites web, consultez l’article de référence du SDK JavaScript.

  3. Code de l’application mobile : utilisez le kit SDK App Center pour collecter des événements à partir de votre application. Ensuite, envoyez des copies de ces événements à Application Insights pour analyse en suivant ce guide.

  4. Récupération de données de télémétrie : exécutez votre projet en mode débogage pendant quelques minutes. Recherchez ensuite les résultats dans le volet Vue d’ensemble d’Application Insights.

    Publiez votre application pour surveiller les performances de votre application et découvrir ce que vos utilisateurs font avec votre application.

Explorer des données démographiques et des statistiques de l’utilisation

Identifiez à quel moment les visiteurs utilisent votre application et quelles pages les intéressent le plus. Vous pouvez également déterminer l’emplacement de vos utilisateurs, ainsi que les navigateurs et systèmes d’exploitation qu’ils emploient.

Les rapports Utilisateurs et Sessions filtrent vos données par pages ou événements personnalisés. Ils segmentent ces données en fonction de propriétés comme l’emplacement, l’environnement et la page. Vous pouvez également ajouter vos propres filtres.

Capture d’écran montrant l’onglet Utilisateurs avec un graphique à barres.

Aperçu des modèles intéressants appropriés dans le jeu de données.

  • Le rapport Utilisateurs compte le nombre d’utilisateurs uniques qui accèdent à vos pages dans les délais que vous avez choisis. Pour les applications web, les utilisateurs sont comptés avec les cookies. Si une personne accède à votre site avec différents navigateurs ou machines clientes, ou si elle efface ses cookies, elle est comptée plus d'une fois.
  • Le rapport Sessions indique le nombre de sessions d'utilisateurs qui accèdent à votre site. Une session représente une période d’activité initiée par un utilisateur et se termine par une période d’inactivité supérieure à une demi-heure.

Pour plus d’informations sur les outils Utilisateurs, Sessions et Événements, consultez Analyse des utilisateurs, sessions et événements dans Application Insights.

Rétention (nombre d’utilisateurs qui reviennent)

La rétention vous permet de comprendre la fréquence à laquelle vos utilisateurs reviennent utiliser leur application, en fonction des cohortes d’utilisateurs qui ont effectué une action pendant une période donnée. Vous pouvez :

  • comprendre quelles fonctionnalités spécifiques font revenir les utilisateurs plus que d’autres ;
  • formuler des hypothèses en fonction des données utilisateur réel ;
  • déterminer si la rétention pose problème dans votre produit.

Capture d’écran montrant le classeur Rétention avec des informations sur la fréquence à laquelle les utilisateurs reviennent pour utiliser leur application.

Vous pouvez utiliser les commandes de rétention en haut afin de définir des événements spécifiques et des intervalles de temps pour calculer la rétention. Le graphique au centre fournit une représentation visuelle du pourcentage de rétention globale sur l’intervalle de temps spécifié. Le graphique en bas représente la rétention individuelle sur une période de temps donnée. Ce niveau de détail vous permet de comprendre de manière plus approfondie ce que font vos utilisateurs et ce qui les peut amener à revenir.

Pour plus d’informations sur le classeur Rétention, consultez Analyse de la rétention des utilisateurs pour les applications web avec Application Insights.

Événements personnalisés

Pour comprendre les interactions utilisateur dans votre application, insérez des lignes de code pour journaliser les événements personnalisés. Ces événements permettent de suivre diverses actions de l'utilisateur, comme la sélection d'un bouton, ou des événements commerciaux importants, comme des achats ou des victoires dans un jeu.

Vous pouvez également utiliser le plug-in Click Analytics Autocollection pour collecter des événements personnalisés.

Les pages consultées peuvent parfois représenter des événements utiles, mais ce n’est en général pas le cas. Un utilisateur peut ouvrir une page produit sans acheter le produit.

Grâce aux événements spécifiques, vous pouvez représenter la progression de vos utilisateurs sur votre site. Vous pouvez connaître leurs préférences sur les différentes options et savoir où ils abandonnent ou rencontrent des difficultés. Grâce à ces informations, vous pouvez prendre des décisions avisées sur les priorités de vos travaux de développement en souffrance.

Les événements peuvent être enregistrés à partir du côté client de l’application :

      appInsights.trackEvent({name: "incrementCount"});

Les événements peuvent également être enregistrés côté serveur :

    var tc = new Microsoft.ApplicationInsights.TelemetryClient();
    tc.TrackEvent("CreatedAccount", new Dictionary<string,string> {"AccountType":account.Type}, null);
    ...
    tc.TrackEvent("AddedItemToCart", new Dictionary<string,string> {"Item":item.Name}, null);
    ...
    tc.TrackEvent("CompletedPurchase");

Vous pouvez joindre des valeurs de propriété à ces événements pour pouvoir filtrer ou fractionner ces derniers lorsque vous les analysez sur le portail. Un ensemble standard de propriétés est également attaché à chaque événement, comme des ID d’utilisateur anonymes, vous permettant ainsi de suivre la séquence d’activités d’un utilisateur.

En savoir plus sur les événements personnalisés et les propriétés.

Segmenter et traiter les événements

Dans les outils Utilisateurs, Sessions et Événements, vous pouvez segmenter et traiter des événements personnalisés par utilisateur, nom d’événement et propriétés.

Capture d’écran montrant l’onglet Événements filtré par AnalyticsItemsOperation et fractionné par AppID.

Chaque fois que vous êtes dans une expérience d’utilisation, cliquez sur l’icône Ouvrir la dernière requête d’exécution pour revenir à la requête sous-jacente.

Capture d’écran du volet de la session Application Insights dans le portail Azure. L’icône Ouvrir la dernière requête d’exécution est mise en surbrillance.

Vous pouvez ensuite modifier la requête sous-jacente pour obtenir le type d’informations que vous recherchez.

Voici un exemple de requête sous-jacente sur les affichages de page. Ensuite, collez-le directement dans l’éditeur de requête pour le tester.

// average pageView duration by name
let timeGrain=5m;
let dataset=pageViews
// additional filters can be applied here
| where timestamp > ago(1d)
| where client_Type == "Browser" ;
// calculate average pageView duration for all pageViews
dataset
| summarize avg(duration) by bin(timestamp, timeGrain)
| extend pageView='Overall'
// render result in a chart
| render timechart

Concevoir la télémétrie avec l’application

Lorsque vous concevez chaque fonctionnalité de votre application, prenez en compte la façon dont vous allez mesurer son succès auprès de vos utilisateurs. Choisissez les événements à enregistrer et coder les appels de suivi de ces événements dans votre application dès le début.

Tests A/B

Si vous ne savez pas quelle variante de fonctionnalité est la plus efficace, relâchez et permettez à différents utilisateurs d’accéder à chaque variante. Mesurez le succès de chaque variante, puis passez à une version unifiée.

Dans cette technique, vous attachez des valeurs de propriété uniques à toutes les données télémétriques envoyées par chaque version de votre application. Vous pouvez le faire en définissant des propriétés dans le TelemetryContext actif. Ces propriétés par défaut sont incluses dans chaque message de télémétrie envoyé par l’application. Il comprend à la fois des messages personnalisés et des données télémétriques standard.

Sur le portail Application Insights, filtrez et segmentez vos données sur les valeurs de propriétés pour pouvoir comparer les différentes versions.

Pour cela, configurez un initialiseur de télémétrie :

    // Telemetry initializer class
    public class MyTelemetryInitializer : ITelemetryInitializer
    {
        // In this example, to differentiate versions, we use the value specified in the AssemblyInfo.cs
        // for ASP.NET apps, or in your project file (.csproj) for the ASP.NET Core apps. Make sure that
        // you set a different assembly version when you deploy your application for A/B testing.
        static readonly string _version = 
            System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
            
        public void Initialize(ITelemetry item)
        {
            item.Context.Component.Version = _version;
        }
    }

Pour les applicationsASP.NET Core, ajoutez un nouvel initialiseur de télémétrie à la collection du service d’injection de Dépendance dans la Program.cs classe .

using Microsoft.ApplicationInsights.Extensibility;

builder.Services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();

Étapes suivantes