Quels indicateurs suivre pour votre application mobile ?

La phase de Run d’une application est toujours une période gratifiante : l’application sur laquelle on a tant travaillé va enfin sortir ! Mais c’est aussi une phase pleine d’incertitudes et qui peut amener de nombreuses frustrations : la qualité globale de l’application est-elle suffisante ? Les utilisateurs sont-ils satisfaits ? Qu’attendent-ils de l’application ?
Pourquoi mon service client est-il débordé avec cette fonctionnalité qui pourtant est si simple à comprendre ? Quel est ce crash qui se produit à chaque lancement de cette fonctionnalité centrale ?
Autant d’interrogations qui trouvent leur réponse dans une solution : le suivi et l’analyse.
Il ne s’agit pas d’avoir une solution miracle mais bien d’anticiper de nombreuses situations (problèmes, attentes des utilisateurs, évolutions possibles…) et de garder le contrôle de votre application une fois sortie.
Les enjeux sont à la fois qualitatifs, métier et marketing.
Qu’est-ce que le Tracking In-App ?
Le nom est assez explicite : comme vous l’aurez deviné, il s’agit d’intégrer au sein de votre application un mécanisme de reporting d’erreur/crash mais également de suivi des utilisateurs.
Nous allons distinguer deux types de suivis :
- Applicatif : pour la qualité
- Utilisateur : plutôt orienté métier et marketing
Suivis qualité
Le premier sujet que l’on va souhaiter traiter sera d’identifier le plus rapidement possible les bugs mais surtout les crashs. La raison à cela est évidente : le taux d’adhésion à votre application va énormément chuter si celle-ci crashe ou comporte des bugs. Les identifier est donc une priorité.
Mais il est intéressant de ne pas s’arrêter uniquement au suivi de crashs. D’un point de vue technique, il est également utile de remonter d’autres informations qui pourraient permettre d’identifier des axes d’améliorations techniques.
Voici quelques exemples d’informations supplémentaires utiles à remonter :
- Les performances : connaître les impacts de notre application sur l’appareil de l’utilisateur en récoltant la quantité de RAM consommée, la charge du CPU, l’espace de stockage utilisé, les temps de chargement des écrans.
- Les connexions : il y a fort à parier que votre application utilise des services et/ou des APIs externes. Il est donc aussi très intéressant de connaitre l’impact de ces derniers sur votre application en récoltant les temps d’exécution des appels et leur disponibilité.
- Les erreurs : tout bon développeur va essayer de « sécuriser » son code pour éviter les crashs. Lorsqu’une situation anormale est identifiée (par exemple si une donnée provenant d’une API ou d’un écran est manquante), il est également nécessaire de faire remonter cette information. Car même si celle-ci n’a aucun impact visible pour l’utilisateur, cela peut être signe qu’il existe un disfonctionnement ailleurs.
Les exemples listés ci-dessus vont permettre d’identifier certains « dysfonctionnements » de votre application, comme par exemple si elle rencontre des lenteurs, car au même titre qu’une application qui crashe, le sentiment de lenteur va faire fuir les utilisateurs. Cette liste n’est pas exhaustive et est à adapter à vos besoins.
Suivis utilisateur
Avec ce type de tracking, nous allons chercher à comprendre nos utilisateurs et comment ils utilisent notre application.
Le premier intérêt à cela est, d’un point de vue fonctionnel, de recueillir des informations permettant d’identifier les axes d’optimisation/amélioration principalement sur les plans UX (User eXperience) et UI (User Interface).
Le second intérêt est marketing : il a pour but de permettre d’évaluer les impacts des différentes actions menées (ex : campagne de communication, promotion…), de déterminer l’accomplissement d’objectifs, d’estimer des ROIs. Ce ne sont ici que quelques exemples d’informations que l’on peut extraire.
Contrairement au suivi qualité, les données brutes n’ont ici que peu d’intérêt. Il vous appartiendra de générer la plus-value de ces données en les entrecoupant entre elles ou en les combinant avec d’autres.
Voici quelques exemples de données pertinentes à récolter. Elles seront bien évidement à adapter au cas par cas en fonction du type d’application et surtout de vos besoins :
- Adhésion des utilisateurs :
- Nouvel utilisateur (ex : nouvelle installation de l’application/création de compte)
- Perte d’utilisateur (ex : désinstallation de l’application/suppression de compte)
- Retour d’utilisateur (ex : installation après une désinstallation/réactivation de compte)
- Nombre d’utilisateurs quotidien (Dailly Active User)
- Temps d’utilisation quotidienne
- Nombre total d’utilisateurs
- Fréquence de lancement de l’application sous 3, 5, 7 jours
- Compréhension des utilisateurs :
- Suivre les parcours utilisateur (ex : quels écrans sont consultés ? Quelles fonctionnalités sont utilisées ? Etc.).
- Suivre les actions utilisateur (ex : click, pull to refresh, swipe…)
- Caractéristiques des appareils :
- Marque, modèle de l’appareil
- Données techniques :
- Quantité de RAM, CPU, stockage
- Connectique (3G/4G/5G/Wifi)
- Résolution d’écran
- Système d’exploitation et version
- Opérateur
- Langue et pays
Avec ce genre d’informations, vous serez en mesure de détecter des corrélations entre un bug/crash et des caractéristiques de l’appareil, visualiser le taux d’adoption de votre nouvelle fonctionnalité, ou encore vous assurer que votre UI est clair et que votre utilisateur n’est pas perdu (ex : il clique à un endroit non prévu ou, au contraire, n’utilise jamais un bouton).
A vous de définir les données les plus pertinentes pour vos besoins et d’en extraire les informations.
Tracking in-App et données personnelles
L’évocation du mot « tracking » entraine souvent une crainte que les données personnelles soient utilisées à des fins commerciales.
Bien que ce ne soit pas le cas ici, la question du respect du Règlement pour la Protection des Données (RGPD) se pose. C’est pourquoi il faudra faire attention aux données récoltées et éviter de récupérer toutes données permettant l’identification (directe ou indirecte) de votre utilisateur. Certaines informations doivent donc être proscrites :
- Nom/prénom
- Courriel
- Numéro de téléphone
- Numéro de client
- Etc.
Point de vigilance : Il est également important de noter que depuis la version iOS 14, Apple a renforcé sa politique de protection des données privées. Il est donc important de suivre ses recommandations sous peine de voir refuser le déploiement de votre application sur l’AppStore.
Pour en savoir plus sur le sujet, nous vous invitons à consulter notre article sur la protection des données en entreprise et à télécharger gratuitement notre livre blanc sur la Data Privacy & Transparency.
Quels outils utiliser pour le tracking des applications mobiles ?
Maintenant que l’on a défini quelles données nous intéressent, il faut à présent implémenter le tracking dans votre application. Nous vous proposons une liste d’outils disponibles.
Firebase
Sans doute le plus connu (et vraisemblablement le plus utilisé) des outils de tracking, Firebase est la solution proposée par Google.
Son gros point fort (en plus du tracking) est d’intégrer et de centraliser tous les outils dont vous pourrez avoir besoin pour le développement de votre application (hub de notification, remote config…), tout en étant compatible Android et iOS (mais d’autres langages comme Xamarin ou Flutter sont supportés).
App Center + App Insights
Il s’agit de la solution proposée par Microsoft. Tout comme Firebase, App Center vous apporte des outils supplémentaires pour le développement d’applications et supporte plusieurs plateformes (Android, iOS, Xamarin…).
Nous pouvons toutefois noter un désavantage par rapport à Firebase : sa partie reporting, offre très peu de personnalisation et de possibilités de travailler les données directement depuis le portail. C’est pourquoi nous recommandons l’utilisation combinée d’App Center avec App Insights : vous pourrez ainsi faire vos propres requêtes personnalisées sur les données issue d’App Center.
Pour ceux qui voudraient aller encore plus loin, il est possible de réutiliser toutes ces fonctionnalités dans Power BI et d’obtenir une présentation encore plus esthétique.
Autres outils de tracking
La liste est longue et il vous appartient de trouver l’outil proposant les options et services répondant le mieux à vos besoins. En voici une liste non exhaustive :
- Apple Analytics (uniquement disponible pour iOS)
- Flurry, proposé par Yahoo
- DataDog
- Dynatrace
- Unity Analytics
Mettre en place le Tracking In-App dès la phase de Build
Le Tracking In-App est un sujet à ne surtout pas négliger et à mettre en place dès le début de la phase de développement. C’est grâce à cela que vous allez pouvoir identifier rapidement les problèmes, comprendre vos utilisateurs afin d’améliorer votre application et analyser les impacts de vos décisions.
Pour en savoir plus sur l’importance de penser Run dès la phase de Build, nous vous invitons à consulter l’ensemble des articles de cette série rédigée en partenariat avec Squadra :
- 12 Factor-App : les patterns à adopter dans le développement d’applications modernes
- Comment maintenir une plateforme Kubernetes en condition opérationnelle ?
- Kubernetes : construire une plateforme en pensant Run
- Les outils de Run natifs de la plateforme Azure
- Run d’un projet IA : garder sous contrôle le cycle de vie d’un modèle ML
- Observabilité des données
- Les plateformes d’intégration dans Azure : pourquoi, avec quels axes et comment les monitorer ?
- OpenTelemetry : instrumentation en .NET dans le futur