Integrating with User Defined Fields (UDF)

DonorPerfect allows you to create custom fields (User Defined Fields - UDFs) on your gift screen. This allows individual organizations to manage their own specific data points on each gift or transaction.

If you have set up Gift UDFs in DonorPerfect, Givecloud can push data that the donor provides during their purchase/donation into those UDFs. This is done using Product Custom Fields.

Step 1: Request UDF Integration

You'll need to let us know what UDF's you want your Givecloud account to push to DonorPerfect. For each UDF you want to integrate with, just hit us up at support@givecloud.com with the

  • UDF Code

  • UDF Label and

  • What type of field it is (text, dropdown, checkbox, etc.)

They must be fields/UDFs on the Gifts screen in DonorPerfect - we can't sync to the Main account screen or any other screen. You can sync a maximum of 14 UDF's site-wide (so choose wisely :D)

Once that is done, you'll see your custom fields appear as options on all your DP Integration panels.

Item level:

Variant Level:

Custom Fields Tab:

Step 2: Setup Your Product Custom Fields

Option 1: Using Donor Input to Populate Gift UDFs (Syncing to a text field in DonorPerfect)

  1. Find the product where you wish to collect the donor's input.

  2. Create a custom field on that product. Set the type to "text field." When you are setting up each field, you should see a Map to Gift UDF drop-down. Select the Gift UDF you want each custom field to link to (this UDF must also be configured as a text field in DP).

  3. Click Save.

Now, each time a donor enters a value in your custom field, it will push to the DonorPerfect Gift UDF you selected.

Option 1b: Using Donor Input to Populate Gift UDFs (Syncing to a dropdown field in DonorPerfect)

  1. You need to have created all of your codes on this field in DonorPerfect already.

  2. Find the product where you wish to collect the donor's input.

  3. Create a custom field on that product. Set the type to "select box."

  4. Select the "set both labels and values" check box.

  5. A donor can select the set "value" as the code and the "label" as the description for each option.

  6. When you are setting up each field, you should see a Map to Gift UDF drop-down. Next, select the Gift UDF you want each custom field to link to (this UDF must also be configured as a dropdown field in DP).

  7. Click Save.

Option 1c: Using Donor Input to Populate Gift UDFs (Syncing to a yes/no field in DonorPerfect)

  1. Find the product where you wish to collect the donor's input.

  2. Create a custom field on that product. Set the type to "select box."

  3. Select the "set both labels and values" check box.

  4. For 'Yes,' set the value as 'Y' and the label as 'Yes.'

  5. For 'No,' set the value as 'N' and the label as 'No.'

  6. When you are setting up each field, you should see a Map to Gift UDF drop-down. Then select the Gift UDF you want each custom field to link to (this UDF must also be configured as a Y/N field in DP).

  7. Click Save.

Option 2: Populating a Gift UDF with a fixed value

  1. Find the product where you want to send fixed UDF data to DonorPerfect

  2. Click the DonorPerfect Integration tab.

  3. Look for your UDF under the Custom Integration panel. Enter the fixed value you want pushing to DonorPerfect every time this item is added to a contribution.

  4. Click Save.

Now, each time this item is a part of a contribution, your UDF will be populated with the fixed value you entered.

Troubleshooting UDF Integration

  • (MOST COMMON) If the UDF you set up in DonorPerfect has a fixed set of codes, the value sent from Givecloud must EXACTLY match the set of fixed options in DonorPerfect (exact case and spelling).

  • Are you sure the UDF Code you provided Givecloud support staff is correct?

Givecloud helps make your DonorPerfect integration a breeze by showing your DonorPerfect codes directly in GiveCloud. It also helps you identify when you've manually entered a code that does not exist in DonorPerfect by showing "Missing in DPO" when the code doesn't exist.

Did this answer your question?