Google Sheets KPI Dashboard Template (Free) — Step‑by‑Step Guide
Build a live KPI dashboard in ~20 minutes. Copy the template, connect your data, and ship clean reports fast.
What You’ll Get
- A ready‑to‑copy KPI Dashboard template (Data → Model → View)
- Prebuilt charts (sparklines, line + bar), slicers, and a date range control
- Copy/paste formulas for common KPIs (retention, CTR, conversion rate)
- Troubleshooting guide for dates, text‑as‑numbers, and joins
How the Dashboard Works (Data → Model → View)
Data holds raw events or aggregate metrics.
Model standardizes types, calculates KPIs, and prepares tidy tables.
View contains pivots, charts, and controls for the dashboard page.
Data (raw) → Model (clean + calc) → View (pivots + charts)
Step‑by‑Step Setup
- Copy the template and open the Data tab.
- Import or paste data.
- CSV import: File → Import → Upload; check “Detect automatically” for separators.
- Connectors: use your preferred sync tool to update the Data tab daily.
- Map required columns (minimum):
date
(YYYY‑MM‑DD),source/medium
,campaign
,segment
(optional),sessions
,conversions
.
- Normalize types in Model:
- Ensure dates are true dates:
=DATEVALUE(TEXT(A2,"yyyy-mm-dd"))
- Cast metrics to numbers:
=VALUE(B2)
- Compute KPIs in Model:
- Conversion rate:
=IFERROR(conversions/sessions,0)
- CTR:
=IFERROR(clicks/impressions,0)
- ARPU:
=IFERROR(revenue/users,0)
- Build pivots in View:
- Insert → Pivot table → Rows:
date
; Values:sessions
,conversions
; Filter:source/medium
.
- Add charts to View:
- Line for Sessions, Column for Conversions; add a combo chart for CR%.
- Add a date range slicer:
- Data → Slicer on the
date
column; preset to last 30/90 days.
- Add sparklines in a KPI card row:
=SPARKLINE(OFFSET(View!B2,COUNTA(View!B:B)-30,0,30,1))
- Polish: set number formats, freeze header rows, color code KPI cards.
Ready KPIs (Copy/Paste)
- Sessions (7d, 28d, 90d):
=SUM(FILTER(Model!D:D, Model!A:A>=TODAY()-6))
(adjust days) - Conversion Rate (%):
=IFERROR(SUM(Model!F:F)/SUM(Model!D:D),0)
formatted as % - Week‑over‑Week change:
=IFERROR((ThisWeek-LastWeek)/LastWeek,0)
- MoM growth: replace week ranges with month ranges via
EOMONTH()
Troubleshooting
- Dates don’t filter: convert text dates →
=DATEVALUE()
or use Data → Split text to columns with/
or-
delimiter first. - Percent shows as 0: cell format set to Automatic; switch to Percent with 1–2 decimals.
- Pivot missing rows: ensure no blank headers; rename duplicates.
Download the Template
Add your email to get the KPI Dashboard Sheet and sample data. Import, map columns, and you’re done.
FAQ
Can I auto‑refresh daily? Yes—use your preferred connector or an Apps Script to pull data on a trigger.
What’s the row limit in Sheets? Practical comfort zone is ~50–100k rows per tab before sluggishness.
Can I add GA4/Ads directly? Use a data connector or export CSV → paste to Data tab.
Structured Data (JSON‑LD)
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Google Sheets KPI Dashboard Template",
"isAccessibleForFree": true,
"estimatedCost": {"@type":"MonetaryAmount","currency":"USD","value":"0"},
"supply": [{"@type":"SoftwareApplication","name":"Google Sheets"}]
}