Who’s in Which Engagement Studio? Prioritize Multiple Active Programs

By Lucy Mazalon

Just like with any new relationship, you don’t want to scare off prospects by sending too many messages within a short space of time. Here’s where the Marketing Admin faces a challenge – when multiple Engagement Studio programs are active, how can you control which program the prospect is on? 

As you may know, each Engagement Studio program runs independently, the programs don’t ‘talk’ to each other to determine a priority order. For example, if a prospect is eligible for both program A and B, and program A should take priority over program B, both communications will still be sent even if it isn’t necessary.

If you need to restrict which communications prospects are receiving across programs then this guide is for you! You’ll learn a trick to prioritize programs by leveraging Account Engagement (Pardot) tags or different types of lists…

Who’s in Which Engagement Studio Program?

The first thing you’ll realize is that you can’t set up a rule based on <Prospect is in Program X>. A rule option like this would obviously be beneficial in these cases!

You may already know that you can create recency and frequency suppression rules to help avoid ‘marketing fatigue’. However, for controlling Engagement Studio membership, you need to go beyond a simple suppression list.

READ MORE: Recency and Frequency: Avoid Email Fatigue With Account Engagement (Pardot)

In the absence of a rule like , you will need to build your own. In fact, you can set this up even when there’s only one Engagement Studio program in your account, to future-proof yourself once you start activating more programs.

A note on the solution: The tutorial covered in this guide uses tags but you can leverage lists as an alternative. There are pros and cons to both, depending on how you manage your account. You can follow along using the list method by switching where tags are mentioned with lists, e.g. would be the equivalent of <Add to list: In Program A>.

Step 1: The Groundwork 

  • The first action on any Engagement Studio program should be: <Add tag: ‘in program [name of program]’>.
  • The last action before any endpoint should be: <Remove tag: ‘in program [name of program]’>  (remember you could have more than one endpoint!).
  • Optional: Add another tag at the endpoints: <Add tag: ‘completed program  [name of program]’>. 

By doing this, you now have an easy way to filter which prospects are in which program/s (the optional step will enable you to filter which prospects have been through which program). 

Step 2: Decide on the Priority Order

A prospect could be eligible for more than one program, so when looking to limit a prospect to one program at a time, you need to define a priority order.

There are two approaches to this:

  • Define a set priority order, e.g. program A should be prioritized over program B. 
  • Give priority to the first program a prospect is added to. 

Let’s say we have four programs (A, B, C, D), and it’s actually program D that’s key to the customer journey, C and B send valuable assets, while A is a generic nurturing program. The priority order would be as follows:

  1. Program D
  2. Program C
  3. Program B
  4. Program A

Step 3: Set Up Lists and Rules

Now we have the priority order, we can set up the rules and lists to manage multiple programs.

Engagement Studio programs must start with a recipient list/s. Prospects must be a member of this list/s in order to join the program.

So, how would we implement the priority order above using suppression lists, dynamic lists, or static lists? This section outlines each of these options. 

Option 1: Suppression Lists

Suppression lists are the simplest option to prevent Account Engagement (Pardot) from sending communications to certain prospects – however, they may not work well for every scenario.

  • Use case: For program B, you want to filter out prospects who are currently in other programs (e.g. A, C, D). Plus, you would like the prospect to be automatically added to another program that’s more relevant, based on their activity (e.g. if they indicate interest that warrants them joining program C).

Build a dynamic list to be used as a suppression list with these rules (using “match any”):

The rules above mean that any prospects who are not in program A, C, or D, will enter program C.

Say that if prospects submit a specific form, they should be added to program C (i.e. the prospect is added to the program C starting recipient list). 

In this model, the prospect would enter program C, therefore would go through the step <Add tag: ‘in program [C]’>. Once that tag is applied, they would drop out of program B (as they are now on the suppression list). 

Option 2: Dynamic Recipient Lists

Dynamic lists are a great way to automate prospect Engagement Studio program membership.

  • Use case: A prospect should only be in one Engagement Studio program at any one time. However, it doesn’t matter to you if a prospect leaves the current program in order to join a new program, based on their activity/data match to another Engagement Studio program.

You can manage this by using a custom prospect field:

  1. Create a custom dropdown field “Engagement Studio Program” (or similar) with the values: [name of program A], [name of program B], [name of program C], [name of program D]. 
  2. This field will be updated by completion actions, e.g. upon content download, change the field value to that of the Engagement Studio program.

Each Engagement Studio program will start with a dynamic list. The dynamic list rules for each program would look something like this:

To take this further, you could include an action within each program to update the custom field to another program value (e.g. program C). This would then automatically add the prospect to the next program when they finish.

  • Use case: You want the priority order of programs to be: D, C, B, A. If a prospect is in program A, and then makes a key activity for program B, as a result, this should take the prospect out of program A and move them into program B. Remember here that program D and C take priority over B or A.

When the prospect is moved to program B, you want them to automatically be removed from program A (and, of course, added to program B, as long as they’ve made that key activity, which in this case, is submitting a form).

Program B’s recipient list would have these rules (“match any”):

And Program A’s recipient list would have these rules (“match any”):

Option 3: Static Recipient Lists

This option gives you the most control, but requires that you have full visibility over the Engagement Studio programs in your account. Completion actions are not easy to audit, yet they are key to how this solution functions.

  • Use case: You have four Engagement Studio programs serving as nurture campaigns. Each of these four programs are equally important, therefore:
    • You don’t want prospects to be added to another program while they are part of one already. 
    • You don’t want prospects to be automatically added to another program, even when they complete the current program.

One ‘easy’ step is to apply a completion action to one of the forms that signal engagement – whether that could be prospects arriving inbound, or prospects that need to be processed differently.

Let’s take a form submission as an example input; of course there are multiple criteria that would otherwise determine one’s ‘customer journey’.

Add Tag (i.e. form completion = add to list = add to Engagement Studio program).

Then, create an automation rule to:

a) Check that the prospect is not already part of marketing programs (i.e. program A/B/C/D).

b) Check that the tag for the content/form/etc. Related to program B is present.

The rule above is describing the criteria for which to enter program B/remove the placeholder tag. The actions required for this are as follows:

a) Add the prospect to the program they expressed explicit interest in, e.g. <Add prospect to list – In Program B>.

b) Remove the tag that indicated their interest in the content/form/etc. This is because there are a range of ways that could have applied the tag and, now that the prospect is a member of a static list, that specific tag is redundant.

In this example, the prospect has been added to the program B list via the automation rule. Then, the exit steps on the Engagement Studio program will be: Add to List: ‘Completed Program B’.

Finally, there should be an automation to remove the prospect from the list: ‘In Program B’. (Note: The ‘Remove from List’ action must be last, because it will remove prospects from the program immediately).

To ensure that prospects aren’t automatically added to another program when your preferred program finishes. Another automation rule serves all programs by removing the tag if a prospect is already in a program (each rule group using “match any”, but use “match all” overall):


Managing multiple active Engagement Studio programs is a challenge marketing admins face. How can you control which program a prospect is in? In Account Engagement (Pardot) we’ve uncovered tricks to prioritize programs by leveraging tags or different types of lists. 

There are steps involved in setting this up – but, it’s worth it to be able to define a program priority order to ensure prospects are not overwhelmed with too many messages. 

Do the examples provided fit your use cases? We’d love to hear from you, especially how you could have implemented something similar. 

The Author

Lucy Mazalon

Lucy is the Operations Director at Salesforce Ben. She is an 10x certified Marketing Champion and founder of The DRIP.

Leave a Reply

24th - 27th November


50% off

all courses