mail2's Tessitura Contact Point Purpose Integration

Background Information

As you know, mail2 tracks opt-in / opt-out preferences for each individual email address that you store in the system. These opt-in / opt-out preferences are controlled by your mailing lists. An email address can be opted into or out of any combination of mailing lists.

You’re also aware that patrons in Tessitura can have multiple email addresses on their constituent records. One of the big benefits of having multiple email addresses is that a patron can then tailor their opt-in / opt-out email marketing preferences for each one of those e-addresses. For example, let’s say a given patron wants to have all the marketing related emails sent to a personal email address, but they want to have donor and volunteer information sent to a work email address. There’s lots of reasons why a patron would want to vary their email preferences between multiple email addresses.

Prior to Tessitura v12, there wasn’t a way for a patron to set different email marketing preferences on individual email addresses on their patron record. Interests, Attributes, and the Allow Email Marketing flag are all at the constituent record level so setting anything with those data elements gets applied to all email addresses on the account. It just wasn't possible to have different preferences for multiple email addresses.

Consequently, there was sort of a technical “mismatch” between what Tessitura provided for managing email marketing preferences and how mail2 tracks opt-ins / opt-out down at the e-address level. Managing that difference isn’t difficult, but it does require an awareness of how the two separate data models interact with one another.

With the introduction of Contact Point Purposes (CPPs) in Tessitura v12, all of that changed. CPPs now provide an easy way for organizations to customize email preferences for any and all email addresses on patron records. They also allow you to create an easy “1-to-1” match for managing email opt-in / opt-out preferences in mail2 that can be immediately and perpetually kept in sync - regardless of where those preference changes are made. In short, CPPs can be set up to align with your mail2 lists and makes the integration between the two platforms that much more seamless.

Setting Up The CPP Integration in Tessitura


Ensure You are on the most current version of mail2.

Have your Tessitura DBA reference this support article to update your integration to the current version: mail2 Install/Upgrade


Run the installation package to set up the integration for CPPs.

Consult this mail2 support article for detailed installation information and scripts here: Integrating mail2 with Tessitura v12 Contact Point Purposes.

It's important to note that the integration also includes a local procedure called LRP_M2_Update_Purposes. This procedure is set up to run as a scheduled job to periodically scoop up e-addresses and assign the appropriate CPPs for your mail2 lists.

Verify that you’re ready to move ahead.

Look in System Tables at LTR_M2_ELISTS. This table contains all of your mail2 lists that control the opt-in / opt out preferences for your patrons. You will find a column labeled “Contact Point Purpose” that has been added to this table. You will use this column later on to “map” your new CPPs to their respective mail2 lists.


Configure your new CPPs on the system table called TR_CONTACT_POINT_PURPOSE.

By creating a Contact Point Purpose for each of your mail2 lists and then assigning a CPP for each in the LTR_M2_ELISTS table, you will be making the “1-for-1” match between the two data elements. It’s important to note that only one CPP can be assigned to one mail2 list. Also, you will want to set the CPP Category column to “mail2 E-List.” This will serve as a record and reminder on what each of your new CPPs are used for. While it’s probably infrequent that you’ll create new lists in mail2, it’s important to remember that a new row is added to LTR_M2_ELISTS when you do so. If you ever need to map a newly created mail2 list to a new CPP, you’ll need to remember to do that mapping here in Tessitura.


Install the service interceptor.

The service interceptor is a Tessitura "plug in" that is responsible for updating the associated mail2 list subscriptions and all applicable local tables in Tessitura when a CPP is updated for a given e-address. This feature will also sync e-address changes back to the mail2 dashboard which further solidifies the integration between mail2 and Tessitura. Consult this mail2 support article for detailed installation information and scripts here: Tessitura Service Interceptors for mail2 Functions.


Test the integration with the following:

  1. Open up your patron record in Tessitura and adjust the CPPs for an e-address on the Contact Details tab.
  2. Go to the mail2 Custom Screen and see how the mail2 opt-in / opt-out preferences have changed accordingly for that same e-address.
  3. On the mail2 Custom Screen, adjust an opt-in / opt-out for Public or Private list. Jump back to the Contact Details tab to see that the updates occur in "near realtime."
  4. Go to your mail2 dashboard and search for the same email address. Make any opt-in / opt-out changes here will also update the CPPs in Tessitura.
  5. Click on a "Manage Email Preferences" link in an email you've received from mail2. This will take you to the mail2 subscription center specific to your email address. You'll see that when a patron "self-manages" their email preferences here, the CPPs get updated in Tessitura as well.

Benefits of Using the CPP Integration

Here's what we see as the key benefits for your organization when you choose to leverage this mail2 feature:

  • Allows Tessitura users to administer e-address opt in / opt outs with "native" Tessitura functionality. The more we can leverage Tessitura for mail2, the better the integration will be over the long term.
  • Near realtime reciprocal adjustments that keep e-address preferences in sync regardless of where the changes were made. Inside of Tessitura, in your mail2 dashboard, by the patron on mail2 subscription center - it's always the same!
  • When you can see firsthand the "1-for-1" relationship between data elements in two separate systems, it gives you confidence that you're managing your patrons' email preferences accurately and in accordance with email marketing regulations.
  • When you start using CPPs as criteria for creating List Manager Lists, it adds a level of clarity when importing your lists into mail2 for targeted email marketing purposes. If your List Manager List uses a CPP as criteria, you know for sure that all the email addresses are opted in to receive email marketing from your organization.
  • A Tessitura database administrator with SQL skills can write customized procedures that can be used to automate list updating processes between Tessitura and mail2. For example, some may organizations choose to create customized procedures that add new members or subscribers to a specific mailing list in mail2. This removes the need to periodically update a mail2 list by some other method.

Still need help? Contact Us Contact Us