How to Create a Utilization Report in Looker
Want to know which of your Looker dashboards are gathering dust and which ones are office superstars? You need a utilization report. This guide will walk you through building a report using Looker’s own internal data to see exactly how your team is using the platform, helping you clean up clutter and diagnose performance issues.
Why Build a Looker Utilization Report?
Before jumping into the "how," let's quickly cover the "why." A utilization report isn't just a vanity metric, it’s a powerful administrative tool. By analyzing usage data, you can achieve several key goals:
Identify Unused Content: Find the dashboards, Looks, and Explores that are rarely or never used. This is your chance to declutter the platform by archiving old content, making it easier for users to find what’s truly valuable.
Understand User Adoption: See who your power users are and which teams might need more training. If a new dashboard you rolled out for the marketing team has zero views, you know you have an adoption problem to solve.
Spot Performance Bottlenecks: Pinpoint dashboards and queries that take an unusually long time to run. Slow-loading content is a major source of user frustration, and this report helps you target exactly what needs optimization.
Highlight Popular Content: Discover which dashboards are most valuable to your organization. You can then learn from these successes, promote them further, or build similar resources for other teams.
Getting Started: Understanding System Activity
Looker tracks its own usage data in a special internal model called "System Activity" (previously known as i__looker). This is a read-only set of Explores and dashboards available to Looker administrators that contains a treasure trove of metadata about your instance.
To access it, you need to have Admin-level permissions or a custom role with the see_system_activity permission enabled. If you don't have this access, you'll need to ask your Looker administrator for help.
Within System Activity, you’ll find several helpful pre-built dashboards that give you a great starting point. However, to build a truly customized utilization report, you’ll want to work with the underlying Explores directly. The two most important Explores for this task are:
Usage: This provides an overview of instance usage, including data on individual users, query sources, and API activity.
Content Usage: This is a focused view into what content (Looks and Dashboards) is being accessed, by whom, and when. Perfect for what we're trying to build.
Step-by-Step: Building a Dashboard Utilization Report
Let's build a simple but effective report to identify the most and least used dashboards over the last 90 days. We'll start by creating a new "Look" (a saved query) and later add it to a dashboard.
Step 1: Start a New Explore
Navigate to the Explore page in Looker. Under the "System Activity" model, find and click on the Content Usage Explore. This is the foundation of our report, containing all the raw data we need about dashboard and Look access.
Step 2: Select Your Dimensions
Dimensions are the fields that describe your data. They're the "who," "what," and "where." In the field picker on the left, you’ll want to select a few key dimensions to structure your report. Expand the views to find and select the following:
From the Dashboard view, select:
Title: The human-readable name of the dashboard.ID: The unique identifier for the dashboard.
From the Content Usage view, select:
Content Title: Note that if content exists in a Look and a Dashboard, this tile may appear for either or both. We'll largely rely on the dashboard-specific tile for this example.Content Type: We'll see two primary formats here, "Look" or "Dashboard."
From the Folder view, select:
Name: This shows which folder (Personal or Shared) the dashboard is saved in, giving you great context on its intended use.
Step 3: Add Your Measures
Measures are quantitative values that count, sum, or average your dimensions. They answer the "how many" or "how much" questions. For our utilization report, these are crucial.
From the Content Usage view, select:
View Count: This is the primary metric we'll use. It's a simple count of how many times a piece of content has been accessed.Days Since Last Viewed: A critical measure to identify stale, abandoned content at a glance.Count of Distinct Users Who Viewed Content: This tells you whether a high view count is from one person refreshing the page constantly or many team members engaging with it.
Step 4: Filter Your Results
Running this query now would give you data for every piece of content for all time, which is probably too much information. Let’s apply some filters to make the data more manageable and useful.
Filter by Content Type: Add a filter for
Content Usage > Content Type. Set it to be "is equal to"Dashboard. This narrows our focus to just dashboards, ignoring standalone Looks for now.Filter by Timeframe: Add a filter for
Content Usage > Last Viewed Date. Set it to "is in the past"90 days. This focuses our analysis on recent activity, which is more relevant for cleanup tasks.Filter Out Deleted Content: Add a filter for
Dashboard > Deleted. Set it to be "is equal to"No. You don't want to analyze dashboards that have already been trashed.
After selecting your fields and setting the filters, click Run.
Step 5: Visualize the Data
You should now have a table full of useful data. To make it instantly actionable, we need to sort and visualize it.
Sorting a Table for Quick Insights: A simple table is often the most effective visualization for this kind of report.
Click on the header for "View Count" to sort the results in descending order. The dashboards at the top are your most popular.
Click it again to sort in ascending order. The dashboards at the top now are your least popular — prime candidates for review and potential archival.
You can get a lot of mileage just from this one view. The goal isn't just to see zeros, but to see a
View Countof 1 or 2 as well, hinting that this content is no longer being used effectively.
Other Helpful Visualizations: Consider creating a few other key performance indicators (KPIs) to accompany your table when building a final analytics dashboard:
Single Value: Create Looks filtered to show "Total Dashboard Views in last 90 days" and "Number of Unique Users" to get a high-level sense of engagement on the platform.
Bar Chart: Create a bar chart that displays the User Name and
View Countto quickly pinpoint your instance's superusers.
Step 6: Save and Add to a Dashboard
Once your visualization is dialed in, it's time to save it as a Look. Click the gear icon in the top right and select Save -> As a Look. Give it a descriptive name like "Dashboard Usage - Last 90 Days."
Next, you can add this saved Look to a new or existing dashboard. Create a new dashboard and name it something intuitive like "Looker System Activity" or "Content Utilization Report." Assemble your visuals here along with text tiles to explain what each chart represents to provide key context for fellow admins or anyone else you might share this dashboard with.
Going Further: Advanced Utilization Insights
This report is just a starting point. Once you are comfortable with the Content Usage Explore, you can dig deeper to answer more specific questions and create even more focused reports.
Identifying Slow Performing Dashboards
Slow dashboards are a one-way ticket to user frustration. You can modify your report to pinpoint resource hogs.
Return to the Explore page for your saved Look. In addition to our current fields, add the measure History -> Average Runtime in Seconds. Now, sort your table by this new column. Any dashboards with an unusually high average runtime are likely causing performance issues and are worth reevaluating. Often, the slow down results from too many tiles on the dashboard or poorly optimized data models.
Tracking Usage by Team
To see which departments are getting the most out of Looker, you can group usage data. This requires that your user base is organized using Looker's "Group" functionality.
In your Explore, add a dimension for User -> User Group Name. This allows you to pivot your data to see which teams are the most active and which dashboards are most popular within specific departments.
Creating a Content Cleanup Action Plan
Don't let your insights go to waste! Use this report to establish a decluttering process.
Identify all dashboards with 0 views in the last 90 or 180 days.
Consult with the owner of the dashboard or the primary team that uses it. Confirm it's no longer needed.
Instead of deleting outright, move the dashboard to an "Archive" folder. This gives you a safety net in case someone needs it later. Re-evaluate and purge this content at a set interval, like six months or one year.
By regularly curating your Looker instance, you'll make it a much more efficient and user-friendly environment for the entire organization.
Final Thoughts
By connecting directly to Looker's System Activity data, you've created a powerful, actionable report that helps you monitor user adoption, pinpoint performance issues, and keep your analytics environment clean and efficient. This turns Looker from a content library into a living platform that you can actively manage and optimize for your team's needs.
Of course, building reports like this in Looker requires administrative access and a good understanding of its Explores, Views, and filtering logic. At Graphed, we believe getting insights from your data should be much simpler. We built an AI data analyst that allows you to connect all your key data sources - from marketing platforms to your own CRMs - and build an entire dashboard just by describing what you want to see in plain English. No diving through menu options or building reports from scratch, just clear, real-time answers to fuel better decisions. Learn more and get started for free by signing up for Graphed.