It appears that they will have to wait. See Josh's answer here: Program in an Engagement Campaign Does the Eng Prog Skip if the lead doesn't meet the SC rules
Dan Stevens. you're right, if they don't qualify for that program, they will have to wait for the next cast.
For example if Program A limits to only US based leads, and your lead is from elsewhere they wouldn't receive an email that cast and would move onto the next program B the following week (if that's the cadence) in the stream. Sometimes that works well for us simply having them skip a cast, but at other times we'll create multiple email versions so that everyone within the engagement program will receive an email that cast.
Hope that helps!
It appears I am now wrong.
Add a Program to an Engagement Program Stream - Marketo Docs - Product Docs
If the engagement program calls a smart campaign within a program, people who don't meet the smart list criteria won't receive the email. They also won't move on to the next program in the current cast or in subsequent casts. Essentially they'll be stuck in an infinite loop, where they never qualify. You may want to use choices on flow steps to filter people out instead of adding these criteria to smart lists when you nest programs inside of an engagement program.
This is actually surprising that the lead wouldn't be allowed to skip to the next Cast Position if it did not quality for the Program's Smart Campaign. Greg's idea should help here.
I have existing flows that may or may not be involved in this and I'm not even sure how to figure that out.
Wow - good find, Josh. Is this new behavior or has it always worked like this? That's one of the benefits of using programs in EPs - to skip an email within a program if the lead has already downloaded the content on our website/LP. So now it sounds like you shouldn't even use smart lists in nested programs - which makes no sense. We have a lot of fixing up to do in our nested EPs.
Yeah, I was researching this because we wanted to branch out some leads. I am unsure if there was a change after 2014 or if it always worked like this, but no one really knew. Greg has threads and ideas on this situation, so it may have come to light.
I am checking smart lists now and I see there may be a drop off from Active Leads in Stream vs. # Sent and qualified within the Program.
Marketo Support confirmed this.
I went to the Marketo Docs (adding a program to an engagement program stream), and I think documentation is either wrong, or outdated.
Here's what it says midway down the page under the green tip box:
"What happens to people who don't meet the smart list criteria?
If the engagement program calls a smart campaign within a program, people who do not meet the smart list criteria will not qualify for the smart campaign. They will move on to the next piece of content in the stream for the current cast."
From what I just observed in our nested program, a person who does not meet the smart list conditions DOES NOT move on to the next piece of content in the current cast. This was quite a surprise. All along, I've been under the impression they would skip to next nested program in the current cast.
Based on experience of others, like myself, they have to wait for the next cast to qualify for content. Here's another active thread where this is being discussed: When a person does not qualify for an Engagement Program cast, let them skip this one and qualify for the next email instead of waiting for the next cast in the stream cadence
So they will NOT get that Cast and will continue to next Cast.
Now if you just use emails in the Stream and they already received that email in another program, they will still get that Engagement email because Marketo doesn't understand they already got it outside of the Engagement.