Custom Dashboards

Build custom dashboards with widgets to visualize your metrics, events, and KPIs in one place.

What are Custom Dashboards?

Custom dashboards let you create personalized views of your data with drag-and-drop widgets. Combine metrics, charts, tables, and funnels to build comprehensive reporting dashboards for your team or stakeholders.

Widget Types

Metric Widget

Display a single metric value with optional trend indicator. Perfect for KPIs like MRR, active users, or conversion rates.

Chart Widget

Visualize metric trends over time with line, bar, or area charts. Choose time ranges and intervals for time-series analysis.

Table Widget

Display recent events in a table format. Filter by event names and customize which properties to show.

Funnel Widget

Show conversion funnel visualization with drop-off rates at each step.

Comparison Metric Widget

Display a metric with comparison to previous period, week, month, or year. Shows percentage change with trend indicators. Great for tracking growth metrics like MRR, user count, or revenue.

Goal Progress Widget

Track progress toward a specific goal with a progress bar. Shows current value, target value, percentage complete, and remaining amount. Supports pageviews, unique visitors, events, and revenue metrics.

Breakdown Widget

Visualize data breakdowns by dimension (country, device, browser, OS, etc.) using pie or bar charts. Perfect for understanding your audience composition and traffic sources.

Map Widget

Geographic visualization showing visitor distribution by country with country flags and progress bars. Data is automatically captured from IP addresses on every event.

Realtime Widget

Live active visitor count with optional visitor list showing current pages, countries, devices, and browsers. Updates in real-time via Server-Sent Events (SSE).

Automatic Data Enrichment

All events are automatically enriched with metadata - you do not need to send this data manually:

Geographic Data (IP Geolocation)

  • Country: ISO country code (e.g., US, GB, CA)
  • City & Region: City name and state/province
  • Coordinates: Latitude and longitude
  • Timezone: User timezone

Device & Browser (User-Agent Parsing)

  • Device Type: Desktop, mobile, or tablet
  • Browser: Chrome, Safari, Firefox, Edge, etc.
  • Operating System: Windows, macOS, iOS, Android, Linux

UTM Campaign Tracking

  • utm_source: Traffic source (google, facebook, newsletter)
  • utm_medium: Marketing medium (cpc, email, social)
  • utm_campaign: Campaign name
  • utm_content & utm_term: Ad content and keywords

Session Tracking

  • Session ID: Automatically generated for each visitor session
  • Pageviews: Counted per session
  • Bounce Rate: True if only 1 pageview in session
  • Entry Page & Referrer: First page and traffic source

Automatic Enrichment: All of this data is captured automatically when you track events. You do not need to send geographic data, device info, or UTM parameters manually - just track events and the platform handles the rest!

Creating a Dashboard

  • Navigate to Dashboard → Dashboards → Create Dashboard
  • Give your dashboard a name and optional description
  • Click Add Widget to start adding visualizations
  • Configure each widget's data source, time range, and display options
  • Drag and resize widgets to customize the layout

Widget Configuration

Metric Widget

{
  "type": "metric",
  "title": "Monthly Recurring Revenue",
  "config": {
    "metricId": "metric_abc123",
    "showTrend": true,
    "timeRange": "30d"
  }
}

Chart Widget

{
  "type": "chart",
  "title": "Revenue Trend",
  "config": {
    "metricId": "metric_abc123",
    "chartType": "line",  // "line", "bar", or "area"
    "timeRange": "90d",
    "interval": "day"     // "hour", "day", "week", "month"
  }
}

Table Widget

{
  "type": "table",
  "title": "Recent Purchases",
  "config": {
    "eventNames": ["purchase_completed"],
    "limit": 50,
    "properties": ["userId", "metadata.amount", "timestamp"]
  }
}

Dashboard Layouts

Dashboards use a responsive grid layout. Each widget occupies a position defined by:

  • x: Horizontal position (0-11)
  • y: Vertical position
  • w: Width in grid units (1-12)
  • h: Height in grid units
{
  "position": {
    "x": 0,
    "y": 0,
    "w": 6,  // Half width
    "h": 4   // 4 units tall
  }
}

Public Dashboards

Share dashboards with external stakeholders by making them public:

  • Open dashboard settings
  • Toggle Public Access
  • Copy the generated public URL
  • Share the URL with anyone - no login required

Warning: Public dashboards are accessible by anyone with the link. Do not include sensitive data in public dashboards. You can revoke access at any time by disabling public access.

Managing Dashboards via API

Create Dashboard

curl -X POST https://serla.dev/api/dashboards \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Executive Dashboard",
    "description": "Key metrics for leadership team",
    "isDefault": false,
    "isPublic": false
  }'

Add Widget to Dashboard

curl -X POST https://serla.dev/api/dashboards/dash_123/widgets \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "metric",
    "title": "Total Revenue",
    "config": {
      "metricId": "metric_xyz789",
      "showTrend": true,
      "timeRange": "30d"
    },
    "position": {
      "x": 0,
      "y": 0,
      "w": 6,
      "h": 3
    }
  }'

Best Practices

  • Start with key metrics: Place the most important KPIs at the top of the dashboard
  • Use consistent time ranges: Align all widgets to the same time period for accurate comparisons
  • Group related widgets: Organize widgets by category (revenue, users, engagement, etc.)
  • Keep it simple: Too many widgets can be overwhelming - focus on actionable insights
  • Set up refresh intervals: Dashboards auto-refresh to keep data current
  • Create role-specific dashboards: Different teams need different views (engineering, sales, support)

Example Dashboard Layouts

Executive Dashboard

  • Row 1: MRR (metric), New Customers (metric), Churn Rate (metric)
  • Row 2: Revenue Trend (line chart, full width)
  • Row 3: Top Events (table, left), Funnel Performance (funnel, right)

Product Analytics Dashboard

  • Row 1: Daily Active Users (metric), Session Duration (metric), Feature Adoption (metric)
  • Row 2: User Activity Trend (area chart, full width)
  • Row 3: Recent Events (table, full width)

Pro Feature: Custom dashboards are available on Pro and Max plans. You can create unlimited dashboards and share them with your team or make them public.