In this article
A Contact Database can be created and populated from background variables in a survey. Once the survey is linked and you have selected background variables to bring into the contact database, the contact database will be created and data will be continuously synchronized, automatically, from the survey to the contact database. The background variables that should be brought over to the contact database should be variables that hold data on the contact level, not those that are specific to each transaction.
Figure 1 - Synchronizing data
The synchronization will add the customer record if it doesn’t already exist in the contact database. If it already exists, it will compare existing values with new values. If there are no changes, no updates will be performed on the contact database. If there are changes however, these will be recorded.
The synchronization will also add a record for this survey in an activity log.
You can have multiple surveys linked to the same contact database provided they all have the key field in the background data.
Synchronizing Respondent Data to the Contact Database
When a survey is linked to a contact database, if changes are made to the survey then the system will automatically synchronize linked respondent data and system variables with the contact database. Every respondent upload will automatically trigger a synchronization that updates the contact database, as will respondent emailing, and in addition the hub loader will look for changes and trigger synchronization of respondent data to the contact database when needed. For this synchronization to succeed, the mapping and data types must be correct. If there is for example open text data in respondent data for a background variable that is set up as numeric, for which the corresponding field in the contact database will also be numeric, the synchronization will fail and stop. The situation will then need to be resolved, either by fixing the data (to get numeric) or mapping (set up an open text background variable and map that instead).