Pillar guide
Dormant customers: how to find and reactivate them
Every HubSpot portal we've reviewed has a population of customers who bought, paid, and then went quiet for reasons that have nothing to do with the relationship ending. Finding them and reopening the conversation is usually the fastest recoverable revenue available — faster than new pipeline and cheaper than a renewal campaign.
15 minute read · written by knovaly
What 'dormant' actually means
The word gets used loosely, which is the first problem. Before building any list or writing any outreach, it's worth separating four populations that all look similar on a pipeline report but need entirely different treatment.
Dormant customers
These are accounts with lifecyclestage set to customer, a populated total_revenue field from at least one closed-won deal, and no activity since. The signal is silence across hs_last_sales_activity_timestamp and notes_last_contacted beyond your dormancy threshold, with no open deal and no support interaction in the same window. They bought once, and nobody has spoken to them since the sale closed.
Dormant relationships (never bought)
Contacts or companies that entered the CRM as leads or opportunities, engaged for a period, and then stalled before ever reaching closed-won. Their lifecyclestage typically sits at marketingqualifiedlead or salesqualifiedlead, there's a deal history but every deal is either closed-lost or was never formally closed, and hs_last_sales_activity_timestamp is old. These are not customers to reactivate — they're prospects to re-qualify, and the message has to reflect that they never transacted.
Lapsed renewals
Customers on a subscription or contract cycle where recent_deal_close_date from the last renewal has passed its expected next-renewal window with no new deal created in dealstage to replace it, and hs_is_closed is true on the last deal with nothing behind it in the pipeline. This is the most urgent of the four categories because the commercial relationship has a natural expiry, and every week past it makes recovery marginally harder.
Churned accounts
Distinct from all three: there's an explicit closed-lost reason, a cancellation record, or a downgrade to zero-value that's been recorded against the account. Churned accounts can still be reactivated, but the starting point is different — you're addressing a stated objection, not silence, and the message has to acknowledge it rather than pretend it didn't happen.
Why dormant revenue is the cheapest revenue in the business
Every revenue leader intuitively knows reactivation is cheaper than acquisition. The useful exercise is putting rough numbers against exactly how much cheaper, because that's what justifies allocating a rep's time to a list of quiet accounts instead of another batch of outbound.
| Motion | Relative cost to close | Typical cycle length | Realistic close rate | Effort required |
|---|---|---|---|---|
| Net-new acquisition | 1x (baseline) | 60–120 days | 15–25% of qualified opportunities | Full qualification, discovery, proof, procurement |
| Dormant customer reactivation | 0.15–0.3x | 15–35 days | 20–35% of accounts contacted with a specific reason | Research the account, one relevant message, light follow-up |
| Renewal / rebooking recovery | 0.1–0.2x | 7–21 days | 30–50% if caught before the gap widens | Confirm terms, remove friction, close |
The mechanism behind the gap is straightforward: a dormant customer has already been through procurement, already trusts the product enough to have paid for it once, and already has internal champions who know how to buy from you. None of that has to be rebuilt. The cost that remains is almost entirely the cost of finding the account, working out what changed, and writing one relevant message — which is a research and attention problem, not a demand-generation problem.
This is also why dormant revenue tends to be invisible on a standard pipeline report. It has no open deal, so it doesn't show up in forecast; it has no active campaign membership, so it doesn't show up in marketing attribution; and it isn't flagged as churned, so nobody's retention metric catches it either. It sits between reports, which is precisely why it accumulates.
Segmenting the dormant base into four tiers
Treating every dormant account the same — one list, one email, one send — is the single most common reason reactivation programmes underperform. A £180,000 account that went quiet eight months ago and a £4,000 account that went quiet two years ago need different owners, different channels, and different expected outcomes. Segment on three variables: recency of last activity, historical account value, and depth of prior engagement.
| Tier | Recency | Historical value | Prior engagement | Expected reply rate range |
|---|---|---|---|---|
| Tier 1 — high-value recent | 3–6 months silent | Top 20% of account value | Multiple contacts, prior champion identified | 35–55% |
| Tier 2 — high-value aged | 6–18 months silent | Top 20% of account value | Champion may have left the account | 15–30% |
| Tier 3 — mid-value recent | 3–9 months silent | Middle 50% of account value | Single contact, moderate history | 15–25% |
| Tier 4 — long-tail | 18+ months silent | Bottom 30% of account value | Thin or single-touch history | 5–12% |
Those ranges are deliberately wide and should be treated as planning bands, not commitments — actual response depends heavily on category, prior relationship quality, and how well the message references what genuinely changed. Their purpose is to set expectations before the programme starts, so a 9% reply rate on tier 4 isn't mistaken for programme failure when it's actually within the expected band for that tier.
Why tier 1 gets disproportionate attention
Tier 1 accounts are recently silent, meaning the relationship hasn't had time to decay and the contact who bought is often still in role. This is the highest-probability, highest-value segment in the entire dormant base, and it's usually small — often under 10% of the account count but a much larger share of recoverable value. It deserves a named owner, a phone call as well as email, and follow-up within days, not weeks.
Building the HubSpot views for each tier
None of this requires custom development — it's four active lists built on standard and near-standard properties, refreshed automatically as accounts age into or out of each tier.
- Base dormant filter. Start every list with
lifecyclestageis customer,hs_last_sales_activity_timestampmore than your threshold days ago, and no open deal indealstage. - Value split. Add a
total_revenuefilter to separate top-20%, middle-50% and bottom-30% bands — pull the actual percentile cut points from a quick export rather than guessing round numbers. - Recency split. Layer a second date filter on
hs_last_sales_activity_timestampto separate the 3–6/6–18/18+ month bands within each value band. - Engagement depth. Where available, filter on number of associated contacts or historical deal count to distinguish accounts with a known champion from single-touch accounts — this determines whether email alone is sufficient or a call is warranted.
- Owner routing. Use
hubspot_owner_idto keep tier 1 and tier 2 with the original account owner where that person is still active; reassign to a pooled reactivation owner only for tier 3 and tier 4.
The reactivation playbook
Once the lists exist, the outreach itself is where most programmes either land or collapse. The architecture below applies across all four tiers — what changes by tier is who sends it and how many touches it gets, not the structure of the message.
Message architecture
- Reason for contact. State plainly why you're reaching out now, referencing the actual last interaction or purchase — "it's been around eight months since we last spoke about the reporting rollout" reads as attentive; "checking in" reads as automated.
- What changed. Give a concrete reason the timing is relevant now: a new feature that addresses a gap they raised previously, a pricing tier that fits their scale better, a case study from a comparable account, or simply that their contract renewal window is approaching.
- Specific value. Name the outcome in terms relevant to their business, ideally with a number — "accounts of similar size have typically cut reporting time by a third" beats "we've made improvements."
- Low-friction ask. Request something small: a 15-minute call, a yes/no on whether it's still relevant, or an introduction to whoever owns the decision now. Never open with a proposal or a contract.
Sequencing and who should send it
| Touch | Channel | Timing | Sender |
|---|---|---|---|
| 1 | Email — full four-part message | Day 0 | Account owner (tier 1–2) or reactivation owner (tier 3–4) |
| 2 | Phone call or LinkedIn, referencing touch 1 | Day 4–5 | Same sender |
| 3 | Short email, new angle (a different value point or a relevant update) | Day 12–14 | Same sender |
| 4 (tier 1–2 only) | Manager or exec-level note for accounts that still haven't replied | Day 21 | Sales leader or account owner's manager |
What not to do
- Mass "just checking in" blasts. A single templated email to the entire dormant list, sent from a generic alias, with no reference to what the account actually bought, reliably produces reply rates in the low single digits and trains recipients to ignore future outreach from the same domain.
- Discount-first offers. Opening with "come back and save 20%" signals that price was the only thing keeping the relationship alive, invites a negotiation on every future renewal, and compresses margin on revenue that a well-framed message would have recovered at full value.
- Treating all four categories as one list. Sending a dormant-customer message to a never-bought lead, or a lapsed-renewal message to a churned account, signals that nobody looked at the account before reaching out — which undermines the entire premise of a relevant, specific message.
- Assigning reactivation with no capacity. Adding "reactivate the dormant list" to a rep's existing workload with no protected time or account cap predictably results in the first fifteen accounts getting attention and the remaining two hundred never being touched.
Worked example: reactivating a 240-account dormant base
Consider a mid-market services business with 240 accounts flagged dormant after applying a 150-day silence threshold across hs_last_sales_activity_timestamp. The tiering split out as 22 tier-1 accounts, 41 tier-2, 96 tier-3, and 81 tier-4, with combined historical total_revenue across the base of roughly £2.9 million.
Measuring the programme
A reactivation programme should be tracked with the same rigour as new-business pipeline, using metrics that show whether the list is actually being worked, not just whether it exists.
| Metric | What it tells you | Review cadence |
|---|---|---|
| Contact coverage (% of tier contacted) | Whether the list is being worked at all, by tier | Weekly |
| Reply rate by tier | Whether the message is landing — compare against the planning bands above | Weekly |
| Meetings booked | Whether replies are converting to real conversations | Weekly |
| Pipeline created (value and count) | Whether meetings are producing reopened opportunities in dealstage | Fortnightly |
| Revenue recovered (closed-won from reactivated deals) | The ultimate outcome metric, tagged distinctly from net-new pipeline | Monthly |
Tag every reopened deal with a distinct source or campaign value so recovered revenue never gets folded back into general pipeline reporting — if it isn't tagged, the programme's actual return becomes invisible within a quarter, and the case for repeating it disappears with it.
Keeping dormancy from recurring
A one-off reactivation push recovers a backlog; it doesn't stop the next 240 accounts from going quiet in eighteen months. That requires a standing ritual, not another project.
- Assign a dormancy owner. One person — typically a RevOps or customer success lead — owns the dormant-list definition, the threshold settings, and the monthly review, independent of whoever executes outreach.
- Review the lists monthly, not quarterly. Accounts move between tiers as they age; a monthly review catches tier-1 accounts before they age into the much lower-response tier-2 band.
- Add a renewal-gap alert. Flag any account where
recent_deal_close_dateplus the expected renewal interval has passed with no new deal created, so lapsed renewals are caught within weeks rather than discovered in a periodic audit. - Make ownership explicit at handoff. When a champion leaves an account or an owner changes in
hubspot_owner_id, trigger a check-in task rather than letting the relationship go quiet by default.
Done consistently, this shrinks the dormant population over time instead of letting it rebuild to the size that made the original reactivation project necessary.
Frequently asked questions
- What is the difference between a dormant customer and a churned customer?
- A churned customer has explicitly cancelled, downgraded to zero, or told you they've moved to a competitor — the exit is recorded, usually against a closed-lost reason or a subscription-status property. A dormant customer has done none of that. They still hold an active lifecyclestage of customer, total_revenue is still populated from a past purchase, but hs_last_sales_activity_timestamp and notes_last_contacted have gone silent for months with no renewal, upsell or support ticket in between. Dormancy is a silence, not an event, which is exactly why it's under-tracked: nothing in HubSpot forces anyone to notice.
- How long does an account need to be quiet before it counts as dormant?
- It depends on your natural buying cycle, not a fixed number. For a business with a 30–60 day average purchase interval, 120 days of silence is a reasonable dormancy threshold. For an annual-contract SaaS business, you'd typically wait until 60–90 days past the last recent_deal_close_date with no renewal deal created before calling it dormant, since anything shorter is just normal contract cadence. Set the threshold at roughly two to three times your typical repurchase or renewal interval, then hold it constant so trend data means something.
- Won't reactivation outreach just feel like spam to a quiet customer?
- Only if it's generic. A message that says 'just checking in' with no reference to what the account bought, when, or what's changed since reads as a template because it is one, and recipients recognise that instantly. A message that references the specific product line, the approximate purchase date, and a concrete change relevant to that account reads as attentive, not intrusive. The volume isn't the problem; the lack of specificity is.
- Should discounts be part of a reactivation offer?
- Not as the opening move. Leading with a discount tells a dormant account that the relationship's value was price all along, which trains every future renewal conversation to start with a negotiation. It also compresses margin on revenue you were about to recover anyway from goodwill and switching-cost inertia. Reserve pricing flexibility for the second or third touch, after you've re-established relevance, and frame it as a return-customer arrangement rather than a discount, if you use it at all.
- Who should own outreach to dormant accounts — sales, customer success, or marketing?
- The account owner of record in hubspot_owner_id should send the first touch on any account above your tier-1 or tier-2 value threshold, because a message from a marketing alias or a stranger reads as low-effort mass outreach regardless of content. Below that value threshold, a pooled reactivation owner or SDR can run the sequence at scale using the same message architecture. Marketing's role is building the list and tracking response, not sending the message itself for higher-value accounts.
- How many dormant accounts can one person realistically work in a quarter?
- A single rep doing this properly — researching the account, writing a specific first touch, following a three-touch cadence, and handling replies — can typically carry 30–50 dormant accounts to a real conclusion (meeting, no, or still-quiet) in a quarter alongside other responsibilities. Treating it as a side task without capacity allocation is why most dormant-base initiatives stall after the first fifteen accounts and never touch the rest of the list.
- How is this different from a routine 'win-back' email campaign?
- A win-back campaign is usually a single templated send to an entire lapsed list, measured by open rate. A reactivation programme, as described here, starts with tiering by recency, historical value and prior engagement, assigns ownership by tier, and sequences multiple touches with escalating specificity, measured by pipeline created and revenue recovered, not opens. The campaign treats the list as one audience; the programme treats it as a small number of accounts worth individual attention and a larger number worth efficient, templated-but-personalised outreach.
- Can HubSpot workflows do this automatically?
- Workflows can build the lists, apply the tier tags, and enrol accounts into a sequence — that part is straightforward with standard HubSpot list and workflow tooling. What workflows can't do is write the specific first line referencing what changed for that account, or decide which of the twelve tier-1 accounts deserves a phone call instead of an email. Automation should carry the mechanics; a person should carry the judgement on your highest-value tier.
Related reading
Revenue Leakage in HubSpot
The wider category of recoverable revenue that dormant accounts sit within.
Read morePipeline Health
How stalled open deals differ from dormant accounts, and how to fix both.
Read moreCRM Health Score
Why messy ownership and stale activity data let dormancy build up unnoticed.
Read moreHubSpot Revenue Audit
A full walkthrough of auditing a portal for every category of recoverable revenue.
Read moreThe Opportunity Score
How knovaly scores recoverable revenue, including dormant relationships, out of 100.
Read more