Not quite sure what the difference between a Marketo executable campaign and a Marketo request campaign is and when you should use one over the other? Then you’ve come to the right place. This post will explain the difference, give examples of when each should be used, and also clear up the enigmatic “Use Parent Campaign Token Context” option.
Simply put, the difference between Marketo executable and request campaigns is that executable campaigns are executed sequentially while request campaigns are executed in parallel.
When 2 Marketo executable campaigns are placed one after another in a smart campaign flow, the first executable campaign will execute all its flow steps BEFORE the second executable campaign executes the first of its flow steps.
When 2 Marketo request campaigns are placed one after another, the first request campaign is requested, and then straight afterward the second request campaign is requested and both will carry out their flow steps simultaneously.
So when should you use one over the other?
- 1 Marketo Executable Campaign Walkthrough Video
- 2 Marketo Executable Vs Request Campaign Summary
- 3 When to Use Marketo Request Campaigns
- 4 When to Use Marketo Executable Campaigns
- 5 Use Parent Campaign Token Context Explained
- 6 Creating/Cloning Marketo Executable & Request Campaigns via API
- 7 What’s After Marketo Executable & Request Campaigns?
- 8 Marketo Executable & Request Campaign FAQs
- 8.1 What is an executable campaign in Marketo?
- 8.2 What is a request campaign in Marketo?
- 8.3 What is the difference between executable and request campaigns?
- 8.4 Can webhooks be used in an executable campaign?
- 8.5 Can wait steps be used in an executable campaign?
- 8.6 Can the Smart List of an executable campaign be empty?
- 8.7 Can anonymous leads qualify for executable and request campaigns?
- 8.8 Can I change an existing campaign to an executable campaign?
- 8.9 Can an executable campaign be called across workspaces?
- 8.10 How many executable campaigns can be daisy-chained together?
- 8.11 What happens if I use a “Remove from Flow” action within an executable campaign?
- 8.12 Can I execute an executable campaign via API?
Marketo Executable Campaign Walkthrough Video
Marketo Executable Vs Request Campaign Summary
Marketo executable & request campaigns are campaigns that can be called from the flow of other smart campaigns i.e. parent campaigns, to carry out a series of actions. Sharing an executable or request campaign between multiple parent campaigns makes maintenance easier because the shared actions in the executable/request campaign can be changed in one place.
Whereas if an executable/request campaign was not used and the same flow actions were placed across all the parent campaigns then if a change needs to be made to the shared actions the change would have to be repeated across all the parent campaigns.
Executable | Request | |
---|---|---|
Executed in | Series | Parallel |
Call Webhooks | No | Yes |
Use Delays | No | Yes |
Remove from Flow | Removed from child & parent(s) | Only removed from child |
Called via API | No | Yes |
When to Use Marketo Request Campaigns
Marketo request campaigns are suited to when you have flows that can execute in parallel and do not depend on one another. For example, when someone is created you can set up 3 Marketo request campaigns:
- One request campaign to set their attribution fields
- Then right away request a second campaign to set the person’s subscription
- Then right away request a third campaign to score them according to their demographic and firmographic field values
Since the subscription, attribution, and scoring flows do not depend on one another this is a good chance to use Marketo request campaigns because all these flows will complete quicker in parallel than if they were executed sequentially using executable campaigns.
When to Use Marketo Executable Campaigns
You should use Marketo executable campaigns when you have flows that depend on one another and each previous flow must be fully executed before the next flow can begin. For example, if we want to decide whether to “Marketing Qualify” or MQL someone then we can set up 3 Marketo executable campaigns to run one after another:
- The first executable campaign will score their quality across their demographic and firmographic field values
- Next, the second executable campaign will score all their behavior over the past few days
- Finally, the third executable campaign will look at their quality score and their behavior score and decide whether the person should become a Marketing Qualified Lead (MQL)
In this example, since we need to ensure that both the quality scoring and behavior scoring flows have been executed before we execute the MQL campaign, this is the perfect chance to use Marketo executable campaigns.
Use Parent Campaign Token Context Explained
The best way to understand the difference between selecting “True” or “False” for the “Use Parent Campaign Token Context” is to watch the video at the top of this post where I show what happens when a campaign is executed with this value as “True” versus “False”.
If “Use Parent Campaign Token Context” is set to “True” then all the tokens below will be taken from the program containing the parent campaign or the parent campaign itself:
- My Tokens
- Campaign Tokens
- Program Tokens
- Member Tokens
- Trigger Tokens (if the parent campaign was triggered)
Otherwise, if “Use Parent Campaign Token Context” is set to “False” then all these token values will be taken from the program containing the executable campaign or they will be taken from the executable campaign itself (in which case using trigger tokens will be useless because the executable campaign has no trigger).
If there does not happen to be a token value present in the executable campaign and “Use Parent Campaign Token Context” is set to “False” then the executable campaign will fall back to using the token value from the parent campaign or the program containing the parent campaign.
When to Use Parent Campaign Token Context
An example of where you would want to set “Use Parent Campaign Token Context” to “True” is if you have 3 contact sales form fill campaigns each in their own program that all request the same executable campaign to MQL a person and populate the applicable MQL fields:
- Contact Sales – Enterprise
- Contact Sales – SMB
- Contact Sales – Startup
In the executable campaign, we want to provide the sales team context on why this person is MQLing through “MQL Source” fields. Therefore, we can set these “MQL Source” fields equal to the {{campaign.name}}
or the {{program name}}
token and since “Use Parent Campaign Token Context” is set to “True” these values will be populated from the programs containing the contact sales campaigns or the contact sales campaigns themselves.
When Not to Use Parent Campaign Token Context
A centralized attribution model where a parent campaign executes a number of executable campaigns for different ad campaigns is a great example of where “Use Parent Campaign Token Context” should be set to “False”.
Since each of the executable attribution campaigns uses “My Tokens” from the program that contains them to populate attribution fields we DO NOT want to override these “My Token” values with those from the parent campaign.
Parent Campaign Token Context Override via API
The Marketo API allows you to either schedule or request a smart campaign. In both of these requests, you can pass values for “My Tokens” that will be used instead of the values that are set in the program containing the smart campaign. Similarly, if this scheduled or requested smart campaign then executes an executable campaign with “Use Parent Campaign Token Context” set to “True”, the executable campaign will use the “My Token” values passed from the API.
Creating/Cloning Marketo Executable & Request Campaigns via API
When you need to create/clone Marketo executable and request campaigns in bulk or automatically upon some event you can make an API request to the create smart campaign endpoint or the clone smart campaign endpoint in your code or automation tool.
In fact, if you would like an introduction to creating and cloning campaigns using the API (as well as how to make requests for programs, folders, and tokens) then check out Lesson 3 in the Marketo API Crash Course.
Once you have completed Lesson 3 you will then be ready to go deep and take a look at the Marketo Program Cloning Via API post which shows you how to use the API to clone programs, clone campaigns, and activate/schedule campaigns automatically using Zapier.
Now back to creating and cloning Marketo request campaigns. This is pretty straightforward. Once the original smart campaign has the “Campaign is Requested” trigger then you can simply make the API requests linked above to create or clone the program.
The gotcha is for executable campaigns!
When creating or cloning Marketo executable campaigns you need to include the “isExecutable” parameter in the body of the request and set this value to “True”. If you do not set this parameter then the created or cloned campaign will not be executable, it will simply be a batch campaign.
N.B. Whether you are cloning a campaign manually or with the API, cloning a trigger campaign to make it executable will not work. You will have to remove the trigger from the campaign being cloned, essentially creating a batch campaign, or you will have to create a new campaign (making sure to select the “Executable” checkbox) with the same filters in the smart list and the same flow steps.
What’s After Marketo Executable & Request Campaigns?
The best way to learn is through examples and seeing a concept used in real-world examples. I have two posts planned that will show how executable campaigns can be used in the real world:
- Creating a centralized attribution model
- “ICP Matching” and “Demo & Firmo Grading” examples in the Marketo Lead Scoring Bible
In the meantime, why don’t you take a look at Lesson 3 of the Marketo API Crash Course, which focuses on interacting with smart campaigns, programs, folders, and tokens using the API 🙂
Marketo Executable & Request Campaign FAQs
What is an executable campaign in Marketo?
Marketo executable campaigns are campaigns that can be called from the flow of other smart campaigns i.e. parent campaigns, to carry out a series of actions. All of the actions in the executable campaign will be completed first before returning to the flow of the parent campaign for any remaining actions to be carried out.
What is a request campaign in Marketo?
Marketo request campaigns are campaigns that can be called from the flow of other smart campaigns i.e. parent campaigns, to carry out a series of actions. The series of actions in the request campaign will be carried out at the same time as the actions in the flow of the parent campaign i.e. they will be carried out in parallel.
What is the difference between executable and request campaigns?
The difference between executable and request campaigns in Marketo is that executable campaigns are executed sequentially, each action in the campaign will be completed before returning to the parent flow, while request campaigns are executed in parallel along with the actions in the parent flow.
Request campaigns are suited to when you have flows that can execute in parallel and do not depend on one another whereas executable campaigns should be used when you have flows that depend on one another and each previous flow must be fully executed before the next flow can begin.
Can webhooks be used in an executable campaign?
You cannot use webhooks in the flow of an executable campaign. If you need to request a webhook then you can put this webhook in a requestable campaign and then request that campaign from the executable campaign. See the Marketo Webhook Guide with Examples post for an example of how to do this.
Can wait steps be used in an executable campaign?
You cannot use wait steps in the flow of an executable campaign. This makes sense since you should only be requesting the executable campaign when its actions are ready to be completed. If you need to delay for some reason then you can put this wait step in the flow of the parent campaign that is requesting the executable campaign.
Can the Smart List of an executable campaign be empty?
The smart list of an executable campaign can indeed be empty, however, you can add filters to the smart list to limit the people who can qualify for the campaign once it has been requested. As shown in the image below, clicking into the “Execute Campaign” activity in a person’s activity log will show whether they qualified for the executable campaign or not.
Can anonymous leads qualify for executable and request campaigns?
I can confirm from my testing that anonymous leads who become known cannot trigger request or executable campaign flow steps in campaigns they qualified for while anonymous.
Can I change an existing campaign to an executable campaign?
Unfortunately, once a campaign has been created there is no way to convert it to an executable campaign. This is why it is important when creating a campaign from scratch or cloning an existing campaign that you make sure you check the “Executable” checkbox.
This question only applies to batch campaigns since campaigns with a trigger cannot be turned into executable campaigns anyway, you would have to remove the trigger first and convert the campaign to a batch campaign.
Can an executable campaign be called across workspaces?
Executable campaigns cannot be called across workspaces.
How many executable campaigns can be daisy-chained together?
You can daisy-chain executable campaigns 3 layers deep e.g. Parent campaign > Executable 1 > Executable 2 > Executable 3.
What happens if I use a “Remove from Flow” action within an executable campaign?
When you use a “Remove from Flow” action within an executable campaign the person will be removed from the flow of the executable campaign AND the flows of any parent campaigns that called this executable campaign.
If this is problematic then you can:
- Configure a ‘request campaign’ chain rather than an ‘execute campaign’ chain so that “Remove from Flow” steps do not impact other campaigns
- Reconfigure the chain of campaigns so that all necessary flow actions happen before any “Remove from Flow” steps occur.
Can I execute an executable campaign via API?
No. While it is possible to request a request campaign or to schedule a batch campaign using the Marketo API, currently, there is no way to execute an executable campaign via API.
Instead, you should clone the executable campaign, leaving the “Executable” checkbox unchecked, and add a “Campaign is Requested” trigger to the smart list with “Web Service API” as the source. Then you can request this request campaign using the API.