Best Practices for Storing Subscription Preferences in Salesforce

Best Practices for Storing Subscription Preferences in Salesforce

When your constituents provide you with their data, they are entrusting you to both honor their communication preferences and provide them with meaningful content.  Many organizations offer opt-outs, but one of the best ways to help build that is trust is through providing your constituents with the ability to opt-in to certain types of communication through a subscription center.

Taking this idea a step further, integrating your Email Service Provider (ESP) with Salesforce opens up a world of options for managing subscription information for your contacts.  Each of these options comes equipped with their own sets of pros and cons that should be considered before moving forward.  Let’s break down each of the most commonly-implemented options to determine which would work best within your higher education institution or nonprofit organization.

Option 1: Standard Cloud for Good Accelerator Model

The simplest and most commonly recommended approach to this is to simply add checkbox fields to the Salesforce Contact object.  This works in most cases when you have 10 subscriptions or less.


  • Marketing Cloud AMPScript for your custom preference center is easier to write
  • All subscription/preference information can be viewed from the Contact record in Salesforce
  • Building Marketing Cloud suppression into filters and queries is easy since the data is on one object


  • More than 10 subscriptions/preferences can become cluttered (on the Sales Cloud layout)
  • May require record types in Salesforce if certain preference options need to be hidden from certain audiences
  • Adding new subscriptions requires adding more fields to the Contact object in Salesforce, and writing more AMPScript in the Marketing Cloud CloudPage


Option 2: Related Object Model

A slightly more robust approach would be to use a single custom object that is related to the Contact record.  This allows you to store preferences on a separate object, instead of displaying them directly on the Contact layout.


  • Keeps Salesforce Contact page layout cleaner
  • No need for Salesforce record types to hide unused preferences
  • Scales better than the standard model


  • Marketing Cloud CloudPage needs to be updated every time a new subscription is added
  • Code for CloudPage is more complex and requires more build time
  • May require XML or JSON to store subscription subscriptions in Marketing Cloud
  • Adding new subscriptions requires unconventional field naming in Salesforce and hard coding API names in the Marketing Cloud CloudPage


Option 3: Junction Object Model

This option involves adding two custom objects in your Salesforce instance. One acts as the master subscription record, where we store details about that subscription. The other acts as the individual Contact subscription record. Each Contact will have a record for each subscription they have, which is a lookup to the master subscription record.


  • New subscriptions/preferences can be added in Salesforce without having to modify any AMPScript in Marketing Cloud
  • Provides a master lookup object in Salesforce for subscriptions/preferences
  • Allows for more detailed storage of subscription records in Salesforce, such as Date Subscribed, Date Unsubscribed, and Subscribe Location without cluttering Contact Layout
  • Allows you to view subscriptions in Salesforce as a related list


  • Creates many more records in Salesforce, which increases storage needs
  • Build time is longer, as the AMPScript required is much more complex
  • Subscription Center page may load more slowly if AMPScript is not properly optimized

You’ll need to weigh each option carefully as it pertains to your business and choose the one that works best for you and those you communicate with. In some cases, the answer may be a completely custom solution that offers you and your constituents more flexibility. It may also be beneficial to partner with a Salesforce implementation partner who has experience working with both the Nonprofit or Education Cloud and your marketing automation system. Cloud for Good has experience implementing all of these subscription models, so we know how to navigate the waters.

Let us know how you are managing your subscription center in the comments below and make sure to check out one of our customer success stories where we built out a custom subscription center for the YMCA of Central Florida to manage their communication with over 18 locations across Flordia.

You may also enjoy:

Leave a Reply

Your email address will not be published. Required fields are marked *