Test Identifier Collisions Across Data Providers

Design namespaced keys, test ambiguous concatenation and destination normalization, and keep provider IDs separate from reviewed entity matching.

10/23/20263 min read

Fictional Cedar and Birch tuples separate issuer, object type and exact source identifiers.
Fictional Cedar and Birch tuples separate issuer, object type and exact source identifiers.

Provider A sends company 815. Provider B also sends company 815. Those strings may identify unrelated businesses because each provider numbers its own records. Combining both files under one external_id column turns a local identifier into a false global key. A clean uniqueness check inside each file will not catch the collision.

Preserve the issuer and object scope when designing cross-provider keys. The result should support reliable technical matching without claiming that two provider records necessarily describe the same real-world entity. Namespacing solves identifier ambiguity; entity resolution remains a separate task.

Write the key contract

Define the namespace, object type, source value, version semantics, and representation rules. Keep the original source identifier unchanged. An internal composite key might combine a stable provider code, an object code, and the exact source value using a documented encoding.

Salesforce's external-ID guidance concerns identifiers originating outside the destination. It does not make unrelated issuers' values globally unique. Check field length, allowed characters, case behavior, and uniqueness settings before selecting a composite representation.

Do not build an ambiguous key by concatenating strings without a boundary rule. Provider AB plus identifier 12 can collide with provider A plus identifier B12. A delimiter can also appear inside a source value, so define escaping or a structured encoding rather than relying on visual intuition.

Work through a fictional collision worksheet

Two synthetic providers, Cedar Directory and Birch Register, each supply account key 815. Cedar's row describes Dock Test Services. Birch's row describes Meadow Test Equipment. A third row from Cedar uses 815 for a location object rather than an account.

  • Cedar, account, 815: internal namespace CDR; object account; retain source key 815.

  • Birch, account, 815: internal namespace BIR; object account; retain source key 815.

  • Cedar, location, 815: namespace CDR; object location; keep separate from the account object.

  • Cedar, account, 0815: preserve the leading zero if the issuer defines a distinct key.

  • Cedar, account, blank: quarantine; do not generate a key that makes every missing value identical.

The worksheet should show the rendered internal key, destination field, expected uniqueness, and any issuer-specific qualification. These labels are fictional design examples, not instructions to use particular provider codes in production.

Test collisions in both directions

First, check that distinct source tuples do not generate the same internal key. Include delimiters, leading zeros, mixed case, long values, and non-ASCII characters where the source allows them. Confirm that the destination does not truncate or normalize the representation into a collision.

Second, check whether one real entity legitimately has several namespaced keys. If Cedar and Birch both describe the same company, two source identifiers should map to one reviewed entity record through an explicit crosswalk. Do not delete one source identity merely because the business entity is shared.

The crosswalk needs evidence, review status, and effective dates where relevant. A provider record can change meaning or be retired, so the mapping should not become an unexamined permanent assumption. Preserve source restrictions and permitted uses alongside the mapping.

Decide how to handle a provider change

Imagine Birch is acquired and begins issuing records under a new product name. Renaming every stored namespace to the new brand could break historical joins. Ask whether the underlying identifier space changed. A commercial rebrand and an ID-system migration are different events.

If IDs are reissued, create an approved migration mapping and test old and new references. If only the provider's display name changes, a stable internal namespace may remain appropriate. Document the decision so future exports do not mix the two histories accidentally.

Acceptance requires zero unexplained technical key collisions in the tested set and a separate review queue for uncertain entity matches. The final artifact should include the key specification, challenge cases, source-to-entity crosswalk rules, and provider-change handling. A namespaced key prevents one class of accidental overwrite; it does not certify the accuracy, identity, or lawful use of the records behind it.

If you are also choosing research access, ask about Leads Automation’s independent Sales Navigator offer at US$15/month on WhatsApp. Confirm the available plan, eligibility and terms before ordering; this is not LinkedIn’s official price or an assurance that any particular integration is included.

Sources and scope

Related guides