Analisi dell'utilizzo per applicazioni Web con Application Insights

Quali sono le funzionalità dell'app Web più comuni? Gli utenti raggiungono i propri obiettivi con l'app? Escono in particolari punti e riaccedono in un secondo momento? Application Insights di Azure consente di ottenere importanti informazioni approfondite sull'uso dell'app Web da parte degli utenti. Ogni volta che si aggiorna l'app, è possibile valutarne il funzionamento per gli utenti. Con queste informazioni è possibile prendere decisioni in base ai dati sui cicli di sviluppo successivi.

Inviare dati di telemetria dall'app

La migliore esperienza viene ottenuta tramite l'installazione di Application Insights nel codice server dell'app e nelle pagine Web. I componenti client e server dell'app inviano dati di telemetria al portale di Azure per l'analisi.

  1. Codice server: installare il modulo appropriato per l'app ASP.NET, Azure, Java, Node.js o per altre app.

  2. Codice della pagina Web: aprire il Portale di Azure, aprire la risorsa di Application Insights per l'app e quindi aprire Introduzione > Monitoraggio e diagnosi dell'applicazione lato client.

    Copiare lo script nell'intestazione della pagina master web.

  3. Ottenere dati di telemetria: eseguire il progetto in modalità di debug per alcuni minuti e quindi cercare i risultati nel pannello Panoramica in Application Insights.

    Pubblicare l'app per monitorare le prestazioni dell'app ed esaminare le operazioni eseguite dagli utenti con l'app.

Includere l'ID di utente e sessione nei dati di telemetria

Per tenere traccia degli utenti nel tempo, Application Insights richiede un modo per identificarli. Lo strumento Eventi è l'unico strumento relativo all'uso per cui non è richiesto un ID utente o un ID di sessione.

Per iniziare a inviare questi ID, vedere qui.

Esplorare le statistiche e i dati demografici di uso

Scoprire quando le persone usano l'app, a quali pagine sono più interessati, dove si trovano, quali browser e sistemi operativi usano.

I report sugli utenti e le sessioni filtrano i dati in base alle pagine o agli eventi personalizzati e li segmentano in base a proprietà quali posizione, ambiente e pagina. È anche possibile aggiungere filtri personalizzati.

Utenti

Informazioni approfondite sui modelli di segnalazione corretti nel set di dati.

  • Il report sugli utenti conta il numero di utenti univoci che accedono alle pagine nei periodi di tempo scelti. Gli utenti vengono conteggiati usando i cookie. Se un utente accede al sito con browser o computer client diversi o cancella i cookie, verrà conteggiato più volte.
  • Il report sulle sessioni conteggia il numero di sessioni dell'utente che accedono al sito. Una sessione è un periodo di attività dell'utente, che termina quando si verifica un periodo di inattività di più di mezz'ora.

Altre informazioni sugli strumenti di Utenti, Sessioni ed Eventi

Visualizzazioni pagina

Nel pannello Uso fare clic nel riquadro Visualizzazioni pagina per ottenere una suddivisione delle pagine più comuni:

Nel pannello Panoramica fare clic sul grafico Visualizzazioni pagina.

L'esempio precedente proviene da un sito Web di giochi. Dai grafici, è possibile immediatamente notare quanto segue:

  • L'utilizzo non è migliorato nell'ultima settimana. Potrebbe essere utile ottimizzare il motore di ricerca.
  • La pagina Tennis è la pagina del gioco più popolare. È opportuno quindi migliorare questa pagina.
  • In media, gli utenti visitano la pagina Tennis circa tre volte alla settimana. Il numero delle sessioni è tre volte superiore al numero di utenti.
  • La maggior parte degli utenti visita il sito durante la settimana lavorativa negli Stati Uniti e nell'orario di lavoro. Si dovrebbe forse aggiungere un pulsante "Nascondi rapidamente" nella pagina Web.
  • Le annotazioni nel grafico indicano quando sono state distribuite le nuove versioni del sito Web. Nessuna delle distribuzioni recenti ha avuto un effetto visibile sull'utilizzo.

Cosa fare se si desidera analizzare il traffico del sito in modo più dettagliato, ad esempio suddividendolo in base a una proprietà personalizzata, mentre il sito invia i dati di telemetria di visualizzazioni della pagina?

  1. Nel menu delle risorse di Application Insights aprire lo strumento Eventi. Questo strumento consente di analizzare il numero di visualizzazioni della pagina ed eventi personalizzati inviati dall'app, in base a diverse opzioni di filtro, coorte e segmentazione.
  2. Nell'elenco a discesa "Who used" (Usato da) selezionare "Any Page View" (Qualsiasi visualizzazione di pagina).
  3. Nell'elenco a discesa "Split by" (Dividi per) selezionare una proprietà in base alla quale dividere i dati di telemetria di visualizzazione della pagina.

