DEMO — synthetic data. Service business model (home services / remodeling): Visitors → Service Page Viewed → Quote Started → Lead → Consult Booked → Job Won, for the last 3 months (2026-05-06 → 2026-08-03). Global filters for date range, device, channel, campaign and landing page. KPI strip with sparklines, a normalized funnel with drop-off (splittable by device, service line or lead quality), step-conversion trends over time, a lead-quality heatmap with a Lead → Consult → Won drill-down, and a per-landing-page conversion table. Rows are generated by clients/demo/data-gen/service-funnel.mjs — no real client data.
clients/demo/data-gen/service-funnel.mjs. It models a fictional regional home-services
company and is here to show what the dashboard does — not to report anyone's real results.A high-ticket service business sells jobs, not carts. Nobody checks out on the website — the site's only job is to produce a qualified lead, and revenue is decided later by a salesperson. So the funnel is measured all the way from an anonymous visit through to a signed contract, and revenue is attached to the won job, not to the session.
Every step is first-touch attributed: a person is counted against the channel and landing page that brought them in, and recorded on their arrival date. That makes channel comparisons fair — the whole journey is credited to whatever earned the visit.
One thing to know about the demo data: every step is booked on the arrival date itself, so there is no settling lag here — the last few days are complete, just short. Against a real warehouse the same query would lag, because a job signed in August is credited back to a June visit, and recent weeks would keep filling in for months.
Each bar is scaled against Visitors (the first step = 100%). The solid fill is the share of visitors who reached that step; the hatched area above it is the drop-off. The pill under each step shows step-to-step conversion versus the previous step. Total Conversion (Visitors → Job Won) sits top-right. Hover any step name (ⓘ) for its definition.
Channel is the cleaned source/medium: Google Ads, Meta Ads, Organic Search, Direct and Email. Campaign is grouped the way a service account normally is — Brand vs Non-Brand on search, Prospecting vs Retargeting on social, Nurture on email. Organic and Direct have no campaign.
One card per device, showing where leads of each grade come from — by channel and by landing page. Each cell shows the lead count and its share of that row, shaded by volume. Click any cell to see that segment's Lead → Consult → Job Won conversion.
Date, Device, Channel, Campaign and Landing apply globally to every section. All filtering happens in the browser, so changes are instant.