Why the two widgets show different numbers
This is usually the first question. The Funnel and Stages Distribution widgets point at the same pipeline and disagree. Both are right; they count different things.
The Funnel counts cumulatively across the visible stages, so a deal that reached a later stage also counts toward the stages before it. It has a cumulative view and a next-step conversion view. Stages Distribution counts open opportunities at the stage they're in now.
Won and Lost aren't stages at all. They're opportunity statuses, so your pipeline doesn't need Won or Lost columns for them to be reported.
What the Funnel's dates mean
The Funnel places each deal in a reporting period by its last status-change date. That works for a quick read of conversion. It isn't a record of how long deals took, or of the day each one reached each step.
Stage visibility is also set separately for each widget. A stage hidden in one widget drops out of that widget's numbers while still showing in the other, which is a second reason two reports on one pipeline can disagree.
Get the native reports right first
Most funnel questions are answered by the widgets once they're set up to match. Start here before building anything.
- Decide which question you're asking: how far deals progress, where open deals sit now, or when each milestone happened. The widgets cover the first two.
- Under Opportunities, open Pipelines and check the stage order and which stages each widget shows.
- Add the widgets through Edit Dashboard, then + Add Widget, then General, and choose Funnel or Stages Distribution.
- Give both widgets the same date range and filters before you compare their totals.
- For recent changes, open Audit Logs and export what you need. HighLevel keeps audit log entries for 60 days.
Recording stage history yourself
For time in stage, dates for every step, or a funnel over any range you choose, we record each milestone the moment it happens. In our builds a workflow fires on each stage change and sends an event to one events table: one row per move, carrying the deal, the stage and the time.
We route those events on the workflow's id, never its name. Names are for people to read; the id is what the report matches on.
Expect two things. The log starts empty on the day it goes live and fills only as deals move. And it can't see anything before that day, so for recent history the Audit Logs export is the place to look while its entries last.
A stage-history report begins the day you start recording. Start before you need it.
Rather have it set up for you?
We'll set up your funnel widgets and a stage-history log that records every move from the day it goes live. The first step is a 30-minute 1:1 with Rob.
Five ways the report goes wrong
Each of these makes a correct report look broken, or a broken one look correct.
- Comparing a cumulative funnel count with a current-stage count and deciding one is wrong
- Hiding a stage for tidiness and losing it from a widget
- Comparing widgets that use different date ranges or filters
- Counting on Audit Logs for anything older than their 60 days
- Matching events on workflow names, so a renamed workflow drops out of the report
