Once the D365 Customer Insights installation is complete, the first step is connecting data to the Data module. Since we need data from D365 Sales, we pull it in via Dataverse.
Overall Flow
Add data source → Confirm change tracking → Select tables → Set primary keys → Deduplication rules (entity resolution) → Match rules (linking) → Unified data view → Run unification / Complete
Adding a Data Source
Click "Add data source" and the next screen will appear. Since we're using D365 Sales data, select Dataverse.
Enter a data source name (anything is fine) and the D365 Sales server address, then click "Next."
On the next screen, select the tables needed for the data connection. For this implementation, we selected the following five tables:
-
account(Account) -
opportunity(Opportunity) -
contact(Contact) -
activitypointer(Activity) -
task(Task)
The initial data sync takes some time — ours completed after about 40 minutes. You can confirm that data has loaded correctly in the data view.
Unification
Next, we run the unification process. Select "Unify" from the left menu.
From here, we map the primary keys for each table.
Adding Deduplication Rules for Account
Click "Add rule" under account : CustomerZero. A screen will appear where you configure which columns must match for two records to be considered the same company. Common conditions used for Account entity resolution are:
- Company name (
accountname) match (basic, but vulnerable to name variations) - Phone number match
- Email domain match
- Address match
Normalizing the Account Name Field
Normalize the name field on the account table.
Normalization is an option that determines how text is pre-processed before comparison. The recommended settings for this implementation are:
| Setting | Apply? | Reason |
|---|---|---|
| Unicode to ASCII | ✅ | Standardizes full-width/half-width differences — important for Japanese company data |
| Symbols | ✅ | Removes characters like , . & ( ) — handles punctuation in names like "Co., Ltd." |
| Text to lowercase | ✅ | Ignores case differences |
| Whitespace | ✅ | Removes extra spaces |
| Type (phone, name, address, organization) | ✅ | Identifies and normalizes legal entity suffixes (Co., Ltd., Inc., Corp., etc.) — recommended for company name matching |
| Numbers | ❌ | If company names include numbers (e.g., 3M, 104 Information Technology), removing them can cause false matches — safer to leave unchecked |
"Custom" options (Alias mapping, Custom bypass) are not needed for this implementation and can be left unchecked.
Apply the same normalization settings to contact and opportunity as well.
Match Rules
Click "Add rule" under contact. Here you specify which columns to use to link accounts and contacts. In the standard Dataverse structure, the relationship is:
contact.parentcustomerid (parent company ID) = account.accountid
Unified Data View
Once the above steps are complete, the Unified Data View screen is displayed. In our case, it showed 135 merged customer columns, 528 individual customer columns, and 0 excluded columns. This confirms that the previous steps — deduplication rules and match rules — worked without issues.
In this step, you review and adjust which columns will be included (or excluded) in the final unified customer profile. By default, all columns are included.
Click "Create customer profiles" to run the unification job. Depending on the amount of data, this may take anywhere from a few minutes to several tens of minutes.
Next, we move on to building Measures and Segments.
Top comments (0)