Intake forms for your constituents
When you're collecting data from your constituents directly, you need to be sure of two things:
1. The data needs to land in the right place in your CRM.
This means you need to know what the right place is, and that probably means you'll have (or will need to create) the relevant custom data fields and other configuration to store the data.
Before you start creating the forms for your users, it's a good idea to manually enter a few sample responses through the back end; and then run a few reports or searches to examine that data.
This way you can be sure of where the data is supposed to be, and that you'll be able to use it effectively once it's entered.
2. The form should be as easy to use as possible
Now you need to think about how your constituents will actually provide that data.
What are you going to use to build the form that they'll be using?
You've got a few options:
CiviCRM profiles:
This method is the simplest to implement, and it works well for simple updates to information about a single contact.
But if you intend to store the data in multiple contact records, or in activities or other entities, profiles are probably not going to be able to handle that.
CiviCRM FormBuilder:
This relatively new feature in CiviCRM is growing rapidly and can already handle most anything you want to do in your data collection form, including the collection of data about multiple contacts, activities, and other entities.
It's a little more complex to configure than a profile, but it's a lot more flexible.
CMS-based form builders:
Under Drupal and WordPress, you may simply prefer to work with one of the popular form builders in those platforms.
In Drupal, Webform is the tool for building custom intake forms. With its CiviCRM integration, you can do all of the above.
As a bonus, it also supports taking payment via the form. Right now it's the only option in this list that will do that.
In WordPress, the most popular form builder is Gravity Forms. But it has no integration with CiviCRM.
Instead, you should look into Caldera Forms. This WordPress plugin, with its CiviCRM integration, supports collecting data on a fairly diverse set of entity types (contacts, activities, etc), and its forms also tend to “look pretty" with your WordPress theme.
My preference:
Where possible, I recommend starting with CiviCRM’s FormBuilder. The learning curve is a little steeper than with profiles, but once you’re past that the flexibility of this tool is pretty impressive.
There's not much that the other solutions can do that FormBuilder can't.
And once you get the hang of it, you might be surprised by what it will allow you to do.
All the best,
A.