Our non-profit currently has a basic donation page via a CiviCRM Contribution page. We would like to add the ability for the user to select which campaign the contribution is directed to.

The Webform CiviCRM Integration Module seems like a necessary component. When configuring a webform, you may direct the contribution to a pre-existing contribution page, but without the ability to expose this to the user. I also looked at apply the Webform Conditional module, but did not see anything that would lead to my desired outcome.

I appreciate any insights in how to create a donation page which provides the user the option to select CiviCRM campaigns.

  • 1
    Note that webform_conditional is only for webform v3. Webform v4 has the conditional features built-in.
    – Coleman
    Dec 23, 2014 at 0:10

2 Answers 2


You can actually do this without Webform-CiviCRM if you like:

  • Set up your campaigns in CiviCampaign
  • Create a new profile to add a field to (or from the Profiles page, click "Fields" beside an existing profile to add a new field there) Profiles
  • Add a new "Campaign" field to the profile you are working in (this will list all active campaigns in the profile) Add field
  • Add the profile to the Contribution Page in question (note: if you added the field to an existing profile it may already be on the Contrib Page) Sample Contrib Page screenshot

You do not need the webform-civicrm module for this, you can use a profile to expose the campaign field to the contribution form. This will add a select dropdown to your form that lists all active, current campaigns.

But if you wish to use webform-civicrm integration, the feature exists there as well. It has the advantage over profiles in that you can configure which campaigns show up in the list, and even rename them on the form if you wish to create more descriptive "user-friendly" names for them.

To add the field, choose "user select" on the contribution campaign field in the civicrm tab of the webform. To configure its options, go back to the webform tab and click "edit" on the campaign field.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.