Donation Donations - A Comprehensive Giving Platform
Our donation platform is build on top of Drupal 9 taking advantage of many of the existing Drupal modules to handle some of the requirements. However, when it comes to collecting donations, Drupal out-the-box is lacking the refinements necessary for an optimised user-journey, even with contributed modules.
Drupology have build a robust, flexible, scalable and proven donation platform, used by some of the largest NGOs on the world today.
Localised donation forms and pages
One of the key requirements not met out-the-box is to deliver localised, translated copy of pages on the same URL, e.g. English speaking visitors seeing the home page will view English, Spanish will view Spanish, etc. without any language prefixes in the URL. Each country requires it's own donation amounts optimised for that market as well as collecting payments using countries' local payment providers.
Donation forms fields are also localised if, for example, a country requires a national ID to be collected. Redirects were also required as some countries will have their own websites to collection donations directly.
To achieve this functionality we worked with Acquia (an enterprise Drupal hosting provider) to customise their architecture ensuring multiple versions of the pages can be cached and delivered based upon the donor's browser and location details.
The resulting forms are delivered and targeted for the donor's regional settings with very fast cached response times.
These forms can also be embedded in third-party websites.
Drupal out-the-box, even with Commerce is not designed well to process donations without using a traditional "add to cart" user journey. The forms needed to be fast, slick, and easy to use. This meant developing a suite of modules to extend Commerce and Webform to allow the collection and processing of donations securely.
The modules are developed with a plugin architecture, allowing easy addition of new payment providers if new markets wish to come onboard, ensuring donations are handled in a PCI compliant way.
Processing donor data
Donor data has to be sent to various different CRMs, depending on the donors location. In most cases the data goes to SalesForce via some bespoke middleware to allow other systems to populate the same CRM with data. This is a schema based UI data-mapping driven delivery system, meaning site editors can tweak and adjust the mappings without requiring a code deployment. Data is sent asynchronously to prevent bottlenecks, and responses are checked with a queued job at regular intervals to check for data processing response messages. This is also plugin driven to allow new data processing providers to come on board if required.
Optimised user journeys
Taking best practice and discovery from multiple multi-variant donation form tests, the form is optimised to help donors complete with as little friction as possible. Country administrators can build their own donation forms collecting the specific data they require to be processed as well as handling any local laws around collection (e.g. GDPR).
Since the launch of the initial Drupal 8 site, and now the upgraded Drupal 9 site, donations have significantly increased year-on-year as more markets and territories are onboarded to the platform. This means millions of dollars of revenue are used to help some of the worst effected areas of the world bringing genuine change to people's lives.