A person who exists in both contexts — a consumer who also works for a trade account — needs their profiles to connect without creating false merges between unrelated people.
Use email as the bridge between both contexts. It's unique to the individual regardless of whether they're shopping as a consumer or ordering through a trade portal. Make email your highest priority namespace.
B2B identifiers (trade account ID, buyer role) get their own custom namespaces. B2C identifiers (loyalty ID) get their own. Both feed the same identity graph but maintain contextual separation for targeted orchestration.
Person-level namespaces (email, CRM ID, loyalty ID) → marked unique per graph. Device-level namespaces (ECID) → NOT unique, because multiple people legitimately share devices.
Before going live, create test events where two different people authenticate on the same device. Verify that their profiles stay separate. Test the scenario where one person shops as a consumer and also logs into the trade portal — verify they merge correctly into one profile.
Existing graphs remain until updated by new events. Monitor the "Graphs with Multiple Identities" report daily for the first week after activation.