How to Bring Outside Reporting into Salesforce with a Custom “Analytics Hub”

In this post, longtime Salesforce professional, Shane Carey, dives into how he has helped clients centralized outside reporting in Salesforce via a custom ‘Analytics Hub’.

We often talk about "Salesforce as the Source of Truth", but for many organizations this can be difficult to achieve given constraints on time, staff, and other resources. An interesting concept I heard mentioned on a podcast recently was "Data as the Source of Truth", and it got me thinking about best practices around overcoming gaps when sometimes you just don't have the resources to get all of the data into Salesforce, but still want to foster a mentality within your organization that SF is the one stop shop for reporting and analytics.

This was a challenge that I once had to overcome at an organization that was actively working through its data architecture woes. While the pieces were in motion to truly have Salesforce one day (hopefully soon) be the source of truth, I didn't want delayed timelines in that project to continue to drive users outside of SF to get at the reporting that they needed. In fact, it seemed important to start socializing users ahead of that project's completion that Salesforce is where they should go for any and all data needs.

Some of the constraints they were facing will be familiar to those at smaller, newer, or less operationally mature organizations. A payment system that wasn't integrated with Salesforce and required a huge implementation to become integrated, past business decisions that had had impacts on present day data availability within Salesforce, and a new emphasis on exception reporting between systems (how do you report on what isn't in Salesforce in Salesforce?), just to name a few.

While ideally, every system is talking to Salesforce in perfect harmony, and that data is beautifully visualized with dashboards, sometimes this just isn’t feasible right now. Bring in the “Analytics Hub”...

The “Analytics Hub”

The “Analytics Hub” is a custom, one stop shop in Salesforce for all data, regardless of where those reports originated from. This is the solution I built at the previously mentioned organization. Of course there can be standard Salesforce Dashboards embedded here, but there can also be Tableau dashboards and charts from Google Sheets. The important thing is that every report that a decision maker asks for, even if it has to be built in Tableau or Google Sheets, will live in and be accessed in Salesforce.

To get the Analytics Hub started, we navigate to setup and go to the Lightning App Builder. Create a new App Page and name it “Analytics Hub”. For my use case I chose a simple single region page:

Next we’re going to add the “Tabs” component to our new App Page. These tabs are going to house all of our reports and dashboards, both SF standard and external:

Our audience for this example is leadership at our organization, so we’re going to be housing all of their most requested and frequently referenced reports and dashboards here.

We can start by adding a few existing Salesforce Dashboards. This data lives in and is reportable in Salesforce, but it’s still great to get it housed in a centralized location for members of our leadership team. 

We’ll select the Dashboard component and drag it to our “Leadership Dashboard” tab and update it to display our existing “Leadership Dashboard”:

We can repeat this process for our “Conversion Metrics” tab to house our existing SF Dashboard of conversion metrics.

Embed a Google Sheets Chart in Salesforce

But what about data that doesn’t live in Salesforce? This is the fun part! We’ll start with a report that was requested by our sales and marketing teams. They would like to see weekly totals of records that failed to sync from our marketing system to Salesforce. Showing the teams these numbers, and the reasons these failures occurred, will help build trust in the systems and the data.

But how do we display this data in Salesforce? After all, we’re being asked to report on data that doesn’t live in Salesforce natively. In this case, our marketing ops team is going to provide us with a Google Sheets report that they update every Monday:

How do we embed this report chart in Salesforce? By creating an incredibly simple Visualforce Page by cutting and pasting the code below. But first you’ll need to publish the chart to the web by going to File > Share > Publish to Web in Google Sheets:

Instead of Entire Document, we want to choose the specific chart component we want from the Google Sheet:

Save the output URL, we’ll need this for our Visualforce Page.

Next, navigate to Setup > Visualforce Pages and select “New”. We name our Visualforce Page, select “Available for Lightning Experience…”, and paste in the below code, swapping out {{Google Sheets URL}} for our URL from earlier (we remove the {{}} as well, just leave the quotes):

<apex:page showHeader="true" sidebar="true">

<iframe width="700" Height="700" src="{{Google Sheets URL}}"></iframe>

 </apex:page>

Once we’ve embedded it in the Analytics Hub tab, we can come back and play around with the width and height to get it just right.

Now we can go back to editing our Analytics Hub App page. We drag the “Visualforce” component to our “External Systems Exceptions” tab and adjust the height as needed:

We’ve now added two standard Salesforce dashboards and a Google Sheets chart to our Analytics Hub! But how about a Tableau dashboard? This is even easier, since Salesforce owns Tableau.

Embed a Tableau Dashboard in Salesforce

Our BI team has created a Tableau dashboard that ties MQLs to eventual revenue. Some of our unmanaged revenue data lives in the payment systems we mentioned earlier, which isn’t integrated with Salesforce yet, so this data lives outside of the system.

For this we’ll need Tableau and need to have the Tableau managed package installed in Salesforce. Once we have this accomplished from the App Builder we’ll select the “Tableau Visualization” component and drag it to our “MQL Revenue Attribution” tab and put in the URL provided by Tableau:

The final step is to save and activate our Analytics Hub App Page! If the leadership team has their own app in Salesforce, be sure to prominently display the Analytics Hub where they can quickly access it. Or show them how to access it from the App Launcher, add it to their custom tabs, favorite it in Salesforce, or bookmark it in their browser:

Data as the Source of Truth, in Salesforce

By building a custom “Analytics Hub” App Page in Salesforce, we’re now able to store all of the leadership team’s most requested and most used reports and dashboards in one centralized location. Even if the data and the reports or dashboards themselves aren’t in Salesforce!

Of course every admin and every organization should always be moving toward that lofty goal of “Salesforce as the Source of Truth”. But at the same time, sometimes we simply can’t get all of the data in Salesforce today. And that’s fine. Don’t let perfect be the enemy of good.

By embedding external reports and dashboards in Salesforce we’re bridging the gap while socializing our users that SF is the place to go for analytics and data within our organization.

Previous
Previous

Best Salesforce Apps & Add-Ons of 2024

Next
Next

How to Measure Salesforce Adoption: 3 Out-of-the-Box Solutions