How to Build a Marketing Dashboard in Google Sheets
A marketing dashboard in Google Sheets is a different build from a generic spreadsheet dashboard. The generic version asks "how do I make a chart update itself." The marketing version has to answer a question somebody will ask out loud on Monday: did last month work, and which channel did the work.
That difference decides the layout, the metrics, and how much of your week the thing eats. Here is how to build one that survives past the second month.
Decide what the dashboard is for before you open a new sheet
Most marketing dashboards fail because they were built as a place to put data instead of a place to answer a question. Pick one of three jobs and build for it.
A performance dashboard answers "is this channel working right now." Weekly cadence, short lookback, spend and result side by side.
A KPI dashboard answers "are we on pace against the number we committed to." Monthly cadence, target versus actual, one row per KPI.
A client or executive dashboard answers "what did we do for you and what changed." Monthly, comparative, light on raw metrics and heavy on deltas.
A sheet trying to be all three becomes a data dump with tabs. If you need two, build two views off one data tab, which is the structure below.
The three-tab structure that keeps it maintainable
Every dashboard in Sheets that lasts uses the same separation. Mixing these three things into one tab is the single most common reason a dashboard breaks when someone adds a column.
Tab 1, raw. One table per source, appended, never edited by hand. Columns exactly as the source exports them. If you edit here, you will lose the edit on the next refresh.
Tab 2, calc. Every formula lives here. This is where you normalize date formats, map campaign names to channels, and compute the derived numbers: cost per lead, conversion rate, week over week change.
Tab 3, view. The dashboard itself. It contains almost no formulas, only references to the calc tab, plus charts and formatting. If somebody wants a second view for a different client or channel, you copy this tab and repoint it. The calc tab does not change.
Two built-in functions do most of the work in the calc tab. QUERY filters and aggregates a raw table with a SQL-like string, which is how you get "spend by channel for the last 30 days" without a pivot table you have to rebuild every month (Google Docs Editors Help, checked 2026-09-13). IMPORTRANGE pulls a range from another spreadsheet, which is how you keep one shared raw workbook and many per-client view workbooks (Google Docs Editors Help, checked 2026-09-13).
Which metrics belong on a marketing dashboard
Pick the smallest set that lets somebody act. A rule that holds up: every metric on the view tab should have an obvious next move if it goes the wrong way. If a number changing would not change what you do on Monday, it belongs on the calc tab, not the dashboard.
A workable default set, by channel:
- Paid search and paid social. Spend, clicks, cost per click, conversions, cost per conversion. Five columns, one row per campaign group.
- Organic and SEO. Clicks, impressions, average position, and the small set of pages you are actually working on. Not all 4,000 queries.
- Email. Sends, open rate, click rate, and revenue or leads attributed. Open rate alone tells you almost nothing now.
- Site. Sessions, conversion rate, and conversions by channel group. One chart, not six.
Then add one row above all of it: the two or three numbers the business cares about. Leads, pipeline, revenue. That row is the reason anyone opens the file.
If the dashboard is for somebody else, the harder part is getting them to open it. A scheduled report lands in their inbox instead.
Ready to streamline your reporting?
MetricsWatch pulls GA, Search Console, Google Ads, Facebook, Instagram, LinkedIn and Mailchimp into one white-label report, delivered on your schedule. Starts at $49/month. 14-day free trial, no credit card required.
Building a sales dashboard in Google Sheets
A sales dashboard uses the same three tabs with a different calc layer. The raw tab is a CRM export, one row per deal, with stage, owner, amount, created date and close date.
The three views worth having are pipeline by stage (a QUERY grouping amount by stage), pace against quota (actual closed versus a target cell, as a percentage of the period elapsed), and a per-rep table. Add a rolling win rate only if you have enough closed deals for it to mean something; on low deal counts it swings wildly and people over-read it.
The maintenance trap here is stage names. Somebody renames a stage in the CRM and every formula keyed to the old string silently returns zero. Map stage names once in the calc tab, and have that mapping flag anything it does not recognize instead of dropping it.
Getting analytics data into the sheet
This is the part that decides whether the dashboard is a one-hour build or a standing chore, so be honest about it before you start.
Manual export. Download a CSV from each platform and paste it into the raw tab. Fine for a one-off. It is roughly 20 to 40 minutes per reporting cycle per client, and it is the same 20 to 40 minutes every cycle, forever.
A connector or add-on. Various third-party add-ons pull platform data into Sheets on a schedule. They remove the paste step. They add a dependency, a per-seat cost in most cases, and a new failure mode: a token expires, the refresh silently fails, and the dashboard shows stale numbers that look perfectly healthy.
BigQuery. If your data already lands in BigQuery, Sheets can query it directly through Connected Sheets (Google Docs Editors Help, checked 2026-09-13). This is the sturdiest option and the one that requires the most setup and the most know-how to keep running.
Looker Studio instead. Google's own dashboard tool connects to Google's own data sources and is built for exactly this job (Looker Studio Help, checked 2026-09-13). If the only reason you are in Sheets is that you did not want to learn another tool, it is worth an hour to compare. Sheets wins when you need your own formulas, your own blended data, and total control of the layout.
Templates: when to start from one
Starting from a template saves you the layout work and none of the data work. The data plumbing is the part that takes the time, and no template can do it for you, because it depends on where your numbers live.
So use a template for the view tab and build your own calc tab. Our roundup of Google Sheets dashboard template resources covers the general-purpose ones, and how to make a Google Sheets dashboard walks the mechanics if you would rather build from an empty file.
The cost nobody prices in
A Google Sheets dashboard is free to build and not free to keep.
The recurring cost is the refresh: pulling the data, checking that nothing broke, fixing the formula that broke when a platform renamed a field, and sending the link. Then a new client arrives and you do the whole setup again, because a dashboard built around one account's campaign names does not copy cleanly to the next one.
The second cost is quieter. A dashboard is a link, and a link only works if somebody clicks it. Plenty of carefully built client dashboards go unopened between meetings, and the agency finds out when the client asks a question the dashboard has answered for three weeks.
Neither of these is an argument against building one. They are the two numbers to put next to "free" before you commit to doing this for every client every month.
When a scheduled report is the better shape
If the dashboard exists so that someone else stays informed, the delivery matters more than the build. A report that arrives in an inbox on the first of the month gets read; a dashboard waits to be visited.
That is what MetricsWatch does. You connect your marketing platforms, pick the metrics, and the report goes out on your schedule, in the body of the email, white-label ready. It pulls from 12 integrations including Google Ads, Google Analytics, Search Console, Facebook, Instagram, LinkedIn, Mailchimp and Microsoft Advertising, and it can pull custom data from a Google Sheet you already maintain, so the spreadsheet work you have already done is not wasted. Plans start at $49 a month, and the trial is 14 days with no card.
Build the dashboard when you need to explore the data yourself. Schedule the report when somebody else needs to see it without being chased.