Skip to main content

Custom Dashboards

Custom Dashboards let you create personalized views of your analytics data. Combine multiple widgets - metrics, charts, and tables - into a single dashboard tailored to your team's needs.

Accessing Dashboards​

Navigate to Analytics → Dashboards from the sidebar.

Creating a Dashboard​

  1. Click New Dashboard or navigate to /analytics/dashboards/new
  2. Enter a Name for your dashboard
  3. Add an optional Description
  4. Start adding widgets

Dashboard Widgets​

Widget Types​

TypeDescriptionBest For
MetricSingle number with trendKPIs, key metrics
Line ChartTime series visualizationTrends over time
Bar ChartCategorical comparisonComparing segments
Pie ChartProportional breakdownDistribution analysis
TableData in rows and columnsDetailed data views
FunnelConversion funnelConversion tracking

Adding Widgets​

  1. Click Add Widget
  2. Select the widget type
  3. Give it a title
  4. Configure the data source
  5. Click Add

Configuring Widgets​

Each widget type has specific configuration:

Metric Widget​

  • Select an event
  • Choose metric: Event Count or Unique Users
  • Displays the value with optional trend indicator

Line/Bar Chart​

  • Select an event
  • Choose metric type
  • Data shows over the dashboard date range

Pie Chart​

  • Select an event
  • Choose a property for breakdown
  • Shows distribution of property values

Table Widget​

  • Configure columns and data source
  • Supports sorting and pagination

Funnel Widget​

  • Select a saved funnel
  • Displays funnel visualization

Widget Layout​

Grid System​

Dashboards use a 12-column grid:

  • Widgets span columns (width) and rows (height)
  • Smaller widgets: 3-4 columns
  • Medium widgets: 6 columns
  • Full-width widgets: 12 columns

Resizing Widgets​

  1. Enter Edit mode
  2. Click the Settings icon on a widget
  3. Adjust Width (columns) and Height (rows)
  4. Save changes

Widget Sizes​

SizeColumnsRowsGood For
Small32Metric cards
Medium64Charts
Large65Tables, funnels
Full124-6Wide visualizations

Managing Dashboards​

Edit Mode​

Click Edit to:

  • Add new widgets
  • Remove widgets (X button)
  • Configure widget settings
  • Reorder widgets (drag and drop)

Campaign widgets​

Campaign filter​

The campaign select offers an All Campaigns option (the first item in the list) plus each campaign in your workspace. "All Campaigns" means every campaign - journey sends are not folded in, whichever way the widget is grouped. Use the Canvas data source for those.

Message channel filter​

Toggle any subset of: Email, SMS, Push, WhatsApp, Viber, In-app. There is no webhook option: a webhook call reaches no person, so campaign widgets - whose counts all mean "people we messaged" - leave those rows out.

Per-channel metric support​

Some metrics are only emitted by some channels:

MetricChannels that emit it
opened / open_rate / ctrEmail, WhatsApp, Viber
clicked / click_rateEmail, SMS, Push, WhatsApp, Viber, In-app
sent / deliveredEvery channel
conversionsIn-app only

In-app is not an open-tracked channel: the impression is the open, so there is no second step to count. ctr follows the open list, because it needs opens to divide by. And conversions counts the in-app conversion event; a message-channel row reports it as unmeasured rather than as zero.

When a widget's metric cannot be measured for the channels selected, it is not drawn as 0.0%. A metric or number widget renders the words "Not measured", and a table renders - in each affected cell, with the hint "The selected channels do not emit this metric" on hover. That keeps "this channel doesn't emit this metric" apart from "zero opens this period" - and it applies with no channel filter set too, so a mixed row cannot quietly dilute the email figure beside it.

E-Commerce widgets​

Alongside Event, Campaign and Canvas, widgets can draw from an E-Commerce data source - powered by your synced orders and RFM analysis (no event configuration needed). Pick E-Commerce as the data source, then choose a metric:

MetricBest widget typeShows
Total RevenueMetricRevenue in your base currency for the period
Total OrdersMetricOrder count for the period
Unique customersMetricPeople who placed at least one order in the period, counted once each
Average Order ValueMetricRevenue ÷ orders
Revenue Over TimeLine / BarDaily revenue trend
Orders Over TimeLine / BarDaily order trend
RFM Segment DistributionBar / PieCustomers per RFM segment

The metric list narrows to the ones that fit the widget type you picked. Revenue figures are normalized to your base currency (see Multi-Currency Reporting), and both revenue and the order count exclude cancelled and fully refunded orders, so the two describe the same set of orders. Revenue Over Time and Orders Over Time follow the dashboard's own date range. You can also just ask the AI assistant to "build a revenue dashboard" and it will propose these widgets for you.

Bot exclusion​

Dashboard widgets, like every other aggregate analytics surface, exclude bot-flagged events by default. This prevents bots from inflating engagement metrics. See Event Explorer → Bot exclusion for the full breakdown of what gets flagged and where the exclusion applies.

