HubSpot import: "Duplicate unique property value"
HubSpot's own troubleshooting guide names “Duplicate unique property value” as an import error, raised when two or more rows in the same file share the same value in a property HubSpot treats as unique — Email for contacts, Company domain name for companies. HubSpot's own deduplication only compares each row against records already in the portal, never against the other rows of the file being imported, so two rows with the same email in one file both get imported, and the later one silently overwrites the earlier one's values.
Built for anyone preparing a contact or company file for HubSpot or Salesforce — sales operations, RevOps, and agencies migrating a client's data.
Read from HubSpot's own Knowledge BaseHubSpot Knowledge Base — knowledge.hubspot.com, read 9 September 2026.
What this error means
HubSpot enforces uniqueness on a small set of properties — Email for a contact, Company domain name for a company, Record ID for either. When an import file carries the same value twice in one of those columns, HubSpot's own dedupe logic treats the second row as an update to the first rather than a second record. Nothing in HubSpot's interface calls this out as a rejection: the import completes, the record count looks right, and the earlier row's data is simply gone.
What causes it, and what our engine actually checks
CRM Import Check's duplicateKey rule reads every column mapped to a property HubSpot marks unique, normalizes each value (trimmed, lower-cased — the same comparison HubSpot's own importer applies to Email), and flags every row that shares a value with an earlier one. Run against a three-row sample file built to exercise it, the engine found the same collision HubSpot's own dedupe logic would silently resolve on import.
What the engine found in a sample file
Two rows in the sample carried the same email address — one in its original case, one with a capitalized letter — and the engine flagged both as duplicateKey, a blocker. The same two rows also matched on name and company, which is what likelyDuplicatePerson is for: a second, independent signal that these are the same contact even where the unique key did not obviously collide. The capitalized copy also raised emailUppercase, a notice, since HubSpot's own comparison folds case but a CRM should still store the address the way a mail client would send to it.
duplicateKeyBlocker1 and 2“jane.doe@acmestrategies.com”
emailUppercaseNotice2“Jane.Doe@acmestrategies.com” → “jane.doe@acmestrategies.com”
likelyDuplicatePersonWarning1 and 2Blocker stops the import outright, or lets it through with data silently lost. Warning usually gets through but is worth checking before you trust the numbers. Notice is informational — safe to leave, safe to clear.
Reproduced from a sample file — read September 9, 2026.
Check your own file for this
Drop the contact file you were about to import into HubSpot below. It is read in this browser tab, the same engine runs the same check, and you will see immediately whether it carries a duplicate unique-property value.
CSV, TSV or Excel, up to 20 MB
How to fix it by hand
Sort the file by the column HubSpot treats as unique for the object you're importing — Email for contacts, Company domain name for companies — so duplicates sit next to each other. For each pair, decide which row carries the correct, most current values, delete the other, and if the two rows disagree on a field neither is obviously wrong about, merge the answer by hand rather than guessing.
Frequently asked questions
- What does HubSpot’s "Duplicate unique property value" error mean?
- HubSpot found two or more rows in your import file that share the same value in a property it treats as unique — usually Email. HubSpot doesn't reject the import; it imports both rows and treats the second as an update to the first, so the earlier row's other values can be silently overwritten.
- Why does CRM Import Check treat a duplicate key as a blocker rather than a warning?
- Because HubSpot's own behaviour here is data loss, not a cosmetic issue — the second row overwrites the first with no warning shown to the person importing. A blocker is CRM Import Check's way of stopping you before that happens rather than after.
- Can CRM Import Check fix a duplicate automatically?
- No — it groups the colliding rows and shows what each one carries, but which record survives and which values are correct is a decision only a person reviewing the actual contact can make.
What CRM Import Check does with this file
Upload a file carrying this problem into CRM Import Check and it groups every colliding row by the value they share, shows both rows side by side, and lets you choose which one survives before anything is exported. It never merges automatically — which record is correct is a business decision, not a rule.
The file you'd check is read in your browser tab — it is never uploaded anywhere.
What it cannot do here
The tool finds duplicates within the file you drop. It does not check the file against contacts already inside your HubSpot portal, because that would require connecting to your CRM — which this product deliberately never does.