How to build a 360° customer dashboard
Do you have a lot of customer data spread across your internal tools? Follow this guide to discover Whaly's best practices to centralise all this data in a single dashboard.
Last updated
Do you have a lot of customer data spread across your internal tools? Follow this guide to discover Whaly's best practices to centralise all this data in a single dashboard.
Last updated
Objective: Understanding your customer's activity throughout your entire business can be a difficult task, as data is always spread across different tools such as a CRM, an analytics solution, a support software, and so on.
As a data analyst working with Business Developers, Customer Success Managers and Support Specialists, you probably need to answer these questions :
What is the total revenue of our customer Acme Corp?
What usage Acme Corp had on our software?
How many conversations did Acme Corp had with our support team?
...
This implementation guide will give you the keys to build a single interactive dashboard that will answer these questions for each one of your customers. You will also learn how to structure your explorations in order to make the most of it.
In this guide, we will work as a data analyst for Jaffle Soft, a SaaS company. We will build a dashboard used by our team to follow metrics about:
Hubspot, your CRM software
Intercom, your support tool
Segment, your analytics solution
Our dashboard will be able to filter its metrics on our customers and will show the following charts:
The lifetime value by customer
The number of conversations opened by customer
The number of login by customer
Creating our explorations and charts
Hubspot
Segment & Intercom
Filtering our dashboard
Adding a customer filter
Adding a date Filter
Using our dashboard
When we build a dashboard, the first thing we need to do is build the explorations. When working with disparate tables and objects, the rule of thumb is:
Create one exploration for each table that is used as a metric in a dashboard
This rule helps us make sure that we always have the most precise (and complete) data we want to measure at the topmost part of your exploration.
Then, we will need to find on a "CustomerID" field on all the explorations that we'll build and declare it as a Dimension. If your systems don't already share a common CustomerID for each customer, you can use the email address to start with.
In our example, we'll work with the user email that is shared accross Hubspot, Intercom and Segment.
We will start with the first chart : Total customer revenue by customer. Breaking down this sentence we can deduce the total amount spend is the metric we will measure, and customer is the dimension we will need to filter on.
In Hubspot, two data tables are of interest :
Deals
, which contains the amount of our won deals
Contacts
which contains our user emails, used as the CustomerID
Let's start our explorations with the Deals table :
Create a new metric, a cumulative sum of the column "amount".
Add related data from the Contacts
table
Add date
and email
as dimensions
Now create a timeserie chart using:
Number of Hubspot deals as a metric
Deal date as time field
And add this timeserie to a new report.
Let's use Intercom data to create our chart, the number of conversations opened by customer :
Add date
and user_email
as dimensions.
Create a metric, measuring the Number of Intercom Conversations
Use the date
dimension as time.
Add this metric our report :
Now lets do the same thing for Segment in order to calculate the number of login by customer :
Our dashboard is almost done, but it currently shows data for all of our users, and without the possibility to select a date range.
In order to filter by user email, things are also pretty easy. On the dashboard, click on edit, add a filter and select email
under Hubspot - Contacts
. Then, in the "Tiles to update" tab, select the email
field from Intercom and Segment based explorations.
Since all our metrics have set time field, adding a Date filter is straightforward. On the dashboard, click on edit, add a filter and select "Default time field". That's it, all our charts will now be based on the range selected in the filter.
That's it: our dashboard shows metrics for our whole customer base, and also allows us to view our data customer per customer