• Spotter
  • Posts
  • Deep Dive: HubSpot Private Investigations

Deep Dive: HubSpot Private Investigations

RevOps Archeology & Data Hygiene

SPOTTER | Your Hubspot Helper

Welcome to 2026! To kick off the year, I’m trying something new. You told me you love the quick tips, but sometimes a problem is too big for a single bullet point. So, moving forward, Spotter will feature one Deep Dive series per quarter.

We will take one big, hairy HubSpot problem and break it down into bite-sized pieces over 3-4 weeks. First up: Data Hygiene.

Product Update: New Options and UI for Imports

Just saw this last week. It looks like the import tool got a glow up! It now consolidates standard imports, multi-object, custom events, contact opt-outs, and objects from an app.

Deep Dive: Hubspot Archaeology Part 1

Part 1: The Mystery of the Zombie Leads

Over the next four emails, we are going to do some "RevOps Archeology." We are digging into the foundations of your CRM to find the buried logic debts that might be sabotaging your reporting.

To start, let’s talk about a ghost story.

I recently helped a client audit a chaotic notification issue. The sales team was getting alerted about "New Leads" that weren't actually new. In fact, these contacts were old, cold, and explicitly marked as "Churned" by the account managers. Basically a nightmare scenario for sales managers and RevOps folks alike.

The sales team was confused. The account managers were frustrated. RevOps was caught in the middle.

The Investigation

We traced the issue back to a workflow intended to surface fresh inbound prospects. The enrollment trigger looked innocent enough:

Enroll contact if Lifecycle Stage is none of [Customer, Opportunity, Evangelist].

Here is how it looks now. Notice the added Lifecycle stages that are excluded? That was my short-term quick fix.

Do you see the problem?

This is the "Is None Of" Fallacy. It comes up more often than you’d think. When the Account Manager marked the contact as "Churned," the contact technically met the criteria. They were not a Customer, not an Opportunity, and not an Evangelist.

The system did exactly what it was told, but it was told the wrong thing.

And this workflow did several things which were all annoying:

  • Created a new lead

  • Round robin it to an owner

  • Email notifying the new owner

  • Task for the new owner

  • Email to the sales manager

  • MS teams notification for the sales team

So even a few contacts marked churned made for a really substantial mess. It felt like alarm bells were going off within the sales team.

Which brings me to how I started tooling a solution. My mantra: Complexity is the Enemy of Execution”

This "Zombie Lead" wasn't a glitch. And I don’t even blame the previous RevOps leaders in this org.

From what I can tell, when they made this workflow, it was solid. Really, it was the creation of the “churned” contact lifecycle stage that broke it. And yes, I’m now working on getting them back to best practices on that front.

When we mix linear customer journeys (like Subscriber → Lead → Customer) with temporary states of being (like Churned or Active), we create a tangled web of "if/then" statements that eventually break.

In the next email, we’re going to look at the root cause of this issue: The difference between who a contact is versus where they are.

Stay tuned for the next installment next week.

Liking the new format? Let me know by emailing [email protected].

👋 Need a Spot?

Want help cleaning up your HubSpot portal or setting up something smarter?

Let’s talk about what hands-on help could look like for your team.

Email me here or DM me on Linkedin.