Conservazione: numero di utenti che ritornano

La conservazione consente di comprendere la frequenza con cui gli utenti tornano a usare l'app, in base alle coorti di utenti che hanno eseguito un'azione aziendale in un determinato intervallo di tempo.

  • Comprendere le funzionalità specifiche per cui alcuni utenti ritornano di più rispetto ad altri
  • Fare ipotesi in base a dati utente reali
  • Determinare se la conservazione è un problema per il prodotto

Conservazione

I controlli di conservazione nella parte superiore consentono di definire l'intervallo di tempo e gli eventi specifici per il calcolo della conservazione. Il grafico nella parte centrale offre una rappresentazione visiva della percentuale della conservazione generale in base all'intervallo di tempo specificato. Il grafico nella parte inferiore rappresenta la singola conservazione in un determinato periodo di tempo. Questo livello di dettagli consente di capire le operazioni eseguite dagli utenti e le possibili motivazioni per cui un utente sceglie di ritornare con una granularità più dettagliata.

Altre informazioni sullo strumento di conservazione

Eventi aziendali personalizzati

Per ottenere una descrizione chiara delle operazioni che gli utenti eseguono con l'app Web, è utile inserire righe di codice per registrare eventi personalizzati. Questi eventi possono tenere traccia di qualsiasi operazione, da azioni dell'utente dettagliate, ad esempio fare clic su pulsanti specifici, agli eventi aziendali più importanti, ad esempio effettuare un acquisto o vincere a un gioco.

Sebbene in alcuni casi, le visualizzazioni della pagina possano rappresentare eventi utili, questo non è vero in generale. Un utente può aprire la pagina di un prodotto senza acquistarlo.

Con eventi aziendali specifici, è possibile rappresentare in un grafico lo stato di avanzamento degli utenti all'interno del sito. È possibile scoprirne le preferenze per le diverse opzioni e i punti in cui abbandonano il sito o hanno difficoltà. Con queste informazioni si possano prendere decisioni consapevoli sulle priorità nel backlog di sviluppo.

Gli eventi possono essere registrati nella pagina Web:


    appInsights.trackEvent("ExpandDetailTab", {DetailTab: tabName});

O sul lato server dell'app Web:

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

È possibile collegare i valori delle proprietà a questi eventi, in modo da poter filtrare o suddividere gli eventi quando li si ispeziona nel portale. A ogni evento viene anche associato un set standard di proprietà, ad esempio un'ID utente anonimo, che consente di analizzare la sequenza delle attività di un singolo utente.

Altre informazioni sugli eventi personalizzati e le proprietà.

Analisi approfondita degli eventi

Negli strumenti Utenti, Sessioni ed Eventi, è possibile eseguire un'analisi approfondita degli eventi personalizzati per utente, nome dell'evento e proprietà. Utenti

Progettare i dati di telemetria con l'app

Quando si progettano le funzionalità dell'app, prendere in considerazione le modalità in cui si desidera misurarne il successo con gli utenti. Decidere quali eventi aziendali è necessario registrare e codificare il monitoraggio delle chiamate per questi eventi nell'app sin dall'inizio.

Test A | B

Se non si sa quale variante di una funzionalità sarà più efficace, rilasciarle entrambe, rendendo ognuna accessibile a utenti diversi. Valutare la riuscita di ognuna e quindi passare a una versione unificata.

Per questa tecnica è possibile collegare valori per le proprietà differenti per tutti i dati di telemetria inviati da ogni versione dell'app. A questo scopo, definire le proprietà nel TelemetryContext attivo. Queste proprietà predefinite vengono aggiunte a ogni messaggio di telemetria inviato dall'applicazione, non solo ai messaggi personalizzati, ma anche ai dati di telemetria standard.

Nel portale Application Insights è possibile filtrare e dividere i dati sui valori delle proprietà, in modo da confrontare versioni diverse.

A tale scopo, configurare un inizializzatore di telemetria:



    // Telemetry initializer class
    public class MyTelemetryInitializer : ITelemetryInitializer
    {
        public void Initialize (ITelemetry telemetry)
        {
            telemetry.Properties["AppVersion"] = "v2.1";
        }
    }

Nell'inizializzatore dell'app Web, ad esempio Global.asax.cs:


    protected void Application_Start()
    {
        // ...
        TelemetryConfiguration.Active.TelemetryInitializers
        .Add(new MyTelemetryInitializer());
    }

Tutti i nuovi TelemetryClients aggiungono automaticamente il valore di proprietà specificato. I singoli eventi di telemetria possono eseguire la sostituzione dei valori predefiniti.

Passaggi successivi