CRM CLEANUP & MIGRATION

US HubSpot or Salesforce accounts with 3+ years of data have a duplicate rate between 20-35% and custom fields that no one remembers creating — a CRM cleanup project recovers data quality before it gets any worse

A mature US CRM grows messier with every import wave, every new team member, and every campaign that adds contacts without a deduplication check. The cleanup restores the data quality the platform was designed to operate on.

This is for you if

This service is for US businesses with a HubSpot or Salesforce account that has accumulated three or more years of contact data, custom fields, and pipeline history — and for US businesses planning a Salesforce-to-HubSpot migration.

Your HubSpot or Salesforce account has been through multiple import waves (trade shows, webinar registrations, ad form fills, manual entry) and no one has run a deduplication check since the first year

You have California-based contacts in the CRM with no documented CCPA opt-out mechanism or CAN-SPAM unsubscribe process

You are planning a Salesforce-to-HubSpot migration and need someone to document the object mapping before the migration runs

Your HubSpot or Salesforce account has 150 or more custom properties and no one on the current team knows what most of them were created for

What's broken

What's Broken

20-35% duplicate contact rate in a mature US CRM

Multiple import waves without deduplication checks produce a predictable duplicate accumulation. A US HubSpot or Salesforce account that has imported contacts from trade show badge scans, webinar registration lists, paid ad form fills, and manual sales team entries over three to five years without running deduplication between imports typically reaches a duplicate rate between 20-35% of total contacts. One contact appears in the CRM as three separate records: one from the 2021 trade show import, one from the 2023 webinar registration, and one added manually by a sales rep who did not search before creating. The downstream effects are measurable: the CRM sends the same email to the same person three times; the sales team works three separate leads that are the same person; reporting counts one contact as three and inflates all metrics. Deduplication with a tool like Dedupely for HubSpot or Cloudingo for Salesforce identifies and merges duplicate records while preserving the most complete data from each.

CCPA and CAN-SPAM consent not documented in the CRM

US businesses with California-based contacts have CCPA obligations that most CRM configurations do not address. CCPA requires that California residents can opt out of the sale or sharing of their personal information and receive confirmation of that opt-out. CAN-SPAM requires that commercial email unsubscribe requests be honoured within ten business days and that unsubscribes are applied across all email tools connected to the same CRM. For most US CRM accounts, neither of these is correctly documented at the contact level. A consent record audit reviews the CRM's current unsubscribe and opt-out handling, identifies California-based contacts without a documented CCPA opt-out mechanism, and confirms that CAN-SPAM unsubscribe requests processed through email tools are correctly synced back to the CRM contact record. The audit does not provide legal advice but produces a documented record of the CRM's current consent handling state.

Salesforce to HubSpot migration with no object mapping plan

Salesforce and HubSpot have different data models, and a migration without a mapping plan produces structural problems. Salesforce has four primary sales objects: Leads, Contacts, Accounts, and Opportunities. HubSpot has three primary objects: Contacts, Companies, and Deals. The Salesforce Lead object has no direct HubSpot equivalent — Leads need to be evaluated individually and either converted to Contacts in HubSpot or handled differently. Without a documented object mapping plan before the migration runs, the output is orphaned HubSpot contacts with no company association, deals with no contact linked, and custom field values that did not land in the expected properties. An object mapping document defines how each Salesforce object type maps to the HubSpot data model, how custom fields in Salesforce map to HubSpot properties, and how relationships between objects (Contact-to-Account, Opportunity-to-Contact) are preserved during migration.

Custom properties built without a naming convention

A US HubSpot or Salesforce account with 150-300 custom properties is a common finding in accounts that have been active for three or more years. Properties like "Lead Source 2," "lead_source_new," "Original Lead Source," and "LS (from import)" exist simultaneously because each was created by a different person at a different time to solve the same problem. The sales and marketing team does not know which one to use, so all four are inconsistently populated and none of them is reliable for reporting. A property audit identifies all custom properties in the account, determines which ones are actively populated and in use, maps redundant properties to a single canonical version, and produces a naming convention and governance document so that future properties are created with a consistent structure. Properties that are no longer in use are archived rather than deleted to preserve historical data.

What we engineer

What We Do

CRM deduplication

We run a full deduplication project using Dedupely for HubSpot or Cloudingo for Salesforce, with a merge strategy documented before execution and a validation step confirming the output before the production CRM is changed.

Consent record audit

We audit the CRM's current CCPA and CAN-SPAM handling, document the consent state at the contact level, identify gaps in opt-out mechanism and unsubscribe sync, and produce an audit report with recommended remediation.

Salesforce object mapping

For Salesforce-to-HubSpot migrations, we produce a complete object mapping document covering Lead conversion strategy, Contact-to-Company association, Opportunity-to-Deal mapping, and custom field translation before the migration runs.

Property audit and consolidation

