Dashboards
Contents
Dashboards are the easiest way to track all your most important product and performance metrics.
Unlike notebooks, which are ideal for adhoc analysis of specific issues, dashboards are designed for tracking common metrics over time.
You can create a new dashboard from scratch, but we also offer numerous dashboard templates for tracking things like website metrics, product health metrics, and metrics for large language models.


Creating a new dashboard
- Click on Dashboards in the left hand navigation and then New Dashboard.
- You can create a dashboard from a list of available templates, or select Blank Dashboard to start from scratch.
- Name your dashboard, add some optional details if desired.
- Your dashboard will be empty – click +New insight to create an insight to add. Dashboards support all the core product analytics insights.
- Click Save & add to dashboard when you've created your insight.
If you already have some insights set up, an alternative approach is to click Add to dashboard in any insight.
Important: Insights can appear on multiple dashboards at the same time, so you don't have to create multiple copies of the same insight.
Dates and filters
Date range overrides
New dashboards are set to No date range override by default. This means all insights use the date range applied in their configuration.
Changing the date range on a dashboard forces all the insights to use the same date range, but this doesn't impact the date range that's shown when viewing an individual insight.
The date range can be accessed in SQL insights through the filters variable like filters.dateRange.from and filters.dateRange.to.
Dashboard filters
Dashboards also support most of the same filters as individual insights, including:
- Event properties: Properties stored on event, such as the
Current URLwhen the event was triggered. - Person properties: Properties of individual users, such as
company_name. - Feature flags: Filtering for users with a specific feature flag enabled.
- Group properties: Account-level properties, like
organization_id, which are only available if you have the group analytics add-on. - Cohorts: Filtering by cohorts of users you've already created.
Using filters on dashboards is a useful way to compare usage between different types of users without recreating insights over and over.
You could, for example, duplicate a dashboard – click on the '...' menu and click 'Duplicate' – and apply different filters to each version of the dashboard.
Filters can be accessed in SQL insights through the filters variable like filters.properties and filters.breakdown_filter.
Dashboard options
Editing the layout
You can move and resize all the insights on a dashboard by entering the 'Edit layout' mode.
You can do this in three ways:
- Tap 'E' on your keyboard
- Click on the '...' icon at the top of the dashboard and click 'Edit layout'
- Click on the '...' icon on any insight card and click 'Edit layout'
Tapping 'F' enables fullscreen mode.
Note: Dashboards have separate layouts for mobile and desktop. Shrink your viewport until insights are a single column to edit the mobile one.
Adding text cards
Clicking the dropdown on the 'Add insight button' reveals the option to add a text card to your dashboards.
Text cards support Markdown formatting for text. You can also drag and drop images.
You can use text cards to annotate your dashboard – useful for adding context for other users of the dashboard. For more in-depth analysis, however, we recommend creating a notebook.
Sharing a dashboard
By clicking 'Share' in the top right corner you can:
Restrict edit access to certain members within a project. Dashboards can be shared either by members with administrator privileges or by the dashboard creator (platforms add-ons required).
Create a link to share your dashboard publicly, or embed your dashboard on a website. Read more about this in our sharing and embedding docs.
Auto refresh
You can manually refresh a dashboard at any time, but you can also set it to automatically refresh.
To do so, click the dropdown arrow next to refresh button, turn on auto refresh and choose your refresh interval.
This is useful if you have a PostHog dashboard on a TV screen for others to see.
Important: Auto refresh only works when the browser tab is active.
Managing dashboards with Terraform
The in-app export features are currently in beta. To enable the "Manage with Terraform" button, opt in for Infrastructure as Code for Analytics via Feature Previews in your settings.
If you have questions or suggestions, please open an issue on GitHub or reach out to us directly in app.
For teams practicing infrastructure-as-code, you can manage PostHog dashboards and insights using the PostHog Terraform Provider.
This enables:
- Version-controlled analytics - Dashboard and insight definitions stored in git
- Consistent environments - Deploy the same dashboards across projects
- CI/CD integration - Automate analytics infrastructure alongside your application
Exporting existing dashboards
To get started quickly, you can export your existing dashboards as Terraform code using the Manage with Terraform button.
To enable this feature, opt in via Feature Previews in your settings.
Once enabled, you'll see a "Manage with Terraform" button on:
- Dashboard pages - Exports the entire dashboard including all insights, alerts, and hog functions
- Insight detail pages - Exports the individual insight with its associated alerts and hog functions
Click the button to generate HCL code that you can copy directly into your Terraform configuration. This makes it easy to bring existing dashboards under version control without manually recreating them.
Installation
Add the provider to your Terraform configuration:
For production use, we recommend pinning to a specific version. See the Terraform Registry for the latest version.
Example: Creating a dashboard
Example: Creating an insight
For the full list of supported resources and configuration options, see the Terraform Registry documentation.