With the release of Dynamics CRM 2015 Online Update 1, Microsoft provides a tool to optimize performance of integration with other systems: Entity Change Tracking.
This feature provides a way to keep the data synchronized in a performant way by detecting what data has changed since the data was initially extracted or last synchronized.
Configure Change Tracking
The first step to do when configuring change tracking is to verify that this feature is available on your Dynamics organization.
This feature is not available for Dynamics CRM on-premises, but only for Dynamics CRM Online 2015 Update 1 and for Dynamics 365 (online and on-premises)
Once verified, it is necessary to activate Change Tracking for entities: Lead, Contact, Account on your Dynamics organization.
- Go to Customizations > Customize the System.
- Select an entity between: Lead/Accounts/Contacts, and under Data Services, select the Change Tracking check box.
As soon as this feature is enabled on the CRM, you can activate the feature also on the platform:
- Go Management > Microsoft Dynamics > Setup. It should appear the panel Setup on the right context bar.
- Click one item between Dynamics Leads/Contacts/Account to enter specific configuration page.
- Select the Enable Change Tracking check box and click save.
The first synchronization running right after saving, performs a full dump (it works the same as when change tracking is not enabled) and retrieves a token.
The subsequent synchronizations will use that token in order to get a list of entities that have been changed since the last sync.
Interaction with other import options
When the Enable change tracking check box is activated, the option Unsubscribe contacts if they are not present into the CRM or excluded by the import filter is hidden.
The reason is that this option is used to remove, by difference, all the contacts that are no longer on CRM, because they have been deleted. With the change tracking function we know the new and modified entities, but also the deleted ones.
Therefore we can unsubscribe one by one specific contacts.
The change tracking function retrieves the changes for all entities of a given type.
You can still use the Change Tracking feature together with the Import filter.
However there may be performance slowdown in the sync execution.
Reset Token function
In the Synchronization status page, tab Import, it will appear a new row Last used Change Tracking token, showing the last token use for the sync for debug purpose. The Reset button can be used to force the full dump of entities as if it were the first execution.