Donation Rate on Campaigns

We use Campaigns a lot for tracking appeals and their resulting donations. The main drag about this use is that when you record a donation for a person on a Campaign, you have to connect the donation Opportunity to the Campaign, but you then also have to change the Contact’s Campaign Member Status to Responded to have the Response Rate automatically calculated.

In our new Apex work, Matthew wrote some code that automatically updates the Primary Contact Role’s Campaign Member Status to the Donated status if they aren’t already in a Responded state, eliminating that need for the extra data entry. It’s pretty darn slick.

But I had a customer call me today with this problem, and we can’t just go in and Apexify their whole Salesforce instance just to give them this cool code. So, I created a custom percentage formula field for them called Donation Rate:

if(NumberOfContacts <>0,NumberOfWonOpportunities / NumberOfContacts ,0)

screenshot

If there are Contacts on this Campaign, calculate the donation rate by taking the number of donations divided by the number of people on the Campaign.

2 Responses to “Donation Rate on Campaigns”

  1. Hudi Says:

    Hi Steve,
    this looks amazing.
    we are using campaigns to do serious tracking of student registering for an online learning program. We’re in the midst of deciding if we should leave the campaign object and re-create in custom. Part of the reason is we need to fire triggers to auto change the member status. if it were a custom object (class and class_member) we could fire on the class_member. Are you sharing this code? if we could get it to work for us, it would save a lot of time . .
    in general i’m curious to hear what you have to say regarding ‘overusing’ the campaign object. Should we stick with standard functionality or build our own (the question at large with SF). What we really like that would be really complex to build inside the SF framework is the checkbox add members. of course viable via the DL but that doesn’t work for standard users . .
    would be grateful for any input / advice!
    Thanks!

  2. Steve Says:

    The hardest thing to replicate with Campaigns is the Add to Campaign button on reports. Someday we may get to recreate that button, but right now it’s killer functionality that I can’t do without.

    You can create buttons that can sit in object views and related lists. That may be your solution if you go the custom object route.

Leave a Reply