Creating an Adaptable, Scalable Nurture Program Template in Marketo

Level 5 - Community Advisor Level 5 - Community Advisor
Level 5 - Community Advisor

Nurtures are a perfect way to engage with buyers who might not be ready to buy, to promote cross-sell and up-sell activities for your current customers, or to re-engage people who have previously purchased from you. Marketo’s engagement programs can provide great flexibility and complexity in your buyer engagement that a default or email program does not.

The more activities you take on in Marketo, the more important it becomes to consider how to scale your nurtures. Building a shell nurture or a nurture program template that users can easily clone and adjust for their nurtures is one way to cut out some of the repeatable tasks that comes with building your program.

In this blog we will be looking at several ways you can templatize within your engagement nurture to make it easier for you and your team to scale your nurture program execution.

After you finish reading, you will be equipped to take your shell engagement program from this:



To a highly adaptable, scalable program like this:


Smart Campaigns

Every nurture should come with several smart campaigns. Your usage of them might vary from instance to instance but common ones include:

  • Entry/Exit/Next Steps
  • Status Changes
  • Transition Rules
  • Alerts

Let’s dive into each one of these individually.


Entry Smart Campaigns

You can have several places outside of the engagement program that add leads to the nurture. However, I have found that a centralized approach works easier and is less complicated to manage for the following reasons:

  • Easier to set up initially – having one entrance smart campaign within your nurture allows you to easily set up just one smart campaign versus having to find every program within Marketo that you would want to use to add leads to the nurture.
  • Easier to modify – having a single entry campaign makes it easier to turn off or modify the campaign in the future as your use case changes.

To build an entry smart campaign as part of your shell nurture:

Consider what actions somebody has to take to qualify for your nurtures and create multiple smart campaigns with different smart lists that reflect that. When users clone the program shell, they’ll delete the Entry Smart Campaigns that don’t fit their particular nurture.

Here are a few examples:

  1. To build several nurtures that pull in leads who come in through the website and nurture them based on their product interest you would create a smart campaign in your shell program that includes a “Fills Out Form” trigger in the smart list and “Add to Engagement Program” flow step in the Flow tab, leaving the choices blank. These choices will be filled out later by a marketing user when the shell is cloned to create the actual functional nurture program.
    1. You could also add several flow steps to mark that person’s acquisition program, lead source (for SFDC), and person source detail. This will ultimately help your sales team know how this lead came in and what program helped get it to an MQL. Be sure to use choices to not overwrite anything previously written to these fields.



  1. Let’s take another example. Say you have topics A, B, and C that you are promoting on web, paid, and social and each one of the topics will need to have its own nurture. If you have the base entry smart campaign within your template nurture program as outlined above, you can clone the template nurture program three times and modify your entry smart campaign for each use case by editing the trigger for “Filled Out Form” with product-specific URLs and web pages. The flow should automatically map to the first stream in the current nurture.
  2. You can also take the same approach to the example above, but instead of creating multiple nurtures, just split topics A, B, and C within one engagement program. When you clone the template shell to create your new engagement program, you can create streams for all 3 topics and use the entry smart campaign to tell Marketo which lead to drop into which stream using choices in the Flow tab.

Consider these other ways you can trigger people to come into your engagement program.

  • When you have other smart campaigns and programs that might direct leads to your engagement program, you can use a “Campaign is Requested” trigger. You could then add a “Request Campaign” flow step to all the smart campaigns in external programs that may need to add leads to your nurtures.
  • When somebody’s event program status changes to “Attended” is a good way to identify and nurture leads who have been to events

Exit Smart Campaigns

Exit smart campaigns pull people out of the nurture when the time is right by pausing them in the engagement program. Some use cases to use exit smart campaigns include:

  • A lead becomes unsubscribed – even though they will not get any emails (thanks to Marketo’s OOB safety net of blocking unsubscribed people), this allows them to resume where they left off in the nurture if they ever subscribe again
  • A lead reaches a particular goal you had for your nurture – if your nurture is aimed at getting leads to an MQL stage, then you might want to pull them out when they reached that stage.
  • A lead gets associated with an opportunity

To set up a template for your exit smart campaign:

  1. Consider the actions that a lead might take to be pulled out of a nurture and build those out in the campaign’s smart list. For example, my top of the funnel nurture will pull leads out when they fall out of the “Emailable” smart list (or segmentation), or qualify for the middle of the funnel nurture, or become associated to an opportunity within SFDC, or are disqualified. Pay attention to the filter logic here.



  1. In the flow, change the lead’s Cadence to Paused and their Program Status to Paused.


Doing this will also help you report on how many people have exited the nurture without fully completing it and help tell the story of what they did afterwards.


Next Steps (for Exhausted Members)

A next steps smart campaign is good for determining what to do with your leads once they have exhausted the content in one nurture. The use case will differ from company to company, depending on your strategy and available nurtures/programs.

  1. In the smart list section, add a trigger for “Email is Delivered”, this will later be replaced with the last email in the nurture. Then add two filters, one to make sure you are pulling in leads who have exhausted all the content in the current nurture and another to ensure the person who qualifies for this smart campaign is still open to receive communications.


  1. The flow will vary widely depending on your use case. You can put steps in there to add people to another engagement program, a default or email program, or request a campaign. In the screenshot below, I will record an interesting moment then send the lead to my “colder” leads engagement program for additional nurturing.



Sales Insights

If you have Marketo Sales Insights included in your subscription and want your sales team to be able to add leads to a nurture through SFDC, I would recommend to also include a smart campaign for Sales Insights in your nurture template.

  1. To set this up, simply add a trigger for “Campaign is Requested” to your campaign’s smart list and for your source select “Sales Insight”. Add two additional filters to ensure the lead is emailable and that they are not already part of the nurture.


  1. Set up the flow the same way you set up the Entry smart campaign:



