Análise de uso com o Application Insights

Quais recursos do seu aplicativo Web ou móvel são mais populares? Os usuários atingem as metas deles com seu aplicativo? Eles deixam o aplicativo em determinados pontos? E retornam posteriormente? O Application Insights ajuda você a ter insights profundos sobre como as pessoas usam seu aplicativo. Sempre que atualiza seu aplicativo, você pode avaliar como ele funciona para os usuários. Com esse conhecimento, você pode tomar decisões controladas por dados sobre os próximos ciclos de desenvolvimento.

Enviar telemetria de seu aplicativo

A melhor experiência é obtida, instalando o Application Insights tanto no código do servidor de aplicativos como nas suas páginas da Web. Os componentes do servidor e cliente do aplicativo retornam telemetria aoo portal Azure para análise.

  1. Código do servidor: Instale o módulo apropriado para o ASP.NET, Azure, Java, Node.js ou outro aplicativo.

  2. Código da página da Web: use o SDK do JavaScript para coletar dados de páginas da Web. Consulte Introdução ao SDK do JavaScript.

    Observação

    Em 31 de março de 31, 2025, o suporte à ingestão de chave de instrumentação será encerrado. A ingestão de chave de instrumentação continuará funcionando, mas não forneceremos mais atualizações ou suporte para o recurso. Faça a transição para cadeias de conexão para aproveitar as novas funcionalidades.

    Para saber sobre configurações mais avançadas para o monitoramento de sites, confira o artigo de referência do SDK de JavaScript.

  3. Código do aplicativo móvel: use o SDK do App Center para coletar eventos de seu aplicativo. Em seguida, envie cópias desses eventos ao Application Insights para análise seguindo este guia.

  4. Obter telemetria: execute seu projeto no modo de depuração por alguns minutos. Em seguida, procure resultados no painel Visão geral no Application Insights.

    Publique seu aplicativo para monitorar o desempenho do aplicativo e descobrir o que seus usuários estão fazendo com o aplicativo.

Explore as estatísticas e dados demográficos de uso

Descubra quando as pessoas usam seu aplicativo e em quais páginas estão mais interessadas. Você também pode descobrir onde os usuários estão localizados e quais navegadores e sistemas operacionais eles usam.

Os relatórios Usuários e Sessões filtram seus dados por páginas ou eventos personalizados. Os relatórios segmentam os dados por propriedades, como localização, ambiente e página. Você também pode adicionar seus próprios filtros.

Captura de tela que mostra a guia Usuários com um gráfico de barras.

Os insights à direita indicam padrões interessantes no conjunto de dados.

  • O relatório Usuários conta o número de usuários exclusivos que acessam suas páginas nos períodos escolhidos. Para aplicativos Web, os usuários são contados usando cookies. Se alguém acessar o seu site com diferentes navegadores ou computadores clientes, ou se limpar os cookies, essa pessoa será contada mais de uma vez.
  • O relatório Sessões tabula o número de sessões de usuários que acessam seu site. Uma sessão representa um período de atividade iniciado por um usuário e concluído com um período de inatividade superior a meia hora.

Para obter mais informações sobre as ferramentas de Usuários, Sessões e Eventos, consulte Usuários, sessões e análise de eventos no Application Insights.

Retenção: quantos usuários voltam?

A retenção o ajuda a entender com que frequência os usuários voltam para usar o aplicativo, com base em coortes de usuários que executaram alguma ação de negócios durante um determinado bucket de tempo. Você pode:

  • Entenda quais recursos específicos fazem com que alguns usuários voltem mais que outros.
  • Forme hipóteses com base em dados de usuários reais.
  • Determine se a retenção é um problema para seu produto.

Captura de tela mostrando a pasta de trabalho Retenção que exibe informações sobre a frequência com que os usuários retornam ao usar o aplicativo.

