Docs

Dashboard Metrics

Published July 25, 2026 • Updated July 27, 2026

This page documents how dashboard metrics are calculated today, based on the current dashboard and analytics API logic. As of February 25, 2026, the dashboard also supports a quiz filter (All quizzes or a specific quiz) and selected-quiz performance insights.

Dashboard cards

  • Total Quizzes: Count of all quizzes where quizzes.owner_id = current user, including drafts and published quizzes.
  • Published Quizzes: Count of owned quizzes where status = "published".
  • Total Submissions: Count of all submission rows in the current dashboard quiz filter (de-duplicated by (quiz_id, submission_id) key logic in the dashboard page).
  • Submissions this month: Count of completed quiz records since the UTC month start in the current dashboard quiz filter.
  • Leads this month: Count of captured contacts during the current reporting period. This card remains account-level and does not represent a separate lead quota.

Leads & submissions chart

The Leads & submissions chart reads /api/analytics/funnel-timeseries and is available on Basic+ plans.

  • Date window options: 7d, 30d, 90d (UTC day buckets).
  • Quiz filter: quizId=all (default) or a specific owned quiz id.
  • Submissions series: Daily count of submissions.created_at for the selected quiz filter.
  • Leads series: Daily unique count across both:
    • leads
    • completion_cta_leads Deduplicated per day by (quiz_id, submission_id).
  • Conversion series: leads / submissions * 100 for each day, capped at 100% because a lead may be captured before the participant completes the flow.
  • Free plan behavior: API returns 402 PAYWALL and the UI shows upgrade messaging.

Quiz insights panel (selected quiz only)

When a specific quiz is selected in the dashboard filter, the Quiz insights panel loads:

  • /api/analytics/quiz-funnel
    • Started: Unique (quiz_id, submission_id, run_id) runs with event_type=start.
    • Reached gate: Runs with event_type=step_view where step_type=lead_gate.
    • Completed: Runs with event_type=complete.
    • CTA clicks: Count of submission_exit_events where action=completion_cta.
  • /api/analytics/question-dropoff
    • Reached count: Runs that viewed each block (submission_step_events, event_type=step_view).
    • Answered count: Submissions that contain an answer value for that block id.
    • Completion rate: answered_count / reached_count * 100 (answerable blocks only).
    • Drop-off after block: Runs that reached current block but not the next block.
  • /api/analytics/block-performance
    • Bio Block viewed: A unique public session where at least 35% of the visible block entered the viewport.
    • Bio Block interacted: A unique viewer who clicked, opened, expanded, navigated, downloaded, or otherwise used the block.
    • Bio Block completed: A successful primary action such as Form submission or completed Booking event.
    • Interaction rate: unique interacting sessions / unique viewing sessions * 100.
    • Flow Block viewed: A unique flow run with a matching step_view event.
    • Flow Block interacted/completed: A submission containing an answer for an answerable block.
    • Privacy: Analytics events contain identifiers and action categories, never question answers, contact details, or Form values.
  • /api/analytics/completion-outcomes
    • Clicks: Completion CTA exits grouped by label/style/location/rule index.
    • Lead clicks: Matching rows in completion_cta_leads.
    • Outcome type: CTA goalType (builder-defined key, for example booking, request_demo, watch_webinar).
    • Legacy rows without explicit goalType can fall back to keyword classification for booking.

Interpretation notes

  • If submissions increase while leads stay flat, common causes are skipped or routed-around Lead Capture steps, invalid contact details, or a flow without lead collection.
  • Chart leads can include completion CTA lead captures (completion_cta_leads) that are separate from lead-capture step submissions.
  • The leads usage card remains account-level even when a single quiz is selected.
  • For best attribution quality, set CTA goal types on tracked link actions in the default outcome and any Conditional Outcomes.
  • A newly published or newly instrumented block can show zero activity until a real visitor—not an editor preview—sees it.

Related resources

Share