How to Build a Sales Dashboard in Google Sheets from a CSV Export
Every sales team lives in a CRM, but reporting almost always ends up in Google Sheets. HubSpot, Pipedrive, Salesforce, Close, and Attio all export deals and activities as CSV. The bottleneck is the same: download, upload to Drive, import, clean, then build the dashboard. This guide walks through a repeatable workflow that gets you from CRM CSV to a shareable sales dashboard in under 30 minutes.
Step 1: Export deals from your CRM
Pick the CRM view that already has the fields you report on — stage, amount, owner, close date, source. Export it as CSV. If your CRM only exports the current filter, filter to the current quarter first so the file stays small and fast.
Step 2: Open the CSV in Google Sheets in one click
Instead of uploading the file to Drive and using File → Import, install the CSV to Google Sheets Chrome extension and open the file directly from your recent downloads. A real Google Sheet appears in your Drive without the manual dialog. This matters because you'll re-open a new export every week — a one-click flow saves 5–10 minutes per refresh.
Step 3: Clean the data
- Delete summary rows the CRM prepends to the top of the file.
- Rename headers to short, formula-friendly names (Deal, Stage, Amount, Owner, CloseDate, Source).
- Format the Amount column as currency and CloseDate as a date.
- Add a helper column WeekOfClose using =ISOWEEKNUM(CloseDate) and a MonthOfClose column using =TEXT(CloseDate,"YYYY-MM").
Step 4: Build the dashboard with pivot tables
Pivot tables are the fastest way to answer sales questions in Sheets. Insert → Pivot table on the cleaned range and build these three views:
- Pipeline by stage: rows = Stage, values = SUM(Amount) and COUNTA(Deal).
- Forecast by month: rows = MonthOfClose, columns = Stage, values = SUM(Amount).
- Rep performance: rows = Owner, values = SUM(Amount) filtered to Stage = Closed Won.
Step 5: Add charts and a summary block
Insert a stacked bar chart for pipeline by stage and a line chart for forecast by month. At the top of the sheet, add a summary block with the numbers you present in your weekly meeting: total pipeline, weighted forecast, deals closed this month, average deal size.
Step 6: Refresh weekly in under 5 minutes
Every Monday, export a fresh CSV from your CRM, open it with the extension, then paste the cleaned range over the data tab in your dashboard workbook. Pivots and charts recalculate automatically. If you prefer to keep every weekly export as a separate Sheet, use IMPORTRANGE to pull the latest export into the master dashboard.
When to graduate to a real integration
If more than one person edits the dashboard, or you need daily refresh, a native CRM ↔ Sheets integration (or a paid data pipeline like Coupler.io) is worth the setup cost. For a solo AE or a small team running weekly forecasts, the CSV workflow above is faster to build and easier to change.
Frequently asked questions
Open CSV files in Google Sheets faster
Skip the upload-and-import dance. Install the Chrome extension and turn any CSV into a Google Sheet in one click.
Related articles
CSV to Google Sheets for Marketing Reports
Marketing teams export CSVs all day — from Google Ads, Meta, GA4, LinkedIn, and more. Here's a workflow that turns them into Google Sheets without the import dance.
How to Automate CSV Imports to Google Sheets (Without Building a Pipeline)
You don't always need a data pipeline. Here's a plain-English comparison of the four practical ways to automate CSV imports into Google Sheets, and how to pick the right one.
How to Import CSV to Google Sheets Without Repeating Manual Uploads
If you import CSVs into Google Sheets every week, the standard flow stops scaling. Here's a faster workflow that takes one or two clicks per file.