How to track week-over-week pipeline movement in HubSpot
You need two snapshots of your open deals taken at different times, compared by deal ID. HubSpot won't produce these for you, so either export your open deals on a fixed weekly schedule and diff them in a spreadsheet, or run an automated job that captures and compares them. Everything else is detail.
What movement means here
Pipeline movement is just the set of changes between two points in time. On a weekly cadence, every open deal falls into one of five buckets:
| Bucket | Definition | Why it matters |
|---|---|---|
| Entered | In this week's snapshot, not last week's | Is the top of the funnel still feeding? |
| Advanced | Moved to a later stage | Real progress, the healthiest signal |
| Slipped | Close date pushed to a later period | The quietest way a quarter goes wrong |
| Changed value | Amount went up or down | Often re-scoping nobody flagged |
| Left | In last week's, not this week's | Won, lost, or gone quiet |
Tracked in both dollars and deal counts, those five numbers explain most of what happened in a week. A quarter rarely collapses in one dramatic event. It drifts, a few slipped close dates at a time, and that drift stays invisible unless you're comparing snapshots.
The manual method
This costs nothing and it works. Pick a fixed day. Friday afternoon or Monday morning, it matters far less than being consistent about it.
1. Build the export
In HubSpot, create a deal view filtered to open deals only (exclude Closed Won and Closed Lost). Include at minimum: Record ID, Deal name, Stage, Amount, Close date, Owner, and Pipeline. The Record ID is essential, because it's the only thing that reliably identifies the same deal across two exports. Deal names get edited.
2. Save it without overwriting
Export to CSV and save it into a new tab named with the date, for example 2026-09-19. One rule matters above all: never overwrite last week's tab. The old data is the entire point.
3. Compare by Record ID
Use VLOOKUP or XLOOKUP against last week's tab to pull each deal's previous stage, amount, and close date beside its current ones. Then add columns that classify each row into the five buckets above. Once the formulas exist, each week is a copy-paste and a formula drag. Call it fifteen minutes.
4. Summarise
Total the dollars in each bucket. Those five totals are your weekly movement report, and they're what belongs at the top of a pipeline review.
Where the manual method breaks
It's worth knowing the failure modes before you commit to it:
- A missed week is permanent. You cannot go back and export last Friday. The gap stays forever.
- It depends on one person. When they're on holiday or leave, the record usually stops.
- Stage renames break history. If someone renames or reorders pipeline stages, old exports no longer line up unless you keep a mapping.
- It stops scaling somewhere past a few hundred deals, where the spreadsheet turns slow and fragile.
If your team is small and your deal count is modest, none of this may bother you for a long time. Start manual, and move on when it hurts.
The automated method
The logic is identical; only the reliability changes. A scheduled job pulls open deals from the HubSpot API on a fixed cadence, writes each run to storage, and computes the five buckets between the two most recent runs.
The details worth getting right, whoever builds it:
- Store the snapshot raw, not just the computed differences. You will want to ask new questions of old data later.
- Key on Record ID, never deal name.
- Record the stage ID as well as the label, so renames don't corrupt your history.
- Capture close date and forecast category, not just stage and amount. Slippage happens in the close date, and it's the thing most teams miss.
This is what our pipeline app does out of the box, and it's also perfectly buildable in-house if you have someone to build it.
Common questions
What data do I need to track pipeline movement?
At minimum, for every open deal: Record ID, stage, amount, close date, owner, and pipeline, captured on a fixed schedule. Record ID matters most, because it's the only reliable way to match the same deal across two exports.
How often should I snapshot my pipeline?
Weekly suits most B2B teams, because it matches the rhythm of a pipeline review without creating noise. Daily is useful for high-velocity, high-volume pipelines. Monthly is usually too coarse to catch slippage while you can still act on it.
Why should I use Record ID instead of deal name?
Deal names get edited, duplicated, and re-used. The HubSpot Record ID is stable for the life of the deal, so it's the only dependable key for matching the same deal between two snapshots.
Want this built?
We build the dashboard these guides describe, plus lead routing, scoring and data cleanup, for teams on HubSpot. See our HubSpot consulting work, or tell us what you want to see and we'll tell you what it would take.
Talk to us →