How to Create a Dynamic Dashboard in Looker
A static dashboard is just a picture of the past. To truly understand what’s happening in your business, you need the ability to ask follow-up questions, slice data on the fly, and let your team explore their own insights. This is where dynamic dashboards in Looker come in, transforming a simple report into an interactive analytics tool. This guide will walk you through the practical steps and concepts needed to build dashboards that respond, adapt, and empower users to find their own answers.
What Exactly Is a Dynamic Dashboard in Looker?
Think of the difference between a printed map and Google Maps. The printed map is static - it shows you one specific view. Google Maps is dynamic, you can zoom in, search for different locations, filter by restaurants or gas stations, and see live traffic updates. A dynamic dashboard in Looker works the same way.
Instead of presenting a fixed set of charts, a dynamic dashboard allows users to interact with the data directly. They can change date ranges, filter by product categories, select specific marketing campaigns, or even switch which metric a chart displays. This turns passive report viewing into an active process of discovery. The goal is to build one powerful dashboard that can answer hundreds of questions, rather than building dozens of separate, static reports.
This interactivity is built on two core Looker features: Filters and Parameters. Understanding these two components is the first step to unlocking Looker’s full potential.
The Building Blocks of Interactivity: Filters vs. Parameters
While they might sound similar, Filters and Parameters serve distinct purposes in making your dashboards interactive. Getting a handle on their differences is fundamental.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Dashboard Filters: Narrowing Down the Data
Filters are the most straightforward way to add interactivity. They allow users to narrow down the dataset being displayed across the entire dashboard. When a user selects a value in a filter - like a specific date range or region - Looker applies that condition to all the reports (or "Tiles") linked to that filter.
Common uses for filters include:
- Date Range Selectors: Allowing users to view data for "Last 30 Days," "This Quarter," or a custom date range.
- Region/Country Dropdowns: Letting a sales manager focus on North America's performance vs. Europe's.
- Campaign Selectors: Empowering a marketing manager to isolate the performance of a specific ad campaign.
- Product Category Filters: Giving an e-commerce manager the ability to analyze sales for "Apparel" vs. "Accessories."
Filters simply slice an existing dataset. They don't change the underlying structure or calculations of your reports, they just change the scope of the data being shown.
Parameters: Changing the Question Itself
Parameters are more advanced and a lot more powerful. Think of a parameter as a variable that the user can control. Unlike filters, a parameter doesn’t directly filter data. Instead, it passes a value that you can use inside your LookML code to dynamically change queries, calculations, or even labels.
This is where things get interesting. With parameters, you can:
- Swap Metrics: Let users choose whether a chart displays "Revenue," "Profit," or "Units Sold."
- Change Timeframes for Aggregation: Allow users to toggle between viewing data grouped by "Day," "Week," or "Month."
- Dynamic Cohorting: Create a parameter where users can input a number to define a cohort, like "show me users who made more than X purchases."
The key difference is that parameters require you to write or modify LookML code. You define the parameter and its choices in LookML, then reference that parameter in your measures or dimensions to alter the underlying SQL query. It's more work, but it offers a level of flexibility filters can't match.
Step-by-Step Guide to Building a Dynamic Dashboard
Ready to build one yourself? Let’s walk through the process from concept to a fully interactive dashboard.
Step 1: Start with a Clear Goal (Plan Before You Build)
The most common mistake is jumping into Looker without a plan. Before you connect any data, ask yourself:
- Who is this dashboard for? A CEO needs a high-level overview. A marketing analyst needs granular campaign data. Their needs will define what interactivity is useful.
- What questions does this dashboard need to answer? Write them down. "What was our total revenue last quarter?" is a simple question. "How did our holiday campaign for the UK market perform compared to the US market on mobile devices?" is a more complex one that requires specific filters.
- What actions will people take based on this data? A good dashboard drives decisions. If the data shows a campaign is underperforming, the user should be able to dig in and find out why. Your filters should facilitate this investigation.
Step 2: Get Your LookML Model Ready
Looker's power comes from a well-structured data model written in LookML, Looker's own modeling language. This isn’t a step you can skip. This model is where you define all your dimensions (the "what," e.g., Country, Date, Product Name) and measures (the "how much," e.g., Total Sales, User Count).
For your dynamic dashboard to work, you must ensure all the fields you want to filter by or use in parameters are defined in your model and joined correctly in an "Explore." This backend work is what separates Looker from simpler BI tools and often requires a data analyst or developer to set up correctly.
Step 3: Build Your Base Visualizations (Tiles)
Once your Explore is ready, you can start creating the charts, graphs, and tables for your dashboard. In Looker, these are called "Tiles."
- Navigate to your desired Explore.
- Select the dimensions and measures you want for your first chart (e.g.,
RevenuebyDate). - Run the query and choose a visualization type (e.g., line chart).
- Save this visualization as a "Look" or add it directly to a new or existing dashboard.
Repeat this process for all the reports you planned in Step 1. At this point, your dashboard will be full of static tiles that don’t yet interact with each other.
Step 4: Add Dashboard Filters
Now, let's bring it to life. At the top of your dashboard in Edit Mode, you’ll see an option to "Add Filter."
- Click "Add Filter" and a configuration window will pop up.
- Give your filter a name (e.g., "Region," "Date Range").
- Choose the filter type. This could be a dropdown menu, checkboxes, a date range slider, and more.
- Select the Model and Explore that contain the field you want to filter. For example, for a "Region" filter, you'd find the
regionfield from your sales data model. - Configure default values if needed. You might want the dashboard to load with the "Last 90 Days" selected by default.
Step 5: Link Your Tiles to the Filters
A filter won't do anything until you tell it which tiles it should control. This is a critical step people often miss.
- After creating a filter, stay in Edit Mode and go to the "Tiles to Update" tab within the filter's settings.
- You'll see a list of every tile on your dashboard.
- For each tile, you must map the dashboard filter you just created to the corresponding field in the tile’s data model. For your "Region" filter, you would select the
regionfield for every tile that should be affected by that filter. - Click "Save."
Exit Edit Mode and test your filter! When you select a region from the dropdown, all the linked tiles should update instantly to show data only for that region. Repeat this for all the filters you need.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Step 6: Go Further with Parameters
Want to let users switch between daily, weekly, or monthly views? That requires a parameter.
First, define the Parameter in LookML:
You need to add code like this to your LookML .view file.
parameter: time_granularity {
type: unquoted
allowed_value: {
label: "Daily"
value: "day"
}
allowed_value: {
label: "Weekly"
value: "week"
}
allowed_value: {
label: "Monthly"
value: "month"
}
}Next, create a dimension that uses the parameter:
This dimension will change its grouping based on the user's selection.
dimension_group: dynamic_date {
type: time
timeframes: [raw, time, date, week, month, quarter, year]
group_label: "Dynamic Date ({% parameter time_granularity %})"
sql: ${TABLE}.created_at ,,
}Now, in your dashboard, you'd add a filter based on the time_granularity parameter you created. And in your tiles, you'd use the dynamic_date dimension. When a user selects "Weekly" from the filter, the chart will automatically re-run the query, grouping all data by week.
Final Thoughts
Building a dynamic dashboard in Looker is about layering interactivity onto a solid data model. First, you create your base charts and tables, then you apply filters to let users narrow the data, and for advanced use cases, you leverage parameters in LookML to fundamentally change what the charts display. The process can be time-consuming and technical, but the result is a powerful tool for self-service analytics.
Of course, not everyone has a data engineer on standby or weeks to learn LookML. The reality for most marketing and sales teams is that building even a simple dynamic dashboard in a traditional BI tool can be a major project. That’s why we built Graphed. We wanted to make powerful analytics accessible without the massive learning curve. Just connect your data sources, and ask an AI data analyst to build what you want in plain English: "Create a sales dashboard showing revenue by country and product, with a date filter for last quarter." You get a real-time, fully interactive dashboard in seconds, not hours.
Related Articles
How to Create Facebook Ads API for Claude Code
Create a Meta Marketing API access token that never expires, using a system user, so Claude Code can pull Facebook ad reports and manage campaigns.
ClickHouse vs Postgres: When to Switch to Columnar
Comparing ClickHouse vs PostgreSQL means matching storage architecture to workload. Row storage wins for transactions. Columnar wins for scan-heavy analytics.
Google Ads for Orthodontists: Get More Booked Consults
Most orthodontic Google Ads campaigns waste money on low-intent searches. The problem is structure, not the platform.