We audit all custom properties in the account, identify redundant and conflicting properties, consolidate to a canonical property set, and document a naming convention for future use.

Migration execution

For Salesforce-to-HubSpot migrations, we execute the migration using the approved object mapping plan with full field mapping documentation and post-migration validation.

Post-cleanup validation

We validate the output of the cleanup or migration, confirm that the CRM is correctly configured for its intended use, and provide a written report with the final state of the account.

What changes

What Changes

Before
After
Before Multiple import waves without deduplication checks produce a predictable duplicate accumulation. A US HubSpot or Salesforce account that has imported contacts from trade show badge scans, webinar registration lists, paid ad form fills, and manual sales team entries over three to five years without running deduplication between imports typically reaches a duplicate rate between 20-35% of total contacts. One contact appears in the CRM as three separate records: one from the 2021 trade show import, one from the 2023 webinar registration, and one added manually by a sales rep who did not search before creating. The downstream effects are measurable: the CRM sends the same email to the same person three times; the sales team works three separate leads that are the same person; reporting counts one contact as three and inflates all metrics. Deduplication with a tool like Dedupely for HubSpot or Cloudingo for Salesforce identifies and merges duplicate records while preserving the most complete data from each.
After Contact database is deduplicated below a 5% duplicate rate with a documented deduplication process for ongoing maintenance
Before US businesses with California-based contacts have CCPA obligations that most CRM configurations do not address. CCPA requires that California residents can opt out of the sale or sharing of their personal information and receive confirmation of that opt-out. CAN-SPAM requires that commercial email unsubscribe requests be honoured within ten business days and that unsubscribes are applied across all email tools connected to the same CRM. For most US CRM accounts, neither of these is correctly documented at the contact level. A consent record audit reviews the CRM's current unsubscribe and opt-out handling, identifies California-based contacts without a documented CCPA opt-out mechanism, and confirms that CAN-SPAM unsubscribe requests processed through email tools are correctly synced back to the CRM contact record. The audit does not provide legal advice but produces a documented record of the CRM's current consent handling state.
After CCPA and CAN-SPAM consent handling is documented at the contact level with gaps remediated
Before Salesforce and HubSpot have different data models, and a migration without a mapping plan produces structural problems. Salesforce has four primary sales objects: Leads, Contacts, Accounts, and Opportunities. HubSpot has three primary objects: Contacts, Companies, and Deals. The Salesforce Lead object has no direct HubSpot equivalent — Leads need to be evaluated individually and either converted to Contacts in HubSpot or handled differently. Without a documented object mapping plan before the migration runs, the output is orphaned HubSpot contacts with no company association, deals with no contact linked, and custom field values that did not land in the expected properties. An object mapping document defines how each Salesforce object type maps to the HubSpot data model, how custom fields in Salesforce map to HubSpot properties, and how relationships between objects (Contact-to-Account, Opportunity-to-Contact) are preserved during migration.
After The Salesforce migration ran against an approved object mapping plan and all HubSpot records have correct associations
Before A US HubSpot or Salesforce account with 150-300 custom properties is a common finding in accounts that have been active for three or more years. Properties like "Lead Source 2," "lead_source_new," "Original Lead Source," and "LS (from import)" exist simultaneously because each was created by a different person at a different time to solve the same problem. The sales and marketing team does not know which one to use, so all four are inconsistently populated and none of them is reliable for reporting. A property audit identifies all custom properties in the account, determines which ones are actively populated and in use, maps redundant properties to a single canonical version, and produces a naming convention and governance document so that future properties are created with a consistent structure. Properties that are no longer in use are archived rather than deleted to preserve historical data.
After Custom properties are consolidated to a canonical set with a naming convention and governance document in place
How it works

Process

  1. 01

    CRM audit (1 week)

    1 week

    We audit the HubSpot or Salesforce account for duplicate rate, custom property usage, consent handling gaps, and structural issues. We provide a written audit report with findings and a recommended cleanup approach before any changes are made.

  2. 02

    Deduplication

    We run the deduplication project using Dedupely or Cloudingo, with a defined merge strategy, a test run on a contact subset, and a production run after validation.

  3. 03

    Consent record audit and remediation

    We audit CCPA and CAN-SPAM consent handling, produce a gap report, and implement the recommended remediation steps in the CRM configuration and contact records.

  4. 04

    Property audit and consolidation

    We audit all custom properties, identify redundant and conflicting ones, consolidate to a canonical set, and document the naming convention for future property creation.

  5. 05

    Object mapping (for Salesforce migrations)

    We produce the complete Salesforce-to-HubSpot object mapping document and have it reviewed and approved before the migration runs.

  6. 06

    Migration execution and validation

    We execute the migration or complete the cleanup, validate the output, and provide a final written report covering the state of the account after the project.

Common questions

FAQ

