Análisis de uso con Application Insights

¿Qué características de la aplicación web o móvil son más populares? ¿Los usuarios logran sus objetivos con la aplicación? ¿Salen de ella en momentos concretos y vuelven más tarde? Application Insights le ayudará a obtener información eficaz sobre el uso de la aplicación por parte de los usuarios. Cada vez que actualice la aplicación, puede evaluar también si funciona bien para los usuarios. Con este conocimiento, puede tomar decisiones basadas en datos sobre los ciclos de desarrollo siguientes.

Envío de telemetría desde la aplicación

La mejor experiencia se obtiene mediante la instalación de Application Insights en el código de servidor de aplicaciones y en las páginas web. Los componentes de cliente y servidor de la aplicación devuelven telemetría a Azure Portal para su análisis.

  1. Código de servidor: instale el módulo adecuado para ASP.NET, Azure, Java, Node.js u otra aplicación.

  2. Código de página web: use el SDK de JavaScript para recopilar datos de páginas web. Vea Introducción al SDK de JavaScript.

    Nota

    El 31 de marzo de 2025 finalizará la compatibilidad con la ingesta de claves de instrumentación. La ingesta de claves de instrumentación seguirá funcionando, pero la característica ya no recibirá actualizaciones ni soporte técnico. Transición a las cadenas de conexión para aprovechar las nuevas funcionalidades.

    Para conocer configuraciones más avanzadas para supervisar sitios web, consulte el artículo de referencia del SDK de JavaScript.

  3. Código de aplicación móvil: use el SDK de App Center para recopilar eventos de la aplicación. A continuación, envíe copias de estos eventos a Application Insights para el análisis; para ello, siga esta guía.

  4. Obtención de telemetría: ejecute el proyecto en modo de depuración durante unos minutos. A continuación, busque los resultados en el panel Información general de Application Insights.

    Publique su aplicación para supervisar el rendimiento de su aplicación y descubra lo que hacen sus usuarios con ella.

Exploración de estadísticas y datos demográficos de uso

Descubra cuándo los usuarios usan la aplicación y qué páginas les interesan más. También puede averiguar dónde se encuentran los usuarios y qué exploradores y sistemas operativos usan.

Los informes de Usuarios y Sesiones filtran los datos por páginas o eventos personalizados. Los informes segmentan los datos por propiedades, como ubicación, entorno y página. También puede agregar sus propios filtros.

Captura de pantalla que muestra la pestaña Usuarios con un gráfico de barras.

La información de la derecha señala patrones de interés en el conjunto de datos.

  • El informe Usuarios indica el número de usuarios únicos que tienen acceso a las páginas dentro de los periodos seleccionados. Para las aplicaciones web, los usuarios se cuentan con cookies. Si alguien accede a su sitio con distintos exploradores o máquinas cliente, o borra las cookies, se contabilizarán más de una vez.
  • El informe Sesiones indica el número de sesiones de usuario que acceden al sitio. Una sesión representa un período de actividad iniciado por un usuario y concluye con un período de inactividad superior a media hora.

Para obtener más información sobre las herramientas Usuarios, Sesiones y Eventos, consulte Análisis de usuarios, sesiones y eventos en Application Insights.

Retención : ¿cuántos usuarios regresan?

Retención lo ayudará a comprender la frecuencia con la que los usuarios vuelven a usar su aplicación, en función de las cohortes de usuarios que realizan alguna acción empresarial durante un intervalo de tiempo determinado. Puede hacer lo siguiente:

  • Qué características específicas provocan que los usuarios vuelvan más veces que otras.
  • Formular hipótesis basadas en datos de usuarios reales.
  • Determinar si la retención es un problema del producto.

Captura de pantalla que muestra el libro de retención, que presenta información sobre la frecuencia con la que los usuarios vuelven a usar su aplicación.

