Contact Cleanup via Export/Import Pattern
Overview
When a large number of HubSpot contact records need to be updated simultaneously — such as reassigning ownership after a rep departs, correcting lifecycle stages in bulk, or backfilling qualification fields — the export/import pattern provides a scalable alternative to editing records one by one. This approach was used with [1] to reassign contacts previously owned by a departed sales rep and to align contact records with a newly finalized lead progression workflow.
When to Use This Pattern
- Mass contact reassignment (e.g., rep departure, team restructuring)
- Bulk lifecycle stage corrections
- Backfilling qualification or segmentation fields across a large contact database
- Any scenario where editing contacts individually would be impractical at scale
Process
1. Export Contacts
Export all relevant contacts from HubSpot as a spreadsheet. Include all columns that need to be reviewed or updated — qualification fields, lifecycle stage, contact owner, etc. HubSpot will export a comprehensive file; columns that are not relevant can be hidden or deleted locally before editing.
2. Edit the Spreadsheet
Make the necessary changes directly in the spreadsheet:
- Reassign the Contact Owner column to the appropriate rep
- Update Lifecycle Stage values to reflect current status
- Fill in or correct qualification fields (e.g., "Are they juicing?", juicing volume, equipment details)
⚠️ Critical Constraint: Any column that maps to a HubSpot picklist field must contain values that exactly match the available dropdown options in HubSpot. Freeform text or misspelled values will fail on import or create data integrity issues. Export HubSpot's picklist options before editing to use as a reference.
3. Re-import the Spreadsheet
Return the edited spreadsheet to the HubSpot admin (or upload directly if you have access). HubSpot will apply all changes made in the spreadsheet to the corresponding contact records.
Citrus America Example
During the Citrus America HubSpot buildout, a departed sales rep named Jay remained listed as the contact owner on a large number of accounts and contacts. As part of a broader contact cleanup initiative, Miriam Framson (Citrus America) planned to:
- Export all contacts to a spreadsheet
- Reassign Jay's contacts to active reps
- Update lifecycle stages to reflect current sales activity (marking active conversations at MQL/SQL, confirmed customers as Customer, and inactive records appropriately)
- Re-import the corrected spreadsheet
This cleanup was timed to follow the activation of the new lead progression workflows, so that lifecycle stage values in the spreadsheet would align with the newly configured HubSpot options.
See also: [2]
Related Patterns & Concepts
- [3] — the lifecycle stage model this cleanup supports
- [4] — handling contacts for individuals who have left a company
- [5] — downstream automation triggered once contacts reach Opportunity stage
Notes
- Before initiating a large import, confirm that all picklist fields in HubSpot are finalized. Adding new dropdown options after an import may require a second cleanup pass.
- The export/import method does not preserve activity history — it only updates field values. Activity logs remain on the original contact record.
- For reassigning a single departed contact's history to a replacement contact, consider the manual transfer approach rather than a bulk import.