What is the best tool for deduplicating contacts in HubSpot or Salesforce for a US business?

Dedupely is the most widely used deduplication tool for HubSpot, offering bulk merge capabilities with a configurable merge strategy and a preview step before changes are applied to the production account. For Salesforce, Cloudingo is the standard choice, with similar bulk merge and field-level merge rule configuration. Both tools match on email address as the primary field, with secondary matching on name and phone available for records where email is missing or inconsistent. Neither tool should be run directly against a production CRM without a documented merge strategy and a test run on a contact subset first. For HubSpot, the native duplicate management tool under Contacts is useful for low volumes but does not scale to accounts with tens of thousands of duplicates.

What CAN-SPAM and CCPA consent records does a US business need to maintain in its CRM?

CAN-SPAM requires that commercial email senders honour unsubscribe requests within ten business days and maintain a suppression list of opted-out addresses. In a CRM context, this means that unsubscribe events processed through connected email tools need to sync back to the CRM contact record and that the suppression list is applied consistently across all email tools connected to the same CRM. CCPA requires that California residents can opt out of the sale or sharing of their personal information and that opt-out requests are honoured within 15 business days. For CRM purposes, the minimum required record is a contact-level field documenting CCPA opt-out status with a timestamp, and a process for applying new opt-out requests within the required timeframe. Neither CAN-SPAM nor CCPA requires consent at the point of contact creation, but both require that opt-out requests are recorded and honoured after the fact.

How do I map Salesforce objects to HubSpot objects for a US CRM migration?

Mapping Salesforce objects to HubSpot objects for a US CRM migration requires decisions on four primary mappings: Salesforce Contacts map directly to HubSpot Contacts; Salesforce Accounts map to HubSpot Companies; Salesforce Opportunities map to HubSpot Deals; and Salesforce Leads require a conversion decision — Leads that represent individual people are typically converted to HubSpot Contacts and associated with a Company, while Leads that represent companies without an individual contact are converted to HubSpot Companies. Custom fields in Salesforce map to custom properties in HubSpot, with the mapping defined in a field mapping document before migration. The most common migration failure points are orphaned HubSpot Contacts with no Company association (from Salesforce Contacts whose Account was not migrated) and Deals with no Contact linked (from Salesforce Opportunities whose primary Contact was not correctly mapped).

How do I clean up duplicate and conflicting custom properties in a mature US HubSpot account?

Cleaning up duplicate and conflicting custom properties in a mature US HubSpot account requires an export of all custom properties with their creation date, last modified date, and population rate (what percentage of contacts have a non-null value in the field). Properties with a population rate above a defined threshold (typically 10-20%) and a recent last modified date are retained. Properties that are redundant versions of an active property need a data migration step — values from the redundant property are copied to the canonical property before the redundant one is archived. HubSpot allows properties to be archived rather than deleted, which preserves historical data while removing the property from active views. Archiving is preferable to deletion for any property with historical population, because deleted properties remove their historical values permanently.

What is the typical timeline and cost for a Salesforce to HubSpot migration for a US business with 50,000 contacts?

A Salesforce to HubSpot migration for a US business with 50,000 contacts typically takes six to ten weeks end to end. The timeline breaks down as: CRM audit and pre-migration assessment (one to two weeks); deduplication and data cleanup in Salesforce before migration (one to two weeks); object mapping documentation and approval (one week); HubSpot configuration — properties, pipelines, workflow setup (one week); migration execution (two to three days); post-migration validation and issue resolution (one week). Cost varies based on the complexity of the Salesforce configuration, the number of custom objects, and whether automation needs to be rebuilt in HubSpot, but for a standard 50,000-contact migration with custom field mapping and consent record handling, the project investment typically falls between $8,000 and $20,000 USD for a full-service engagement. Businesses that complete the pre-migration audit and cleanup before migration runs have consistently shorter post-migration issue resolution periods.

Our team

The people behind the work

Not a black box. Real specialists you can call, with their names on the work.

Niraj Raut

Niraj Raut

Founder — Ecommerce SEO
Keshab Joshi

Keshab Joshi

PPC Expert
Hawrry Bhattarai

Hawrry Bhattarai

Google Ads Expert
Arogya Rijal

Arogya Rijal

SaaS SEO Expert
Start here

CRM deduplication, cleanup, and Salesforce-to-HubSpot migration for US businesses

If your HubSpot or Salesforce account is three or more years old, the most useful first step is a CRM audit that shows you what the duplicate rate is, which custom properties are actively used, and what the consent record gaps are. The audit takes one week and produces a written report that becomes the roadmap for the cleanup.

Ignited Nepal is a Growth Engineering Company. We work with US businesses deduplicating mature HubSpot and Salesforce accounts, auditing consent records for CCPA and CAN-SPAM compliance, and managing Salesforce-to-HubSpot migrations with full object mapping documentation.