1. How many surveys are you planning to implement?
2. Should the surveys be available for customers to complete on your website?
3. Would you like to re-use the same question across multiple surveys?
4. What Microsoft Dynamics CRM customization skills does your organization have?
Based on these factors, I would look at the following three options for implementing survey functionality in Microsoft Dynamics CRM:
Option 1. Create a custom entity for each survey
If you have a very small number of surveys that you would like to track per customer, you can leverage the business modeling capabilities of Microsoft Dynamics CRM and create a custom entity for each survey. Since this approach would result in one custom entity per each survey, it would be practical only if you had five or less surveys that you would ever need to track against your customer records. The benefit of this approach is that you can set up the surveys very quickly and your internal users can leverage them as soon as they are published. If you need your customers to fill out the survey responses on your web site and your Microsoft Dynamics CRM development team has the necessary technical expertise, you can create a custom ASP.NET page on your website that leverages the Microsoft Dynamics CRM web services API to save the survey responses in the Microsoft CRM database. Alternatively, you can wait until the next version of the eService Accelerator for Microsoft Dynamics CRM is released and implement the self-service portal that comes with that accelerator on your website. The accelerator will provide you with the profile management capabilities to allow users to log in and register on your website and it will also allow you to expose any Microsoft Dynamics CRM entity on your website. The downside of implementing each survey as a custom entity is that this approach is not practical if you have more than a few surveys that you would like to track and you would like to easily re-use certain questions and responses across multiple surveys.
Option 2. Create custom survey management functionality in Microsoft Dynamics CRM
If your organization needs to track multiple surveys per customer and you need the ability to re-use questions across multiple surveys, you can use custom entities and relationships in Microsoft Dynamics CRM in order to administer surveys and track completed surveys by your customers. In addition, you will also need to integrate this functionality with your website if you need your customers to be able to fill out the surveys online. Custom development typically will provide the closest fit to your business requirements of any approach. However, it is also usually the most expensive approach and not all organizations have the technical skills to develop such a solution in-house, especially when it comes to the integration with your website. That being said, if you have a proficient Microsoft Dynamics CRM technical team, you may find that the ease of configuring and customizing Microsoft Dynamics CRM provides a great alternative for creating this functionality.
Option 3. Independent software vendor (ISV) products for survey management
The third option would be to explore ISV products that may satisfy your survey requirements. Depending on the cost of the products that you select, this approach may more cost-effective than a custom product. In addition, the ISV vendor will provide the customer support that you may need in order to address any issues that arise during implementation. As a result you'll be able to deploy the product faster than it would take to develop it internally from scratch. If you do not have the technical expertise to develop a product in-house and you have complex survey requirements, I would explore this option. One possible product that would be a good candidate is TK Dialogs from Team Knowledge.
This option allows you to deploy a survey both on your website and to your internal users and integrates with Microsoft Dynamics CRM without the need to write custom code. There may also be other ISV products out there so I would advise you to do your homework before you buy.
In summary, although Microsoft Dynamics CRM does not provide survey functionality out-of-the box, there are at least three options for implementing this functionality and the right approach for your organization will depend on your specific survey requirements, the level of technical complexity that you would like to take on, and the speed with which you would like to deploy the solution.
This was first published in July 2009