Puede usar los controles de retención de la parte superior para definir eventos específicos y los intervalos de tiempo para calcular la retención. El gráfico situado en la parte central proporciona una representación visual del porcentaje total de retención por el intervalo de tiempo especificado. El gráfico de la parte inferior representa la retención individual en un periodo determinado. Este nivel de detalle permite entender lo que hacen los usuarios y qué podría afectar al regreso de los usuarios con una granularidad más detallada.

Para más información sobre el libro de Retención, consulte Análisis de retención de usuarios para aplicaciones web con Application Insights.

Eventos de negocio personalizados

Para comprender las interacciones del usuario en la aplicación, inserte líneas de código para registrar eventos personalizados. Estos eventos realizan un seguimiento de varias acciones de usuario, como selecciones de botones o eventos empresariales importantes, como compras o victorias de juegos.

También puede usar el complemento de Click Analytics Auto-collection para recopilar eventos personalizados.

En algunos casos, las vistas de página pueden representar eventos útiles, pero, en general, no es así. Un usuario puede abrir una página de un producto sin necesidad de adquirirlo.

Con los eventos específicos del negocio, puede realizar un gráfico del progreso de los usuarios en su sitio. Puede averiguar sus preferencias para diferentes opciones y en qué partes salen o tienen dificultades. Con este conocimiento, puedan tomar decisiones fundamentadas en lo que respecta a las prioridades del trabajo pendiente en materia de desarrollo.

Los eventos se pueden registrar del lado del cliente de la aplicación:

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

O los eventos se pueden registrar desde el lado servidor:

    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");

Puede adjuntar los valores de propiedad a estos eventos, para que pueda filtrar o dividir los eventos al examinarlos en el portal. También se adjunta un conjunto estándar de propiedades a cada evento, como el identificador de usuario anónimo, lo que permite realizar un seguimiento de la secuencia de actividades de un usuario individual.

Obtenga más información sobre los eventos personalizados y las propiedades.

Eventos de segmentación y desglose

En las herramientas Usuarios, Sesiones y Eventos, puede segmentar y desglosar los eventos personalizados por usuario, nombre del evento y propiedades.

Captura de pantalla que muestra la pestaña Eventos filtrada por AnalyticsItemsOperation y dividida por AppID.

Siempre que esté en cualquier experiencia de uso, seleccione el icono Abrir la última consulta ejecutada para volver a la consulta subyacente.

Captura de pantalla del panel Application Insights Session en Azure Portal. El icono Abrir la última consulta ejecutada está resaltado.

A continuación, puede modificar la consulta subyacente para obtener el tipo de información que busca.

Este es un ejemplo de una consulta subyacente sobre las vistas de página. Péguelo directamente en el editor de consultas para probarlo.

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

Diseño de la telemetría con la aplicación

Al diseñar cada característica de la aplicación, tenga en cuenta cómo va a medir su éxito con los usuarios. Decida qué eventos empresariales necesita registrar y codifique las llamadas de seguimiento de esos eventos en la aplicación desde el principio.

Pruebas A | B

Si no está seguro de qué variante de característica es más correcta, libere y permita que los distintos usuarios accedan a cada variante. Mida el éxito de cada una y, a continuación, cambie a una versión unificada.

Para realizar esta técnica, adjunte valores de propiedad distintos a toda la telemetría que se envía con cada versión de la aplicación. Puede hacerlo al definir las propiedades en el TelemetryContext activo. Estas propiedades predeterminadas se incluyen en todos los mensajes de telemetría enviados por la aplicación. Incluye mensajes personalizados y telemetría estándar.

En el portal de Application Insights, podrá filtrar y dividir los datos en los valores de propiedad, con el fin de comparar las distintas versiones.

Para hacer este paso, configure un inicializador de telemetría:

    // 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;
        }
    }

Para las aplicaciones ASP.NET Core, agregue un nuevo inicializador de telemetría a la colección de servicios de inserción de dependencias en la clase Program.cs.

using Microsoft.ApplicationInsights.Extensibility;

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

Pasos siguientes