Once this step is complete, you will have three (or four) smart campaigns that manage the entrance, exit, and next steps of leads within your nurture. Once the template is cloned, marketing users can modify the engagement program quickly to accommodate for that nurture’s particular use case.



Status Changes

Smart campaigns that manage status changes change a lead’s engagement program status in response to their behavior and should always be templatized to maintain consistency within your instance.

Typically, you will want smart campaigns to track email delivered, email opened, filled out form, and unsubscribed. However, this can also vary depending on your use case and instance.

  1. You will want to add your activity-based trigger in the smart list section. If you have a template email in your nurture, you should point it to that email. If you don’t, you can leave it blank.


  1. For the flow, you will want to simply add “Change Program Status” flow step. Point the “Program” field to your current template nurture and for “New Status” put the equivalent of the action the person had to take to qualify for the smart campaign.
  2. By adding a “Send Alert” flow step into the status change smart campaign you can notify the sales owner that a lead they own has taken an action that can be followed up on.


Repeat the process for all the status changes that you want to track. In this example, I am tracking 4 different statuses so my tree would look like this when I am complete:



Now anytime you create a nurture, you can simply fill in the emails that the smart list should be triggered off of and activate the smart campaign. No need to fully build out and setup multiple smart campaigns.


Transition rules

When it comes to transition rules, you have two options. The standard way to build transition rules are within the Stream setup tab in your engagement program. However, a lot of people prefer to have the transition rules live within a smart campaign. There are several benefits to your rules being within smart campaigns:

  • It’s easier to change the rules
  • It’s easier to identify who has transitioned to what stream
  • You have more functionality in reporting because your “transitioned” leads are part of a smart campaign and can be identified via the “member of smart campaign” filter

To set up transition rules using smart campaigns within your template program:

  1. You will need to create a couple empty streams. Think about how many streams you will typically have within a nurture. If you do not have specific number, I recommend you start with three. This will give you the framework to easily build out more streams if they are needed or you can easily delete the one or two extra streams if they are not needed.


  1. Once you have your shell streams, create a folder for the Transition Rule smart campaigns to live, and then you can begin creating the smart campaigns. Consider what actions somebody has to take to transition from one stream to another. A simple nurture will transition somebody between streams after they have finished all the content in their current stream. However, you can also use action triggers to transition somebody when they download an asset from their current stream, reach a certain score threshold, etc.

For this example below, I will go over the simple rule: when somebody finishes all the content in their current stream, they will transition to the next stream in line.

  1. For the Smart List tab, you will want to include a trigger for “Email is Delivered” and two filters, one for Member of Engagement Program and one to ensure the lead being transitioned is still mailable (call me paranoid but this is a must have for me). For the trigger, write in instructions for the person who will be building the nurture to replace the placeholder text with the last email in Stream 1. For member of engagement program filter, you will want to make sure the lead in question is still actually in the relevant stream. This is mostly a precaution. Your smart list tab should look something like this when complete:


  1. For the Flow tab, add the flow step “Change Engagement Program Stream” and set the New Stream dropdown to point at Stream 2.


  1. Next clone this smart campaign to make a new one for the transition to stream 3. You will keep all the same triggers, filters, and flow steps. You will simply change the emails and streams that you are calling out.



Now, whenever somebody clones your shell program, they can easily change these transition rules to trigger off a different type of activity, add more streams and transition rules, or keep the current set up and just add the final email of each stream to the smart campaign’s smart list tab.


Tokens and Emails

We have already simplified a lot of the things that go into creating a nurture. One thing we haven’t talked about yet is creating a shell email using tokens. Using tokens within an email can help to build emails faster as well as stay consistent when multiple users are building out emails.

Now there are a lot of resources already available on using tokens to simplify email creation within the Marketo Community and Marketo Product Docs so I will keep it brief.

First, think about what parts of the email you can make a token. Below are things I commonly see tokenized for emails:

  • Subject Line
  • Banner images
  • CTA and URL
  • Header and body content
  • from, from email, and reply to

For my example, I will tokenize the whole email but your use case might be different.

  1. To begin, start by creating the tokens you want in the My Tokens tab within the engagement program itself.


Email1_BodyCopy and Persistent_CallOut tokens are Rich Text. All of the other tokens are Plain Text tokens.

  1. Now, you can create an email and start adding the tokens. Here is how my email will look using all the tokens I created above:


Not very attractive, I know. However, the magic happens when I preview/send the email. Once the tokens populate, the recipient will see this:



The same can be done with the Subject Line, From Name, and From Email:


  1. You can repeat this process several times if you want the shell program to have multiple emails already setup and ready for cloning.

Right around here, I recommend dropping the email(s) into the first stream and adding it into any applicable smart campaigns (such as those set up for status changes).



We are almost done! The last step is to setup some reports for your shell program.

The 3 reports I recommend to include in every engagement program are:

  • Engagement Program Performance
  • Email Performance
  • Email Link Performance

Depending on what kind of nurtures you will be creating and your KPIs, you might want to add more or less. It is completely up to you.

You might also want to create several versions of the same report. For example, I typically have 3 versions of the Email Performance report:

  • one looking at Last 7 Days
  • one looking at Last 30 Days
  • one looking at All Time

This way you will have multiple reports that are cloned from your shell program and you can easily switch between the reports to look at performance across different periods.

Once you create the reports you want, complete the setup tab. Add any filtering logic you might want in the Smart List tab of the report, if applicable.

At the end your tree will look similar to this:


Now that’s an engagement program I want to clone! Everything I talked about can be adapted to a multitude of use cases.