Thousands of contacts have never opened, clicked, or visited
Ghosts are contacts with no recorded engagement of any kind. They depress open rates, skew attribution, and pad your bill. The skill finds them with layered API searches and suppresses them with a review-first workflow.
Fix it with one command
The suppress-ghost-contacts skill walks Claude Code through the entire fix — audit, CSV baseline, execution, and verification. Ready-to-run Python scripts included.
/plugin marketplace add tomgranot/hubspot-admin-skills
/plugin install hubspot-admin@hubspot-admin-skills
/suppress-ghost-contactsFrequently asked questions
What counts as a ghost contact in HubSpot?
No email opens or clicks, no page views, no form submissions, and no sales activity — checked via engagement properties like hs_email_last_open_date, hs_analytics_num_page_views, and hs_last_sales_activity_timestamp.
Should ghosts be deleted or suppressed?
Suppress first and watch for 90 days — some “ghosts” are data-sync artifacts of real accounts. The quarterly cleanup skill prunes confirmed dead weight later.
More database hygiene skills
/delete-no-email-contactsDelete contacts with no email address from a HubSpot CRM instance. These contacts cannot receive any communication and inflate billing. Fully automated via the HubSpot CRM Search and Batch Archive APIs.
/merge-duplicate-companiesIdentify duplicate company records by domain and name, export audit CSVs for review, and guide merging. API for discovery, third-party tools or manual UI for merging (HubSpot has no bulk merge API).
/reassign-deactivated-ownersReassign contacts and companies from deactivated team members to active owners. Fully automated via the HubSpot Owners API and Batch Update API. Includes territory analysis for informed reassignment decisions.