Skip to main content
Content Starts Here
This is a publicly shared Knowledge Article from the Power of Us Hub - an online community for nonprofit and higher ed Salesforce users. Join the Hub.
Product Documentation

Create and Manage Levels


NPSP Levels give you a way to track a constituent's level of commitment and engagement based on criteria such as total gifts or number of hours volunteered. For example, you may have defined Levels for donors based on the total gifts they've donated over time. A donor who's donated $0 to $100 dollars would be at the Bronze Level, $101 - $1000 at the Silver Level, $1001 - $10,000 at the Gold Level, and so on.

This information is important for helping to recognize milestones and determine how to continue building on and fostering the relationship.

In addition, Levels work with Engagement Plans so nonprofits are able to outline what, who, how, and how often to communicate with the constituent and keep them moving up the ladder of engagement.

Here's an example of a Level structure for Accounts:

Level structure for accounts

Don't let the field names scare you! NPSP provides drop-downs to choose from when you define and edit your Levels.

Level drop-down list

Once configured for an object, the fields you created for Level and Previous Level are automatically calculated on a nightly basis.

Donation Information

Setup—Before You Begin

If you started using NPSP at version 3.81 (September 2016) or later, you can skip this entire section and move on to Create Levels. If you don't know which version of NPSP you're using, check out Which Version of NPSP Am I Using?

Depending on how you installed NPSP, you still may need to create the Level fields. Check that these fields exist, or create them if needed.

Enable the Level Object

The Level object is new to NPSP. Edit the profiles for all users who will work with Levels.

  1. Click Setup, then click Setup.
  2. From Setup, enter Profiles in the Quick Find box, then click Profiles.
  3. Click the profile you want to edit,
  4. Go to Object Settings and include the following permissions and settings for the Levels object:
    • Tab Settings set to Default On.
    • Object permissions set to Read, Create, Edit, and Delete.
    • For the System Administrator profile, Object Permissions set to Modify All and View All.
    • In the Field Level Security section, the Read Access and Edit Access boxes are checked for each new field.

If you're not sure how to update the permissions and fields for these objects, see Enable New Features.

Create Level Fields

In order to show a Level or Previous Level on the Contact or other record, you need to add fields. These instructions are for the Account object, but you can repeat on Contact or any other object using Levels as well.

  1. In Setup, click the Object Manager tab.
  2. Click on Account.
  3. Click Fields & Relationships, then click New to create a new field to display the Level. It doesn't matter what you name it (we suggest "Level"). Select Lookup Relationship as the field type and Level as the related object.

    Lookup Relationship data type

  4. Create a second Lookup Relationship field called Previous Level that is related to the Level object.

    When you create a Level, you can set up Level and Previous Level to be automatically populated when a Contact or Account (or other object you configured Levels for) moves between Levels.

    For example, this Level record has the Level and Previous Level fields filled in:

    Level and Previous Level fields

    So, when an Account's Total Gifts This Year moves from the Gold Level to the Platinum Level, the Level field and the Previous Level field on the Account are updated:

    Account record showing updated Level and Previous Level fields

Create Levels

You only need to set up your levels once and thereafter NPSP will monitor the fields you've selected and automatically update related Level fields on a nightly basis.

  1. Click the Levels tab. (If you don't see it, click More icon, then click All Items.)
  2. You can review already created Levels on this page or from a custom list view.
  3. Click New to create a new Level. You'll see a special interface designed to help you select the correct fields without knowing the API Developer Name.

    Create Level screen

    Level Name (1)—The Name that will appear in the Level field on the Account, Contact, or other object you've chosen. You must type in a name before you can enter any other fields.
    If you select the Target object before entering a name, you won't see values in any of the other drop-down fields. To fix this issue, clear all of the fields and enter the Level Name. You'll then be able to select a Target object and other values.

    Target (2)—The object that this level applies to. Select either Account, Contact, or other object you've chosen. See Enable Levels on Other Objects for how to add additional objects.

    Source Field (3)—The field that will be totaled across all records to determine what Level the Contact or Account is in. For our example, we selected Total Gifts (a currency field) however you can select any currency or number field.

    Level Field (4)—Remember that custom field you created earlier? Here's where you select it. If you don't have a Level field, you'll need to create one.

    Previous Level Field (5)—This field is optional. It stores the previous Level value if the Level changes. Select the custom Previous Level field you created earlier.

    Minimum and Maximum Amount (6)—This defines the range of this Level. You can leave Minimum blank to cover all up to (but not including) the Maximum Amount. Likewise, you can leave Maximum Amount blank to cover all amounts over (and including) the Minimum Amount (such as your very top level). Remember, Amount is not necessarily currency.

    Engagement Plan Template (7)—If you want to have a series of Task Activities that are automatically generated when a Contact or Account reach a certain Level, this is where you would select that Engagement Plan. See Create and Manage Engagement Plans for information on configuring and using Engagement Plans.

    Make sure Active is checked and give your Level an appropriate Description (8).

  4. If this is the first Level you're creating, click Save & New. This will automatically clone the existing Level and adjust the Maximum and Minimum values. Just give the new Level a name. You can very quickly set up a series of Levels this way. Click Save on the final Level.

Enable Levels on Other Objects

You can add Levels to other objects by including additional picklist values on the Target field on the Levels object.

  1. In Setup, click the Object Manager tab.
  2. In the list of objects, click Level.
  3. Click Fields & Relationships.
  4. In the list fields, click Target.
  5. In the Values section, click New.

    New button on Target picklist values

  6. Enter the API name (not the label) for the object. For example, if your custom object has the label of Registrants (that's what appears on your tab), and has the API name of Registrants__c, you would add Registrants__c as a picklist value for that field.

    API name of Registrants__c as a picklist value

  7. Click Save.

Don't forget to create Level fields on the object after enabling it.

Manually Recalculate Levels

That's it! Now, as the Source Field changes on your Account or Contacts, Levels are automatically calculated (on a nightly basis). Due to the processing involved, Levels are not applied instantly. Instead, Levels will be updated as part of the nightly batch process that NPSP runs. However, at any time you can update all your records with the correct Levels. Simply navigate to NPSP Settings | Bulk Data Process | Level Assignment Batch and click Run Batch.

The Level Assignment Batch only recalculates Levels for Accounts or Contacts that were updated since that last time the batch was run. There are a few exceptions:
  • If a Level record is updated (for example, you change the Level name or threshold), the job will recalculate all related Levels.
  • If a Level references any formula fields, the job will always recalculate that Level.

The default batch size for the Level Assignment Batch is 200. You can change the batch size as needed. Simply navigate to NPSP Settings | Bulk Data Processes | Batch Process Setting and update the value in the Level Assignment Batch Size field.

Thank You

Special thanks to Brian Pickett, who also contributed to this documentation.