About this dashboard
Portfolio demoA live GA4 funnel dashboard plugged into a real ~20,000-SKU UK e-commerce store. A Cloudflare Worker pulls per-step session counts from GA4 each morning at 04:00 UTC and writes them to D1. The public pages never call Google APIs — they read the snapshot.
Built as a portfolio piece for conversion-works — Next.js 15 on Cloudflare Pages via OpenNext, D1 for storage, scheduled Worker for ingestion. The data is live and the funnel is the one we use to run the store.
Each step counts the number of sessions in the window that contained the given GA4 event at least once. Steps are independent — a session can reach Product pagewithout ever hitting Search results, so adjacent drop-off is informational rather than a strict subset.
The bar colour reflects the step-to-step pass-through rate: green ≥ 50%, amber 20–50%, red < 20%.