Skip to Content

Nonprofit Direct Mail on Salesforce, Part 4: Packages & Creatives

By Dustin Pitts March 13, 2017

Hey there! My name is Dustin. I am a Solution Engineer for based in Charleston, SC. Welcome to my blog series about direct mail!

Next up is a deep dive on tracking package and creative records in Salesforce.

First things first, let’s refresh your memory on the terminology from the first post in this series.

  • Package – A package represents the envelope and everything within that envelope. This includes copy, business reply envelope (BRE), calendars, etc. There is usually a unique code to identify the package.
  • Creative – This represents a unique piece of the package. The creative could be the envelope, BRE, calendar, newsletter, or anything else. Creatives usually have costs associated to them for roll-up reporting.

Let’s take a look at each of these.


Why do people care so much about packages? The answer is simple: the package is what drives the performance of your marketing efforts. Let’s say, for example, your marketing agency has developed an award-winning package that kills it from a donation standpoint, yielding a double-digit response rate (average industry response rates are in the single digits). If you’re a smart marketer, then you’ll want to figure out how to repeat that success. But you can only do that if you’re able to measure each package’s individual performance. Luckily, if you’re using Salesforce records to track packages, you can run a report in just a few seconds and see all of the donations driven by each of your packages.

We know that we need to report on these packages, but where do we begin? Is there something built out-of-the-box in NPSP that I can take advantage of?

The answer is: …sort of.

The first step to being able to report in Salesforce is creating an object that you can report on. I suggest creating a custom object called “packages” and linking that object directly to a Segment Campaign object (see my Source Code post for more info about Segment Campaigns objects). This will be done by creating a lookup field on your campaign object that relates to the new custom package object.

Having the package at the segment level allows you to have multiple packages within a specific mailing. It also allows you to have multiple test and control packages within that same mailing. The diagram below shows how this hierarchy would look.

Creative Hierarchy Diagram

Since the package and creative are both custom objects, you can define which fields you would like to create and show. I usually like to see things like name, description, and costs. Here’s a screenshot of a record of a sample package object I built out in the past.

Screenshot of record of sample package

One thing I usually see on the package object is some sort of code to identify that package. This code could have a specific pattern or it could be randomly generated. As a best practice, I suggest making this code unique to that package. For example, A001 will always equals your 2017 Spring Mailing. You will also note that this package code is usually present in your source code.

You can have Salesforce automatically generate a unique code every time you create a new Package by using an auto-number field.

Now that you have your custom object set up, the reporting fun can begin! Most organizations will create reports that break down their packages based on things like average response rate, average gift rate, or even donor age ranges. Those variables can help you to identify which type of packages your various audience segments may respond well to.


You have mastered package performance reporting – great! What happens if you want to go one level deeper in your reporting? What if you want to break out the different pieces of each package to see how they performed? That’s where creatives come into play.

Creatives represent the individual pieces within the envelope of the mailing (and oftentimes the envelope itself is a creative, too). Just as we did with packages, we manage creatives in Salesforce by creating a custom object called “Creatives.” This object will be related to your package object. This will be a many to many relationship that is created using two master detail relationships and a joining object. You want to do it this way because one package can have many creatives and one creative can belong to many packages. Here’s a sample creative record.

screenshot of sample creative record

The chart below breaks down two different packages. You can see that the content of the packages are almost exactly the same. What makes the packages unique is the creative that represents either a calendar or address labels.

package names and creatives chart

You can also see that creatives can be related to more than one package. This is important to note for reporting. Having this structure allows you to report on a given creative’s performance across all of the packages that it has been included in. For example, you can see how well people are responding to the Spring Welcome Letter regardless of which package it was a part of.

Since the packages are related to segments, you also have the option to see how a specific set of individuals respond to the address labels versus the calendar insert. You can see how this data can quickly become a very powerful reporting element.

Cost Management

One of the other benefits of using creatives and packages is cost reporting. Many organizations want to know how much their packages will cost once the counts are finalized. If you keep cost information on the creative record, you can do this using a simple formula. Here is how that might look for Package A001 above:

Spring welcome letter = $0.05/piece
Standard BRE = $0.05/piece
Bookmark = $0.10/piece
Address Label Insert = $0.05/piece

Package A001 Total Cost = $0.25/piece

Let’s assume you have a segment of 1000 people who are receiving Package A001 in your mailing. The total cost for that segment would be $250 ($0.25 x 1,000 = $250). This amount could also be rolled up across all segments to get a grand total as well.

You could also just put a simple cost field on the package record if you did not want to manage this at the creative level. It really depends on your business needs.


Creative and package reporting is often done by very advanced direct mail organizations and may not be necessary for every nonprofit. I often see creative and package performance managed by third-party marketing agencies. But if you’d like to track all of the data on your packages and creatives in your own database, Salesforce can handle that without too much effort (and hopefully this post makes it even easier for you!).

Here are a few takeaways:

    1) Packages and creatives are managed in Salesforce using custom objects
    2) Package codes are often used in the source code
    3) Tracking individual creatives can give you very useful data, but may not be necessary for every organization
    4) Mailing costs can be managed at the creative or the package level using simple custom fields and formulas
    5) All of this is done to improve direct mail reporting and forecasting

As always, please let me know what questions or thoughts you may have. Happy mailing!

Watch the Nonprofit Success Pack Demo