How does N.Rich match Salesforce accounts by domain?
Last updated: October 9, 2026
N.Rich matches each Salesforce account to an N.Rich account using domains. This article explains the matching rule and how domains are normalised, so you can prepare your Salesforce data before the sync.
The matching rule
For an account to sync, both of the following need to be true:
The Salesforce account Website field contains a valid company domain (for example
https://www.ibm.com).At least one Contact linked to that account has an email address whose domain matches the Website domain (for example
alice@ibm.com).
If both conditions are met, the account is matched and synced. The account will not sync if:
The Website field is empty, invalid, or a non-company domain (for example
gmail.comorlinkedin.com).No contact has a matching email domain.
The Website domain and the contact email domain don't match.
A placeholder contact email is fine for this purpose. The mailbox itself is never validated or contacted. Only the domain needs to be correct.
How domains are normalised before comparison
Before comparing, N.Rich cleans up both the Website field and the contact email, so formatting differences don't cause a false mismatch:
Element | Removed or normalised? | Example |
Protocol ( | Yes, removed |
|
| Yes, removed |
|
URL path | Yes, removed |
|
Query parameters | Yes, removed (part of the path) |
|
Trailing slash | Yes, removed |
|
Letter casing | Yes, lowercased |
|
Contact email: everything before | Yes, removed |
|
N.Rich also checks that what remains is a real, valid domain (using public suffix validation). This is what stops free email or ISP domains like gmail.com from being used as a match.
Subdomains and multi-part domains
This is the part that causes the most confusion.
Subdomains are matched exactly as they appear. They are not reduced to a root domain.
If the Website field is shop.company.com, N.Rich compares against shop.company.com as it is. It does not simplify it to company.com. The contact email domain needs to match that subdomain exactly, not just the root domain.
Website field | Contact email | Result |
|
| Match: identical after normalisation |
|
| No match: subdomains aren't reduced, so these stay different |
|
| Match: |
N.Rich also doesn't apply any corporate hierarchy logic. A parent company and its subsidiary won't match just because they're related. For example, company-group.com and company.com never match, simply because they are different domains. This does not mean anything is wrong with your setup.
Multi-part domain endings (.co.uk, .com.br and similar) don't need special handling. The full domain is matched exactly. For example, https://www.company.co.uk normalises to company.co.uk and matches a contact on company.co.uk like any other domain.
Quick reference: what to do on your side
Make sure the Salesforce Website field contains a real company domain. Protocol,
www., and any path or query string are handled automatically, so you don't need to clean those up first.Make sure at least one Contact on the account has an email on that same domain. A placeholder address is fine, as long as the domain is correct.
If the Website field uses a subdomain (for example
shop.company.com), make sure the contact's email uses that same subdomain, not just the root domain.Case doesn't matter (
IBM.comandibm.comare treated the same), and multi-part domain endings like.co.ukdon't need any special formatting.
If you create Salesforce data programmatically (for example, syncing from another system into Salesforce ahead of the N.Rich sync), the safest rule is: use the exact domain from the Website field, subdomain included, as the email domain of at least one contact.
What's next
Need help? Reach out to your Solutions Engineer via the chat in the bottom-left corner of the N.Rich platform, by email or Slack.