There are seven events that can trigger RaiseDonors to initiate an integration to a CRM. Those are:
- A new donation
- A new note in a donor account
- Updating donor information
- Modifying a recurring profile
- Terminating/suspending a recurring profile
- Refunding a donation
- Pull donation history for donor portal
Currently, RaiseDonors only supports three of these events with Virtuous,
- New Donation
- Pull donation history for donor portal
- Refunding donation
All other events are currently ignored, but are on the roadmap to be developed soon.
A donation in RaiseDonors must be attributed to a Fund. It's possible for a donation in RaiseDonors to be allocated across multiple funds. Here is how a page/campaign can be setup to support multiple funds.
It's important to understand that if a donation is attributed to multiple funds, then 1 gift with multiple designations will be created in Virtuous. In the example below, 1 gift will be created in Virtuous:
Gift #1 - $75
Designation #1 - $50
Designation #2 - $20
Designation #3 - $5
If a donation is only attributed to one fund, then only one gift will be created in Virtuous.
Here is the mapping of our integration showing how data from RaiseDonors flows into Virtuous.
Note, this is applicable to each fund in a donation. If a donation has multiple fund designations, then this mapping will be applied multiple times to send gifts to Virtuous.
Certain fields will remain the same in this situation and be pushed into Virtuous multiple times (ex: RaiseDonors.Donation.Id, DateCreated, SourceCode, Donor info, etc).
|RaiseDonors Data||Virtuous Data|
|"Once" or "Monthly" for recurring gifts||Pledge Frequency|
|Simple or Verbose Notes (*)||Gift Notes|
|"Credit Card" or "ACH" depending upon gift type||Gift Type|
|card brand (if gift type = CC)||CreditCardType|
|empty value, not used||Project Id|
|empty value, not used||Address2|
|If Multiple Funds...|
(*) Simple notes tell you the following,
RaiseDonors Donation ID
Authorization # from gateway
And any comment that may be included with the donation.
Verbose notes tell you the following,
Everything in the simple notes plus,
Payment type (cc / ach) and card brand if CC.
Google UTM codes
If premium, premium code and name
If media outlet included, media code
Shipping address information, if included.
Regarding recurring donations that may or may not have an associated premium, the integration works as follows.
If the donation is a premium (meaning it has a SKU)
- if it's a one time donation, include the SKU information.
- if it's the first instance of a recurring donation, include the SKU information.
- if it's a second, third, etc (n+1) recurring donation, it does a check to see if there is a SKU for the "Recurring Product Code". If a SKU exists there, then the system includes the recurring product SKU/Code with the donation. If no Recurring product code SKU exists, then the donation is sent as a normal donation, with no premium/sku information.
The original source code for the initial recurring donation will remain with each future donation from that recurring profile. However, there is an override feature if you wish to force a specific segment code for all recurring donations.
Although not supported directly thru RaiseDonors, there are scenarios where anonymous gifts can be supported for recurring schedules. It's gateway specific but generally speaking, in the gateway if you add a value of"anonymous=true" on the "comments" custom field/meta-data value, then RaiseDonors will send the donation to Virtuous as anonymous by setting the "isPrivate" value to True.
You can also accomplish this by leveraging the pre-population feature as a URL argument, specific to the "comments" field.
Or you can configure the page to do this for you automatically. You'll need to enable the comments feature on the page, then insert these two custom scripts.
Custom CSS Script
When RaiseDonors pushes a donation to Virtuous, the RaiseDonors Donor ID is also included and stored in Virtuous. This is key as this is how the donor portal history data is retrieved. Additionally, RaiseDonors will ping Virtuous once a day to acquire the Contact ID and store this value locally in RaiseDonors.
RaiseDonors supports the distinction between a donor and an organization when integrating with Virtuous. If the organization name is provided with a donation, then the donation will be sent to Virtuous as an 'Organization'.
RaiseDonors allows you to customize the formatting of addresses when sending data to Virtuous. Specifically, the Country can be formatted in
- ISO3 ex: USA
- ISO2 ex: US
- Full Text ex: United States
The State can also be formatted as
- ISO2 ex: TX
- Full Text ex: Texas
If RaiseDonors is configured to support media attributions, this information can also be sent with each donation into Virtuous. Simply provide the name of the custom field in Virtuous that will store the media attribution and RaiseDonors will send the media attribution along to that custom field!
If a donation page in RaiseDonors is configured to have a product, the donation form can conditionally ask for a shipping address (where it could be different from the billing address). In this case, RaiseDonors will save both addresses to the donation. But the integration to Virtuous does not currently support "shipping address" directly on the transaction object. To work around this, a note will be included with the gift sent to Virtuous which includes the shipping address for the gift. Additionally, you may configure custom fields in Virtuous on the transaction object. You will then need to supply those custom field names to the RaiseDonors integration screen. Once RaiseDonors is populated with custom field names from Virtuous, RaiseDonors will send the shipping address thru using those custom field names.
In the world of RaiseDonors, we don't yet track if a "page" or "fund" or "donation" is tax deductible or not. RaiseDonors always assumes a donation is tax deductible. But in the realm of Virtuous, there is the ability to track if a gift is tax deductible or not.
To control the gift coming into Virtuous as tax deductible or not, it's a matter of placing the donation into the appropriate Project in Virtuous.
Looking at the mapping chart, you can see that the RaiseDonors "fund" maps to the Virtuous "project". If the donation in RaiseDonors is attributed to "fund A" and in Virtuous "project A" is setup to be tax deductible, then the gift will be seen as tax deductible in Virtuous.
However if in virtuous "project A" is not setup as tax deductible, then the gift will not been seen as tax deductible in Virtuous.
The designation of a gift to be tax deductible vs non-tax deductible is all controlled thru the setup of the project in Virtuous - and the mapping of the fund in RaiseDonors to the project in Virtuous.
RaiseDonors does not directly send fair market value to Virtuous thru this integration. Yet, RaiseDonors does allow you to provide FMV information - and this is used in various places (receipts, donation data, etc).
Virtuous requires you to specify the FMV at the "premium" level when creating a new premium in the Virtuous environment. When a donation comes into Virtuous from RaiseDonors, the premium "code" configured in RaiseDonors will be matched to a premium "code" in Virtuous. Once the match has been established, Virtuous will then apply the FMV settings it has locally, to the donation.
To ensure FMV calculations are correct in both RaiseDonors and Virtuous, ensure that you are configuring the FMV data in both systems - before donations take place.
RaiseDonors does not directly support the concept of a pledge. A donation is either recurring or not. However, Virtuous does support pledges. The pledge feature in Virtuous can be globally enabled or disabled.
When RaiseDonors receives the first recurring donation in a schedule, the integration with Virtuous will set the frequency to "monthly". This is picked up by Virtuous and the system auto creates a pledge for that gift, if the pledge feature is enabled.
There are a few scenarios that lend itself to a poor experience with pledges. RaiseDonors has no way to contact Virtuous to notify Virtuous that a recurring schedule has been modified. The donor could have changed the amount, could have terminated the schedule, etc. The update to the pledge in Virtuous will be a manual process. We are hopeful in the coming months to work with Virtuous and find a way to remove this manual process.
RaiseDonors collects data real-time in the donor portal when viewing giving history. The data returned from Virtuous contains transactions collected outside of RaiseDonors. That data is then merged with any/all donations processed thru RaiseDonors (including recurring) and displayed to the donor.
Only donations processed thru RaiseDonors are available to have the email re-sent. And only donations processed thru RaiseDonors are able to display Gift Aid status (if available).
RaiseDonors supports Gift Aid for organizations processing in GBP thru their gateway. To facilitate Gift Aid requests from the donor into Virtuous, you can configure a custom field to collect the 'date' of the Gift Aid request with the associated donation. Virtuous has recommended providing a custom field named 'Gift Aid Submit Date'. The value sent along in this custom field will be the creation date of the donation, in your organizations time zone. Ex: MM/dd/yyyy.
RaiseDonors sends data in near real-time to Virtuous. But that doesn't mean it's ready for querying, reports, and/or viewable in Virtuous. To see how that process works, please check out the help video from Virtuous.
And for more helpful videos in Virtuous regarding importing, check these out.