How to add Control to Multiple Engagement Studio Programs – and Prioritise them like a Pro

Share this article...

Like any new relationship, you don’t want to scare a prospect off by sending too many messages within a short space of time. You may already know that you can build recency and frequency suppression rules in Pardot to prevent email sends and avoid ‘marketing fatigue’.

The Pardot Admin’s challenge comes when managing multiple Engagement Studio programs. As you may know, Engagement Programs run independently from one another. How can you control which communications prospects are receiving across many programs running at once?

In this post, I will show you how to prioritise which Engagement Studio flows should take priority over others. By leveraging dynamic lists, static lists, recipient lists, and suppression lists, you can effectively limit email sends beyond the simple suppression list.

If you have multiple Engagement Studio programs and need to control which communications prospects are receiving across many programs – then this post is for you!

Who’s in What Program?

The first thing you’ll realise is that you can’t set up a rule based on: <Prospect is in Program X>. A rule option like this would obviously be really useful in many cases, so I will now show you how to build our own. In fact, I do this for every Engagement Studio program (ES) I build, even if it’s the only program in an org.

I am going to walk through the method that uses tags in this post, but I want to let you know that you can do this with lists as well – there are pros and cons to both, depending on how you manage your account. You can follow along using the list method to by switching where I mention tags (eg. <Add tag: In Program A>) to lists (eg. <Add to list: In Program A>.

Here’s the groundwork you need to do:

  • The first action on any ES program should be: <Add tag: ‘in program x’>.
  • The last step before any endpoint (remember you could have more than 1) should be: <Remove tag: ‘in program x’>

Voila, you have an easy way to quickly filter which prospects are in which programs! A helpful additional step is to add another tag at the endpoint: [Add tag: ‘completed program x’]. Now you can easily filter on who has been through which journey too.

Which Program When?

When you need to limit the amount of communications a prospect is receiving, and there is a chance they could qualify to enter more than one ES, it’s therefore worth considering how you order your programs – the priority.

You have two main options when organising program priority:

  1. Define a priority order
  2. Always give priority to the first program a prospect is added to

If we have four programs (A, B, C, D) and Program D contains your most valuable assets targeting the most active prospects, while A is just a general warm-up program, we would have a priority order that looks like this:

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

This will become relevant when choosing which rules and lists to manage your programs.

Program Priority in Action: the Use Cases

Engagement Studio programs (ES) must start with a recipient list/s. Prospects must be part of the list/s at the start the ES in order to join the program.

So, how would we achieve the priority order above, by leveraging dynamic lists, static lists, recipient lists, and suppression lists?

Suppression lists are the simplest option for preventing Pardot from sending communications to certain prospects, but they might not work in every scenario. Here are different examples of how you could use different types of lists for Program B.

1. Using Suppression Lists

Use case: You want to filter out prospects who are currently in other programs, but automatically add them to the relevant program once they have finished the previous one.

Solution: You build a dynamic list to be used as a program suppression list with these rules (using ‘match all’):

If your prospect submits Form C whilst in Program B (and therefore meets the criteria for Program C’s recipient list), they will automatically be added to Program C when they have completed Program B (and the ‘in program B’ tag has been removed by the action in ES).

2. Using Dynamic Recipient Lists

Use case (A): A prospect will only ever be in one ES program at one time. You don’t mind if a prospects leave the program before they have completed it in order to join a new program based on other content they have requested.

This one is simple: manage it by using a custom field. Build a Dropdown field called ES Program with values: Program A, Program B, Program C, and Program D. This field will be updated by completion actions, for example, on a content download request form.

Each ES program will start with a Dynamic List. The dynamic list rules for each program would look like this:

You could get even more clever, and include an action within each program to update the custom field to another value (e.g. Program C). This would automatically add the prospect to the next program when they finish.

Use case (B): You have a Priority Program Order of D, C, B, A. If a prospect is in program A but then submits the form that would add them to program B, you want to automatically remove them from program A and add them to program B.

Program B recipient list would have these rules (match any):

And Program A’s recipient list would have these rules:

3. Using Static Recipient Lists

Use case: You have four different nurture tracks, each of equal importance. You don’t want your prospect to be added to another program while they are already in one. You also don’t want your prospects to be automatically added to another program when they finish this one if they have submitted another form.

By adding an ‘Add Tag’ completion action to each form, a tag relating to the relevant program (e.g. ‘content b’) will be added to the prospect. Then, build an automation rule for each program/tag with these rules (using match all):

The recipient list for your program is then ‘In Program B’.

As the prospect has been added to the list by the automation rule, there’s no need to add a list, or tag as the first step in this program. The last two steps on the Engagement Studio program (at each end step, if there are multiple) will be: Add to List: ‘Completed Program B’ and then finally Remove from List: ‘In Program B’. (‘Remove from List’ has to be last as it will remove prospects from the program).

There’s one more step though, to make sure your prospect isn’t automatically added to another program when program B finish


es if they fill out another content request in the meantime. We need one more automation rule that will serve all programs, removing a tag if a prospect is already in a program (each rule group using ‘match any’, but use ‘match all’ overall):


In this post, I’ve shown you how you can leverage dynamic lists, static lists, recipient lists, and suppression lists, to effectively limit and control email sends across multiple Engagement Studio programs – techniques beyond the simple suppression list.

Of course, these are not the only ways of managing multiple Engagement Studio programs, but hopefully they’ve sparked some ideas!

If you have other methods you use to manage these, please let us know in the comments!

Add Comment