Boost recurring donations this giving season with the new upsell prompt!Learn How >>

Creating a custom field on the Campaign object in Salesforce to include Taxonomy Terms when importing of Classes into Soapbox


It is common for organizations using the Classes app and its integration with Salesforce to have a variety of custom attributes that they wish to associate with their Classes. Those might include things like age range, skill level, neighborhood, and other elements that are particular to a class.

As a best practice, we encourage administrators to implement these attributes as follows:

  • Create custom Salesforce fields - usually picklist fields - on the Campaign object for each attribute
  • Create Taxonomy Terms in Soapbox that mirror each attribute with child Terms under each parent that mirror the picklist options for each element
  • Create an additional custom field on the Campaign that aggregates the various attributes into a single string, if you wish to export your Campaigns from Salesforce and import them into Soapbox using our preformatted CSV. Each value should be separated by a semi-colon (;).

Example of Custom Salesforce Campaign Field for Aggregated Terms

The custom Salesforce field should be a formula text field and does not need to be included on any page layout. As an example, we'll assume the following custom fields exist on the Campaign to track various attributes we noted above:

Field Label: Age Range
Field Name: Age_Range__c
Field Type: picklist
Field Options: Guppy (5-7), Minnow (8-11), Tuna (12+), Shark (14+)

Field Label: Skill Level
Field Name: Skill_Level__c
Field Type: picklist
Field Options: Beginner, Intermediate, Advanced

Field Label: Neighborhood
Field Name: Neighborhood__c
Field Type: picklist
Field Options: Central District, East End, West Side

In addition, we'll assume that the following Taxonomy Term structure exists in Soapbox:

  • Age Range
    • Guppy (5-7)
    • Minnow (8-11)
    • Tuna (12+)
    • Shark (14+)
  • Skill Level
    • Beginner
    • Intermediate
    • Advanced
  • Neighborhood
    • Central District
    • East End
    • West Side

Assuming that Age Range will always be populated for each Campaign record in Salesforce, the following could be used as the formula for the aggregated terms:

CASE ( Skill_Level__c,
"Beginner", ";Beginner",
"Intermediate", ";Intermediate",
"Advanced", ";Advanced",
CASE ( Neighborhood__c,
"Central District", ";Central District",
"East End", ";East End",
"West Side", ";West Side",

Examples of the output of this formula could include the following:

  • Guppy (5-7); Beginner; Central District
  • Minnow (8-11); Advanced; East End
  • Tuna (12+); Intermediate; West Side



Have more questions? Submit a request
Article is closed for comments.