Dynamics 365 Business Central: exploring page views with Azure Application Insights

I think that you already know that I’m a huge fan of using Azure Application Insights for collecting telemetry for different types of applications hosted in the cloud or hosted on-premise too.

At my session at Ignite Tour 2020 in Milan I showed how you can fully monitor and debug an application hosted on Azure with Application Insights and Azure Monitor. Also Dynamics 365 Business Central permits you to collect a quite large set of telemetry signals on Azure Application Insights and in the past I’ve explained how to do it.

Today I want to talk about a new interesting set of telemetry signals related to page views that, starting from version 16.3, Dynamics 365 Business Central is sending to Azure Application Insights.

Page view telemetry collects data about the pages that users open in the Business Central client. Each page view entry tells you informations about user’s page usage, like how long it took to open the page, informations about the user’s environment, and much more.

In Application Insights, telemetry about page views is logged to the pageViews table. As an example, by going to the Logs section and executing the following KUSTO query, you can see the page viewed on my production tenant in the last hour, with details about the user session, the client and more:

With the following KUSTO query, you can see for example your top 10 viewed pages in a particular time range:

But there’s a lot more then rough data 🙂

The pageViews table used by Application Insights permits you to enable also a new interesting set of features related to usage analysis and that you can find under the Usage section:

Here:

  • The Users report counts the numbers of unique users that access your pages within your chosen time periods.
  • The Sessions report counts the number of user sessions that access your application.
  • Events permits you to analyze how often certain pages and features of your app are used. A page view is counted when a browser loads a page from your app
  • Funnels: If your application involves multiple stages, you need to know if most customers are progressing through the entire process, or if they are ending the process at some point. The progression through a series of steps in a web application is known as a funnel. You can use Azure Application Insights Funnels to gain insights into your users, and monitor step-by-step conversion rates.
  • The User Flows tool visualizes how users navigate between the pages and features of your site.
  • Retention helps you understand how often your users return to use their app, based on cohorts of users that performed some business action during a certain time bucket. 
  • Impact analyzes how load times and other properties influence conversion rates for various parts of your app.
  • Cohorts represent is a set of users, sessions, events, or operations that have something in common. In Azure Application Insights, cohorts are defined by an analytics query (more info here).

To explain funnels, imagine that I want to analyze how many users execute a particular page flow. You can create a funnel by specifying your page flow and you can see the users progress on it:

On my demo tenant unfortunately I don’t have too much user’s data, but you can see here that you can inspect the page flow, see the % of users that goes to each step of your page flow and for each step the immediately before and after page opened.

The User Flows section is extremely interesting for understanding what users are doing during a session. The User Flows tool starts from an initial page view, custom event, or exception that you specify. Given this initial event, User Flows shows the events that happened before and afterwards during user sessions. Lines of varying thickness show how many times each path was followed by users. Special Session Started nodes show where the subsequent nodes began a session. Session Ended nodes show how many users sent no page views or custom events after the preceding node, highlighting where users probably left the application. As an example, this is what happens on my tenant starting from the Business Manager Role Center page:

As you can see I have some session that immediately stops, others that checks the G/L Entries and G/L Accounts, other sessions that goes through Customers. Some of these page views occours before the starting event, other occours after (in the above sample, I have a session that returned to the role center after checking the chart of accounts). If you want to only analyze the page views that occours AFTER a particular event, just set the previous step number to 0:

Then, the Retention analysis is one of the more fascinating in my opinion. With this feature, you can analyze how many users return to your application, and how often they perform particular tasks or achieve goals.

Here is the analysis that I can see on my tenant:

By default, Retention shows all users who did anything then came back and did anything else over a period. You can select different combination of events to narrow the focus on specific user activities. On this chart, the overall retention chart shows a summary of user retention across the selected time period. The grid shows the number of users retained according to the filters applied. Each row represents a cohort of users who performed any event in the time period shown. Each cell in the row shows how many of that cohort returned at least once in a later period. Some users may return in more than one period. The insights cards show top five initiating events, and top five returned events to give users a better understanding of their retention report.

The Impact section can be used to analyze if a particular slow page can affect the usage of other pages in your application. More technically speaking, it discovers how any dimension of a page view, custom event, or request affects the usage of a different page view or custom event. As an example, here I’m analyzing the impact of the Business Manager Role Center page opening time on the Customer List adoption:

The analysis shows that the usage of the Customer List page somewhat decreases as “duration” of the Business Manager Role Center page increases (Correlation = -0.63).

Don’t forget also the More section (quite hidden), that gives you other interesting informations about how your users use your application, like details of the page usage and time spent on a page:

and more:

I think that you’ve understood how interesting is this set of telemetry data related to page views. You can monitor how your users works on your application, how their business flows performs, how a page slowness can impact a particular flow and so on. That’s absolutely an extremely valuable information for every partner or ISV I think, so please use it and inspect your telemetry data. Microsoft is actively working on this, and they’re doing a wonderful work…

6 Comments

  1. Hi Stefano,
    the pageView telemetry seems to be enabled only in the Online version but not in the OnPrem version. Is there a way to activate this for OnPrem somehow or “reverse engineer” such PageView telemetry directly in the extension for specific pages?
    Many thanks, Michael

    Like

    1. Unfortunately there are no plans to have it activated for onPrem. Standard AppInsights page view data are for cloud web apps and relies on app service.

      Like

  2. Hi Stefano,

    do you have any information about adblockers blocking the emiting of pageview telemetry? In our case we were not able to emit pageviews with google chrome and UBlock Origin. Feature telemetry, report and errors are still emitted but no sessions, users or page views. Might be worth an blog entry? 🙂

    Like

      1. One more thing I just discovered that independent from the adblock stuff. PageViews are emitted to environment telemetry Application Insights but not to extension telemetry. Everything gets emitted.

        Business Central Version: 24

        System: Cloud

        Extension runtime: current BC 24

        Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.