Date Range​

Control the time period for all widgets on your dashboard:

  1. Click the Date Range dropdown at the top of the dashboard
  2. Select a preset:
    • Today
    • Yesterday
    • Last 7 days
    • Last 30 days
    • This month
    • Last month
    • All time
    • Custom (select start and end dates)
  3. All widgets update to show data from the selected period

Ranges are drawn in your workspace timezone and cover the whole of the end day, so "Today" returns today. A saved dashboard with a relative range re-resolves it on each load, and "months" means calendar months rather than blocks of 30 days.

Property Filters​

Filter widget data by event properties to drill down into specific segments:

Adding Filters​

  1. Click Add Widget or edit an existing widget
  2. In the widget configuration, expand the Filters section
  3. Click Add Filter
  4. Each filter renders as a two-row layout:
    • Row 1: property select (full panel width) + delete icon
    • Row 2: operator select + value input
  5. Add multiple filters as needed (filters are combined with AND)

This two-row layout keeps the property picker readable inside the narrow widget-editor side panel - long property names no longer get squeezed into a chevron.

Filter Operators​

OperatorDescriptionExample
equalsExact matchcountry equals US
not_equalsDoes not matchplan not equals free
containsContains substringurl contains /pricing
not_containsDoes not containurl not contains /admin
gtGreater thanprice gt 100
gteGreater than or equalquantity gte 5
ltLess thanage lt 30
lteLess than or equalscore lte 50
is_setProperty existsutm_source is set
is_not_setProperty doesn't existcoupon is not set

Filter Examples​

Page views on specific pages:

  • Event: page_view
  • Filter: url contains /checkout

Mobile users only:

  • Event: button_click
  • Filter: device equals mobile

High-value purchases:

  • Event: purchase
  • Filter: amount gt 100

Saving Changes​

Click Save to persist your changes. Dashboard changes are saved per-workspace.

Deleting Dashboards​

  1. Enter Edit mode
  2. Click Delete
  3. Confirm deletion

Warning: This action cannot be undone.

Dashboard Examples​

Executive Overview​

┌─────────────────┬─────────────────┬─────────────────┬─────────────────┐
│ Active Users │ Total Events │ Conversion │ Revenue │
│ (Metric) │ (Metric) │ (Metric) │ (Metric) │
├─────────────────┴─────────────────┴─────────────────┴─────────────────┤
│ │
│ Daily Active Users (Line Chart) │
│ │
├────────────────────────────────────┬───────────────────────────────────┤
│ │ │
│ Signup Funnel (Funnel) │ Users by Country (Pie) │
│ │ │
└────────────────────────────────────┴───────────────────────────────────┘

Product Analytics​

┌─────────────────┬─────────────────┬─────────────────┬─────────────────┐
│ Feature A Use │ Feature B Use │ Feature C Use │ Feature D Use │
├─────────────────┴─────────────────┼─────────────────┴─────────────────┤
│ │ │
│ Feature Usage Trend (Line) │ Usage by Plan (Bar) │
│ │ │
├───────────────────────────────────┴────────────────────────────────────┤
│ │
│ Top Events Table │
│ │
└────────────────────────────────────────────────────────────────────────┘

Marketing Dashboard​

┌─────────────────┬─────────────────┬─────────────────┬─────────────────┐
│ Signups │ Trial Starts │ Conversions │ CAC │
├─────────────────┴─────────────────┴─────────────────┴─────────────────┤
│ │
│ Signups by Channel (Line Chart) │
│ │
├────────────────────────────────────┬───────────────────────────────────┤
│ │ │
│ Traffic by Source (Pie) │ Trial → Paid Funnel │
│ │ │
└────────────────────────────────────┴───────────────────────────────────┘

Best Practices​

Design for Your Audience​

  • Executives: High-level metrics, trends, KPIs
  • Product Managers: Feature usage, conversion funnels
  • Marketing: Acquisition metrics, channel performance
  • Support: User activity, issue tracking

Keep It Focused​

  • One dashboard = one purpose
  • 6-10 widgets is usually enough
  • Too many widgets = information overload

Use Consistent Metrics​

  • Define what "active user" means across widgets
  • Use the same time ranges where possible
  • Align on metric definitions with your team

Prioritize Important Data​

  • Put key metrics at the top
  • Use larger widgets for important visualizations
  • Place related widgets near each other

Name Things Clearly​

  • Dashboard name should indicate purpose
  • Widget titles should be self-explanatory
  • Add descriptions for context

Sharing & visibility​

When you edit a dashboard, you control who can see it with three visibility modes:

  • Private - only you, the creator, can see it.
  • Specific people - only the members and teams you choose can see it.
  • Everyone - everyone in the workspace can see it.

Editing still requires the appropriate permissions, whoever the dashboard is shared with.