How to see how many contacts were in each HubSpot lifecycle stage last month
By Kayabyte
“How many MQLs did we have at the start of the quarter?” is a question about a past state. HubSpot reports show records by their lifecycle stage today, so the answer takes some care. This guide goes through what HubSpot can tell you, what it cannot, and where an app helps. HubSpot facts last checked 13 November 2026 against HubSpot’s knowledge base.
What HubSpot gives you
- A graph of records by lifecycle stage. HubSpot’s lifecycle article describes a contact or company report showing records by stage, for example a pie chart of contacts across the stages. It shows the stages as they are now (HubSpot: use lifecycle stages, last updated 17 Jul 2026).
- Date entered, date exited and time in stage. Each lifecycle stage has calculated properties. Date entered is “the date and time when the contact entered the stage”. The article does not say whether it holds the first or the most recent time a contact reached the stage, so check this on a few of your own contacts (HubSpot: default contact properties, 21 Sep 2026). HubSpot says the latest-time and cumulative-time properties need Professional or Enterprise.
- Funnel reports. Custom funnel reports measure conversion rates between stages of a customer’s lifecycle, and custom reports need Professional or Enterprise (HubSpot: custom reports, 8 Jun 2026).
A workable answer: count by date entered
A report that counts contacts whose “date entered MQL” falls in October answers “how many became MQLs in October”. That is a flow, not a stock. It does not tell you how many were sitting in MQL on 1 October, because contacts who entered earlier and have not moved on are not in the October count. If your question is about conversion, the flow is often what you need.
Your own snapshot
Export the contacts view with lifecycle stage on the first of each month and keep the files, using the same columns each time. It works on any plan and costs nothing, but it starts on the day you start and relies on someone remembering.
Where this stops
- No native report in the articles above states “contacts per lifecycle stage on a past date”.
- Flow counts and stock counts get mixed up in conversations about “pipeline” and “funnel”.
- Without the date properties, and without an export habit, the past is gone.
Full disclosure: we built an app for this
We built Historical Snapshots & Weekly Digest. The app takes a snapshot every night, around 23:00 in your account’s time zone, and keeps it. On Pro it records contacts per lifecycle stage and per lead status, and tickets per stage, every day, and you can compare any two days side by side. On install it rebuilds the last 90 days for deals from their own history; the app page describes that rebuild for deals only, so expect contact history to build from install day. Pro also adds all snapshots kept, the Monday digest and CSV export.
Free keeps 90 days of deal pipeline history with trends, comparisons, changes and stale deals. Pro is USD 19 per month per HubSpot account. Every new account gets 14 days of Pro, no card needed. It works on every HubSpot plan, including the free CRM, and it only reads; it never changes anything in HubSpot. It is on the HubSpot Marketplace.
More detail
- How to see what your HubSpot pipeline looked like last week
- A weekly stale-deal report in HubSpot, without Enterprise
FAQ
Can HubSpot show lifecycle stage counts on a past date? The articles above describe reports by current lifecycle stage and date-entered properties, not a count on a past date. A stored snapshot or a regular export is the reliable way.
Is there a free way? Yes: a monthly export of contacts with their lifecycle stage. The app’s Free plan only keeps deal pipeline history; contacts per lifecycle stage are on Pro.
Do I need Professional for date entered? HubSpot says latest time and cumulative time in a stage need Professional or Enterprise, and custom reports do too.
Questions or corrections: support@kayabyte.dev. HubSpot is a registered trademark of HubSpot, Inc. Kayabyte is an independent developer and is not affiliated with HubSpot.
More guides
- How to audit and clean up HubSpot properties without breaking anything
- How to stop a HubSpot deal reaching Closed won until it is approved
- How to bulk create custom properties in HubSpot from a CSV or spreadsheet
- How to calculate MRR from Paddle: yearly, weekly, discounts and tax
- How to send a client an hours statement from HubSpot
- How to copy properties from one HubSpot account to another
- DealHub or a lightweight approval app for HubSpot deals?
- How to download all attachments in HubSpot
- How to download email attachments from HubSpot records
- How to export all properties from HubSpot, with their dropdown options
- Export files from HubSpot: library vs attachments
- Export ticket and deal attachments from HubSpot
- Find sensitive files in HubSpot attachments
- HubSpot API: get attachments from notes and emails
- HubSpot attachment export tools compared
- How to bulk add dropdown options (and properties) in HubSpot
- HubSpot deal approval options compared: native approvals, workflows, DealGuard and Deal Approvals & Stage Gate
- HubSpot deal approvals without Enterprise: what Free, Starter and Professional can do
- HubSpot discount approval on Sales Hub Professional or Starter
- How to set up discount approvals in HubSpot (deal desk)
- HubSpot GDPR request: export a contact’s files
- HubSpot migration: export attachments checklist
- How to track prepaid hours and retainers in HubSpot
- Creating HubSpot properties in bulk: HubSpot import, the API, Lift and Bulk Property Import & Export compared
- HubSpot property naming conventions: a template for internal names, groups and labels
- How to create a top-up deal when a client’s retainer runs low in HubSpot
- Tracking retainer hours in HubSpot: StopWatch, PSOhub, a spreadsheet or Retainer Wallet
- Time tracking on HubSpot tickets: what HubSpot has and the options
- HubSpot workflows for failed Paddle payments, cancellations and ending trials
- Insycle or Bulk Property Import & Export for HubSpot properties?
- Paddle and HubSpot without Zapier: webhooks, Make and other options
- How to require approval before a deal moves stage in HubSpot
- How to require fields before a HubSpot deal moves to a stage
- Retainer rollover rules: expire, capped or full, with examples
- RevOps Deal Desk & CPQ vs Deal Approvals & Stage Gate for HubSpot
- How to show MRR on HubSpot contacts and companies
- How to stop reps skipping deal stages or moving deals backward in HubSpot
- How to sync Paddle subscriptions to HubSpot
- Export property history in HubSpot: who changed it and when
- How to track a retainer balance per client in HubSpot