Pipeline riskStale marketing rule

Which of my marketing contacts am I paying for but never emailing?

Why stale marketing contacts are a quiet financial leak

HubSpot's pricing for the Marketing Hub is tier-based on marketing contact count. Every contact flagged as "marketing" counts toward your tier — regardless of whether you've ever sent them a marketing email. The flag is what costs money, not the activity.

The result: most portals carry a long tail of contacts who:

  1. Got flagged as marketing during a list import or workflow that never updated.
  2. Were active marketing targets two years ago but haven't been touched in 18 months.
  3. Should have been reclassified to non-marketing when they became customers, but the workflow didn't fire.

Each one of these is bumping your bill toward the next tier. At scale — thousands of contacts — the difference between $800/month and $2,400/month for the same usable customer base is just dead weight in the marketing-contact count.

The fix is straightforward: reclassify stale marketing contacts to non-marketing. They stay in your CRM for sales context; they just stop counting against the tier. Your next renewal lands at a lower number.

What three filter conditions actually catch

Three filter conditions:

  1. Marketing contact status is Marketing contact (counts toward billing).
  2. Last marketing email send date is more than 180 days ago OR is unknown.
  3. Created date is more than 30 days ago — exclude brand-new contacts that haven't had time to be emailed yet.

180 days is a defensible threshold. If you haven't marketed to someone in 6 months, you're not actually marketing to them. Some teams tighten to 90 days for stricter cleanup.

Why the count rebuilds even after a clean reclassification

Several things make this audit trickier than it looks:

Last marketing email send date requires Marketing Hub. Portals on Sales Hub only or CRM-only don't have this property at all. The audit can't be run natively in those tiers — which is awkward because those portals ALSO don't have marketing contacts in the billing sense, so the question is moot for them.

Contacts can be flagged as marketing without ever having received a send. Imports, workflows, and integrations can set Marketing contact status based on lifecycle stage or other criteria, without any marketing email actually being sent. These contacts have Last marketing email send date permanently unknown — and the rule above catches them, which is correct.

Reclassifying isn't undoable in real time. If you reclassify a contact to non-marketing and then realize they should have been marketing (you DO want to market to them), HubSpot has a cooldown period before they can flip back. The reclassification is meant to be sticky to prevent gaming the billing tier. Mistakes cost a billing cycle.

Some workflows re-flag contacts as marketing. If you have a workflow that says "any contact with lifecycle = Lead becomes a marketing contact," it'll re-mark contacts you just reclassified. The cleanup needs to be paired with a workflow audit — find the workflows re-flagging stale contacts and add exclusion criteria so they don't fire on already-reclassified records.

The savings are real and recurring. Most portals running this audit for the first time find 15-30% of marketing contacts are stale, which translates to one or two billing-tier drops at next renewal. Maintaining the cleanup quarterly is what keeps the savings durable.

The manual HubSpot recipe

Three filters and an optional reclassification workflow. The harder discipline is auditing your re-marking workflows so the count stays low after the first pass.

HubSpot recipe~5 minutes to set up · requires Marketing Hub
  1. Open Contacts → Create viewNavigate to Contacts → Contacts. Click 'Create view' in the top right.
  2. Add filter: Marketing contact status is Marketing contactFilter by Contact properties → Marketing contact status → 'is any of' → 'Marketing contact'. This is the cohort that counts toward your billing tier.
  3. Add filter: Last marketing email send is more than 180 days agoAND group → Last marketing email send date → 'is more than' → 180 days ago OR 'is unknown'. The 'unknown' part catches contacts who were flagged marketing but never actually received a send.
  4. Add filter: Create date is more than 30 days agoAND group → Create date → 'is more than' → 30 days ago. Excludes brand-new contacts that haven't had time to be emailed yet.
  5. Save as 'Marketing contacts — stale'Pin to your sales-ops dashboard. Quarterly review with marketing — confirm reclassification before flipping the status.
  6. Build the reclassification workflowWorkflows → Create → Contact-based. Enrollment: same as the view above. Action: set Marketing contact status to 'Non-marketing contact'. The contact stays in your CRM for sales context; just stops counting toward billing.

What Bloated does instead

The Stale marketing rule

Stale marketing contacts AND the workflows still re-marking them.

Bloated catches the stale cohort AND traces which workflows are re-flagging contacts as marketing after you reclassify them — so you fix the source, not just clean the same contacts every quarter. The savings stick. Pair with the suggested action: bulk reclassify, audit the source workflow, or escalate to marketing-ops.

Reads: hs_marketable_status, hs_email_last_send_date · HubSpot contact properties
1247stale contacts
Stale marketing contactsField: hs_marketable_status, hs_email_last_send_date · HubSpot contact properties
I
Imported leads (327 contacts)
Last send: 14 months agoFrom 2024 trade show import
Reclassify
C
Customers (218 contacts)
Lifecycle: Customer · still marketing-flaggedWorkflow gap
Reclassify
B
Bounced contacts (94 contacts)
Last send: 8 months agoEmail hard-bounced
Reclassify
U
Unsubscribed (608 contacts)
Opted out 6+ months agoStill billing-counted
Reclassify
Run a free scan7 days free · no card · cancel any time