Contact us Blog

Updating the Campaign Member Status field using Donation Records

Thanks to Anne Crawford of the San Francisco Police Activities League for this article.

Situation: We have run a successful direct mail appeal and entered almost 500 donations. To track the success of our campaign, we want to find all the campaign members who contributed, and update their Campaign Member Status from “sent” to “responded.” This is a very common need, but is not easily solved because it involves five different Salesforce objects: Campaign, Donation, Opportunity Contact Role, Contact and Campaign Member. In this example, we create the necessary filters to update the Campaign Member Status using the donations from our campaign.

In this case, we will be using our 2013 Spring Campaigns.

To find the records to update, we need to create filters on 4 different objects:

  1. Find our donations by creating a filter by Appeal ID (Appeal object)
  2. Find the Contact Role ID for each donation in the “Donations in 2013 Spring Campaign” filter (Donation object)
  3. Find the Contact ID for each donor in the “Roles for Donations in 2013 Spring Campaigns” filter (Contact object)
  4. Find the Campaign Member ID for each contact in the “Donors in Spring 2013 Campaigns” filter (Appeal – Campaign Member object)

Finally, we will use this new “members in Spring 2013 Campaign” to update the Campaign Member Status using the “update all” tool.

We will follow the step-by-step instructions below.

Note in this example we use the Non-Profit Start Pack terminology (Appeal for Campaign, and Donation for Opportunity) but the process would be the same on the regular Salesforce platform.

  1. Create a “Donations in 2013 Spring Campaign Filter”
    • We hover and click on “All Donations”

    • We add a new filter

    • We add our filter criteria, in this case Appeal ID (or name)

    • We save our new filter as “Donations in 2013 Spring Campaign.”
  2. Create a Contact Role ID filter using our “Donations in 2013 Spring Campaign” filter.
    • Select all Donation Contact Roles
    • We build a new Contact Role filter to find only those Donation IDs in our “Donations in 2013 Spring Campaign” filter

    • We save this filter as “Roles for Donations in 2013 Spring Campaigns”
  3. Create a Contact ID filter using the “Roles for Donations in 2013 Spring Campaign” filter.
    • We select all Contacts
    • We add a new filter
    • We use the “Roles for Donations in 2013 Spring 2013” filter to find the Contacts ID’s for our campaigns

    • We save this filter as “Donors in Spring 2013 Campaigns”
  4. Create a Campaign Member ID filter using the “Donors in Spring 2013 Campaigns” and the Appeal Name
    • Select “Campaign Members” from the Appeals menu

    • Add a new filter – this time we will specify two search terms

      --Use the drop-down check-box menu of Appeal names when you specify Appeal Name “is among” to choose our Spring Campaigns

      --Use the “Donors in Spring 2013 Campaigns” filter

    • Save this filter as “Members in Spring 2013 Campaigns.”
  5. Now that we have the Campaign Member IDs, we can update the Campaign Member status
    • Stay in the Campaign Member filter
    • Select the the “Update All” tool

    • Choose the Status field, and select “Responded” (or whatever value you would like)