Setting Up CiviContribute Forms For Anonymous Users (ACLs and User Access)

Here is a little tip that will make your life easier, especially the first time you go down the road of setting up CiviCRM’s CiviContribute forms for a website where anonymous users will be making donations (not anonymous donations, just users that are not logged in).

When setting up CiviContribute you need to grant access via the Drupal User Access to “make online contributions” to anonymous users, AND you also need to add an ACL to CiviCRM for “Everyone” to access the profile you are using for online donations.

  • Visit /admin/user/access to set the Drupal User Access
  • Visit /civicrm/civicrm/acl?reset=1&action=browse

If you do not add the ACL, CiviCRM throws a very ugly error to your anonymous users. CiviCRM’s user facing errors are generally pretty ugly and scary and don’t often offer enough information to diagnose a problem even for a power user pretty familiar with CiviCRM. I’d love to see better error reporting in CiviCRM and a “custom” error page setting like Drupal has so that at least anonymous users can get a page that is less alarming.

While I am on the topic of CiviCRM it is also worth noting that Drupal5.x’s menu system does not like CiviCRMs dirty URLs.  If you are going to put a link to a CiviCRM donation page or profile in the Drupal Menu system you will need to doctor is just a little bit:

/civicrm/contribute/transact?reset=1&id=1

should be altered to
/civicrm/contribute/transact/reset=1&id=1

Catch the difference there? its the “?” just replace it with a “/”.