Better Decisions Through Better Analytics: Visual Studio App Center with Azure Application Insights
To properly manage your development pipeline and product strategy, you first need understand your users and how they interact with your apps. Visual Studio App Center Analytics offers free, glanceable, out-of-the-box analytics to get anyone started, and simple integration with Azure Application Insights gives even the most data-hungry business the deep insights they need.
In this post, you’ll learn how you can use App Center Analytics and Application Insights together to help you make decisions in your app. With a simple SDK integration and setup, you get robust analytics and data that provide the immediate feedback you need to determine how to engage your users, improve your apps, and/or reach a wider audience.
Out of the Box: Powerful Business Metrics
App Center Analytics provides high level business reporting to help product owners and developers make critical business and technical decisions. By simply integrating the App Center SDK, you receive a set of key metrics:
- Active Users to see overall adoption trends.
- Daily Sessions and Session Duration to gauge user engagement.
- Countries and Languages to prioritize content development and localization.
- Device and OS Reporting to focus your testing on the most popular platforms.
- Active Users Per Version to decide when to retire older versions and get insight into new release adoption curves.
Beyond the Basics
You can log custom events and properties to track user behavior in greater depth through behaviors specific to your app.
Events are actions that users take in your app (for example, booking a room in a hospitality app). Properties attached to events will set further context on the event. Tracking specific events gives you a more granular, app-specific understanding of how users interact and engage with your UI.
By using custom events and properties, you can answer questions such as, “What’s the most successful marketing campaign in my app?”, “What is the top content being viewed?”, or “How many people clicked on this button?”
Azure Application Insights
Every app and every audience is different. You might have questions that require a detailed analysis across multiple events, or you may need to mine your usage beyond App Center’s included key metrics. That’s where the integration between App Center and Application Insights comes into play, allowing you to analyze raw data, create custom reports, and generate custom dashboards to put completely personalized analytics at your team’s fingertips.
Continuous Export of Your Raw Data
App Center enables you to continuously export your raw data into two Azure services: Blob Storage and Application Insights. Blob Storage will store your data in blobs format, allowing you to process it in your preferred warehousing solution. In this blog post, we’ll focus on the Application Insights export.
Setting up Continuous Export takes just a few clicks:
- Go to App Settings.
- Click on Export and select the New Export option.
- Choose your destination (Blob Storage for long-term storage and sharing, or Application Insights for analysis).
- Select the type of configuration you want (standard vs custom).
If you choose standard, we’ll configure the Azure resource for you with the default settings, using your Azure subscription added in App Center.
If you want to reuse an existing Azure resource, or select all of your configurations:
- Select the custom option.
- If you’re creating a new resource in Azure Application Insights, choose the App Center app type.
- Connect App Center to your resource by adding the Instrumentation Key in the App Center portal.
Check out our documentation to learn more about setting up Export in App Center.
Segmentation and Filtering
Application Insights allows you to drill down into your data by filtering your charts based on a set of fields. These fields include device properties, such as device model, device OS, country, and carrier, custom events, and and/or combination of all these.
In the example below, we’re looking at a specific event called
BookTrip in the last 24 hours, split by country, and made by either an iPhone 6 or iPhone 6s.
More Advanced Analytics
Funnels and User Flows help you understand how users navigate through your app and identify bottlenecks. This allows you to discover ways to increase conversion rates and eliminate pain points.
The following image shows a Funnel created in Application Insights. In this example, we’re trying to understand conversion rates as users move from seeing a trip suggested to initiating the booking process to booking the trip.
Retention will allow you to discover how many users return to use your app and provide insight into where and why they drop out. For example, you could compare the number of users who return to your app after a specific action with the number of users who return after the opposite action. Knowing this will allow you to improve your user’s experience, as well as your own strategy, and help retain users for longer.
Query Your Raw Data
With Analytics in Application Insights, you can use a powerful query language to analyze your raw event data and create custom visualizations. In order to access this feature within your Application Insights resource, click Analytics, as shown below in the red square.
All the logs (sessions, custom events, push registrations) coming from App Center will be of the type
customEvents. Each log contains a set of fields:
client_OS, etc. By running
customEvents you will get a list of the logs coming in from App Center over a time period.
In the following example, we show all instances of the event
| where timestamp > ago(1d) and name == "BookTrip"
Filtering Your Query
Each log contains a set of fields captured from the App Center SDK, and each of these fields has been mapped into the Application Insights schema. You can use these fields to further drill down into the events. In the example below, we want to visualize the event
BookTrip that we looked at before, split by country.
| where timestamp > ago(1d)
| where name == "BookTrip"
| summarize Occurences = count() by client_countryOrRegion, bin(timestamp, 1h)
| order by timestamp asc
| render barchart
Note that you can also generate these queries by using the filters in the Application Insights portal and clicking into the Analytics tab with the filters applied.
Use Custom Dimensions
Application Insights has a set of fields that are automatically populated when creating resources. These include
appName (AI resource name),
iKey (Instrumentation Key which uniquely identifies an AI resource) and
There’s also another subset of fields populated by App Center. Some of these are under
customDimensions and some are under
customDimensions.Properties. To get access to the later fields, you will first need to cast
customDimensions.Properties to an object to get access to its inner fields.
Below, we show you how to query the properties from your custom events from
| where name == "login"
| extend Properties = todynamic(tostring(customDimensions.Properties))
| extend microsoft_account = Properties.microsoft_account
| where microsoft_account == true
In the next example, we’re using
CustomDimensions in order to access the
CarrierName field and using combinations of and/or logic for our query.
| where timestamp <= ago(30d)
and customDimensions.CarrierName != "Verizon" and customDimensions.CarrierName != "Cricket"
or customDimensions.CarrierName != "AT&T"
Check out the Application Insights documentation to learn more about how to query your raw data.
Build Custom Dashboards
In order to make the most of the query system in Application Insights, you can also build your own reports. By clicking into the Export option in the Application Insights Analytics portal (screen below), you can export the results of your queries to Excel or Power BI.
Power BI will allow you to generate your own customized dashboard in a variety of styles and visualization formats using the Application Insights query results.
Below is an example of a dashboard with charts created with the Application Insights query builder. This can easily be modified and personalized at an app basis, allowing you to always have answers to the questions that matter to you.
Out of the box, App Center Analytics helps you understand who your users are, where they’re coming from, and how they’re using your app. With Continuous Export to Application Insights, you can take the next step with custom reporting and deep insights to inform even the most specific decisions. To learn more about Continuous Export, please visit our documentation. For more information on advanced analysis, see the Application Insights docs.
Whatever your analytics needs are, the first step is to get started with App Center. App Center analytics, including custom events, is completely free, so give it a try and get started today!