Sales reporting, dashboards & forecasting
A sales dashboard in Looker Studio. Built to be trusted, not just to look good.
I'm Lauren Pearson, and Looker Studio comes up in almost every conversation I have with a founder who wants sales visibility but does not want to pay for a dedicated business intelligence platform to get it. It is Google's free reporting tool, formerly Data Studio, and it is genuinely capable enough to run a real sales dashboard on. This is the build I actually use with clients: how to connect the CRM, what to put on the page, and the specific mistakes that make a team quietly stop trusting a dashboard within a few weeks of it going live.
The short answer. Connect, blend, and show your working.
A sales dashboard in Looker Studio is built in three stages: connect a data source (your CRM, directly or via an export), blend it with any second source you need (marketing spend, a headcount sheet), and lay out the panels so a viewer can see both the number and the calculation behind it. Looker Studio supports several hundred data sources through native and community-built connectors, so most CRMs, HubSpot, Salesforce, Pipedrive, Zoho, connect either directly or through a Google Sheets bridge that a scheduled export keeps current.
The build itself is not the hard part. A single pipeline-by-stage chart, a forecast number and a win-rate trend line can be live within an afternoon once the data source is connected. The part worth taking seriously, and the part most guides skip, is what happens in the weeks after launch, when someone spots a number that does not match what they remember from the CRM directly, and either investigates why or quietly stops opening the dashboard.
How it works in practice. The five panels worth building, in order.
Build these five, in this order, rather than trying to replicate every report your CRM's native dashboard already shows. Each one answers a different question a sales leader actually asks in a pipeline review.
| Panel | Question it answers | Data it needs |
|---|---|---|
| Pipeline by stage | Where is the pipeline sitting right now, and is it moving? | Open deals, stage, value, days in stage |
| Weighted forecast | What will actually close this period? | Deal value multiplied by stage-based or historical win probability |
| Win rate over time | Is close performance improving or slipping? | Closed-won and closed-lost counts by month or quarter |
| Average deal size and cycle length | Are deals getting bigger or slower to close? | Closed-won value and the gap between created and closed dates |
| Rep-level activity | Is effort matching pipeline, or is one rep coasting on inherited accounts? | Calls, meetings and emails logged per rep, ideally from the CRM automation layer rather than manual notes |
Connect your CRM's opportunity or deal object as the primary data source for the first four panels. For rep-level activity, blend in the activity object, since it usually lives in a separate table with its own refresh cadence. Google's native connectors for most major CRMs, and the community connectors that cover the rest, refresh on a schedule of roughly 15 minutes to a few hours, which is current enough for coaching conversations and weekly forecast reviews without needing a live feed.
If your CRM is not directly supported, a scheduled export into Google Sheets is the practical bridge: a script or a native CRM export job writes a fresh sheet daily, and Looker Studio reads from that. It is the simplest option for a small team and it is where I tell most founder-led clients to start, moving to a BigQuery pipeline only once the data volume or the number of blended sources makes a spreadsheet unwieldy to maintain.
Sharing and access. The setting that gets missed most often.
A Looker Studio report is shared the same way a Google Doc is, by adding people or a group at either view or edit level, and it is worth deciding that access model deliberately rather than defaulting to "anyone with the link." A sales dashboard usually needs three tiers: leadership with full visibility across every rep and territory, sales managers with visibility into their own team, and reps with visibility into their own pipeline only. Looker Studio supports this through data source-level filters tied to the viewer's email address, which is worth setting up before the first wide share rather than retrofitting it once a rep has already seen a colleague's numbers and asked why.
The other setting worth checking early is whether the underlying data connection uses the report owner's credentials or the viewer's own. Owner's-credentials sharing is simpler to set up and is the right choice for most small teams, but it means every viewer sees through the same access level as whoever built the report, so a dashboard intended for company-wide visibility should not be built under an account with restricted CRM access, or viewers will see less than the builder intended without any obvious error message telling them why.
What good looks like. Show the formula, not just the number.
A dashboard earns trust the same way a good report does: by showing its working. Every panel should make it obvious, in a caption or a hover tooltip, exactly how the number was calculated, weighted forecast using which win-probability figures, average deal size across which date range. Without that, the first time a number surprises someone, they stop trusting the whole dashboard rather than just the one figure, because they have no way to tell whether the calculation or the underlying data is the problem.
This matters more than it sounds. Sales forecasting research from Xactly, drawn from pipeline data across its customer base, found only around 9% of companies forecast within 5% of actual revenue, and roughly 60% miss by more than 10%. Most of that gap is not a modelling problem, it is a visibility problem: the forecast lives in someone's head or a spreadsheet that gets updated inconsistently, and by the time a leadership team sees it, the number has already drifted from what the pipeline actually supports. A dashboard that is checked weekly rather than assembled manually once a quarter closes a meaningful part of that gap on its own.
I built one of these for a nine-person B2B services team whose weekly forecast meeting used to open with someone reading numbers off their own laptop, three slightly different versions of the same pipeline depending on who had last refreshed their export. We put the CRM's opportunity object behind a single Looker Studio report, shared as a link rather than a downloaded file, and made the weighted forecast panel the first thing anyone saw. The meeting shortened by roughly a third within a month, not because the forecast got more accurate overnight, but because the room stopped spending the first ten minutes agreeing on which number was even correct.
Pitfalls to avoid. Where dashboards quietly go wrong.
The first and most common fault is a blended data source joined on the wrong key. Blending a deals table and an activity table on company name rather than a unique ID will silently merge two similarly named accounts, and the dashboard will look correct while being wrong in a way nobody notices until a specific number is checked against the CRM directly.
The second is a date filter left scoped to the wrong field. Looker Studio applies a report-level date range to whichever date field the chart is configured to use, and if that is set to "created date" on a panel meant to track "close date," the numbers will shift in a way that looks plausible but answers a different question than the one on the label. Always check which date field a filter is actually reading before trusting a trend line.
The third is building a beautiful dashboard nobody owns. A Looker Studio report connected through a manual Sheets export is only as current as the last person who ran the export, and if that job is not automated or assigned to someone by name, the dashboard quietly goes stale while still looking live, since nothing in the interface tells a viewer the underlying data stopped updating three weeks ago. Pair this build with a look at what a sales dashboard is actually for if you are still deciding which metrics deserve a permanent place on the page before you start building panels.
The fourth is over-building before the underlying CRM data can support it. A Looker Studio report can only be as accurate as the fields it reads from, and a dashboard built on top of inconsistently updated stages or missing close dates will just make bad data look authoritative. If pipeline stages are not being updated reliably, that is worth fixing with CRM data entry automation before investing more time in the reporting layer sitting on top of it.
The fifth is designing the report for the builder's screen instead of the viewer's. A dashboard laid out with a dozen small charts crammed onto one page reads fine to the person who built it and knows what each one means, and reads as noise to a sales manager glancing at it between meetings. Cut the panel count to what someone can genuinely absorb in under a minute, and put the number that matters most, usually the weighted forecast against target, at the very top of the page rather than buried below the charts that took longest to build.
Common questions.
Is Looker Studio good enough for a real sales dashboard?
Yes, for most founder-led and mid-market teams. Looker Studio is Google's free reporting tool and connects to hundreds of data sources, including every major CRM either natively or through a connector. It will not match a dedicated revenue intelligence platform on advanced forecasting models, but for pipeline, win rate, forecast and activity reporting it does the job without a licence cost.
How do I connect my CRM to Looker Studio?
Most CRMs connect one of three ways: a native Looker Studio connector built by Google or the CRM vendor, a third-party connector from the Looker Studio marketplace, or a scheduled export into Google Sheets or BigQuery that Looker Studio then reads. Sheets is the simplest starting point for a small team; BigQuery is worth setting up once the data volume or the number of blended sources grows.
What panels should a sales dashboard in Looker Studio include?
Five cover most needs: pipeline by stage, a weighted forecast, win rate over time, average deal size and sales cycle length, and rep-level activity. Each panel should show its underlying formula somewhere on the page, so a viewer can see how a number was calculated rather than having to trust it blindly.
Why does a Looker Studio dashboard sometimes show the wrong numbers?
Almost always because of a blend or filter set up incorrectly, not because Looker Studio itself is wrong. A blended data source that joins two tables on the wrong key, or a date filter left applied to a field that stores something other than the date it looks like, will produce numbers that look plausible and are silently off. Check the blend configuration and filter scope before assuming the underlying CRM data is at fault.
How often should a Looker Studio sales dashboard refresh?
Native connectors to most CRMs refresh on a schedule of 15 minutes to a few hours, which is fine for a dashboard used for coaching and forecasting conversations. Data pulled through Sheets refreshes only when the underlying sheet is updated, so a manually maintained sheet feeding the dashboard needs its own refresh schedule, ideally automated rather than left to whoever remembers.
Want a dashboard built around how your team actually sells? Let's build it properly.
Get in touch and we will map your CRM's data to the panels that matter, wire it up in Looker Studio or the tool that fits your stack, and make sure the numbers hold up the first time someone checks them against the source.
Let's talk ↑