Use os controles de retenção na parte superior para defina eventos específicos e intervalos de tempo para calcular a retenção. O grafo no meio fornece uma representação visual do percentual geral de retenção, segundo o intervalo de tempo especificado. O grafo na parte inferior representa a retenção individual em um período de tempo específico. Esse nível de detalhamento permite entender o que os usuários estão fazendo e o que pode afetar usuários que retornam com uma granularidade mais detalhada.

Para obter mais informações sobre a pasta de trabalho Retenção, consulte a Análise de retenção do usuário para aplicativos Web com o Application Insights.

Eventos de negócios personalizados

Para entender as interações do usuário no seu aplicativo, insira linhas de código para registrar eventos personalizados. Esses eventos acompanham várias ações do usuário, como a seleção de botões, ou eventos comerciais importantes, como compras ou vitórias em jogos.

Você também pode usar o Plug-in de Click Analytics Autocollection para coletar eventos personalizados.

Em alguns casos, as exibições de página possam representar eventos úteis, mas de modo geral não é esse o caso. Um usuário pode abrir uma página de produto sem adquirir o produto.

Com eventos de negócios específicos, você pode traçar um gráfico do progresso do dos usuários em seu site. Você pode descobrir as preferências deles com relação a diferentes opções e quando eles desistem ou têm dificuldades. Com esse conhecimento, é possível tomar decisões informadas sobre as prioridades em sua lista de pendências de desenvolvimento.

Eventos podem ser registrados em log no lado do cliente do aplicativo:

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

Ou eventos podem ser registrados no lado do 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");

Você pode anexar valores de propriedade a esses eventos, para que possa filtrar ou dividir os eventos quando inspecioná-los no portal. Além disso, um conjunto padrão de propriedades é anexado a cada evento, como a ID de usuário anônimo, para permitir o rastreio da sequência de atividades de um usuário individual.

Saiba mais sobre eventos personalizados e propriedades.

Fatiar e dividir eventos

Com as ferramentas de Usuários, Sessões e Eventos, você pode fatiar e dividir eventos personalizados segundo o usuário, o nome do evento e as propriedades.

Captura de tela que mostra a guia de Eventos filtrada por AnalyticsItemsOperation e dividida por AppID.

Sempre que você estiver em qualquer experiência de uso, selecione o ícone Abrir a última consulta de execução para voltar à consulta subjacente.

Captura de tela do painel Sessão do Application Insights no portal do Azure. O ícone Abrir a última consulta de execução está realçado.

Em seguida, você pode modificar a consulta subjacente para obter o tipo de informação que está procurando.

Aqui está um exemplo de uma consulta subjacente sobre exibições de página. Vá em frente e cole-o diretamente no editor de consultas para testá-lo.

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

Design de telemetria com o aplicativo

Ao criar cada recurso do aplicativo, considere como você irá medir o sucesso dele com os usuários. Decida quais eventos de negócios você precisa registrar e codifique as chamadas de rastreamento para esses eventos em seu aplicativo desde o início.

Testes A | B

Se você não tiver certeza de qual variante de recurso é mais bem-sucedida, lance ambas e permita que usuários diferentes acessem cada variante. Avalie o sucesso de cada variante e então faça a transição para uma versão unificada.

Nessa técnica, você anexa valores de propriedade exclusivos a toda a telemetria enviada por cada versão do seu aplicativo. Você pode fazê-lo definindo propriedades no TelemetryContext ativo. Essas propriedades padrão são incluídas em todas as mensagens de telemetria enviadas pelo aplicativo. Isso inclui mensagens personalizadas e telemetria padrão.

No portal do Application Insights, filtre e divida seus dados segundo os valores da propriedade, de modo que possa comparar as diferentes versões.

Para fazer este passo, configure um inicializador de telemetria:

    // 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 aplicativos ASP.NET Core, adicione um novo inicializador de telemetria à coleção de serviços de Injeção de Dependência na classe Program.cs.

using Microsoft.ApplicationInsights.Extensibility;

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

Próximas etapas