Probably a dumb question... We have a number of engagement programs running simultaneously that are targeted at different business verticals or solutions we offer. Pretty standard. Occasionally, an email that was used in one stream might be applicable to another. For example:
If there are leads that are members of both programs, will they still get the same email again when it comes up in Program B's stream? Or is Marketo smart enough to know that they've already received that content?
And if Marketo isn't smart enough to know, are there any tips & tricks that might help us out?
Definitely not a dumb question! This is something that always hurts my brain a little bit.
First things first: I'd use programs instead of the same email over and over if you're using in different programs. This impacts your reporting on that email in (esp in RCE). So, do that.
Second: If you're using the same email and they're moving from program to program, I'd differentiate by streams. IE-- If was member of this engagement program, then add to this stream vs. if not member then this stream.
To answer your question in short: I don't believe Marketo can differentiate because they're not in the same engagement program. If you want to hedge this, I'd recommend streams within one program, or my suggestion above.
Agree with Kristen, Marketo doesn't know.
Not sure if this is what you mean, but you want to specifically have someone receive in Stream A receive Email 1, but if they are also a member of Stream B, do not show them Email 1, Correct?
If so, might have to set up a program that asks whether Prospect in Stream B is also a Member of Stream A, and did they open Stream A, Email 1? If so, then skip Email 1, and send Email 2. (Because they may have been sent the email, but not opened it.) You would need to have programs like that in both engagement streams to cross-check. It's the hack-and-slash method. There's probably an easier way. (Or potential flaws with my logic.)
Hope that helps.
My understanding is if you don't clone the email into the individual streams but just pull it in from one master program, Marketo does know that someone received that email and will skip them.
This doesn't address the issue where you include an invite to an event and want to exclude registrants or you're emailing a piece of content and want to exclude anyone who has already consumed it. Jeff Coveney set up our engagement streams and used programs instead of emails to set "exclusion" progression statuses for people who had already consumed the content. For example, each email has a program with 3 smart campaigns.
1. Backfill people who consumed the content and mark them as "Exclusion Status"
2. Trigger campaign to add new leads to the Exclusion Status
3. Send email via engagement
When you drag in the #3 smart campaign into the engagement stream and activate it, anyone who already consumed the content won't get it. This is a bit more complicated, but it works well for what we need.
Engagement programs work off of email Asset ID's. If a lead has ever gotten a particular email asset (based off of the Asset ID), then the Engagement program will not send that same email again and skips to the next piece of content. When you clone an email, it is creating a new email asset with a new asset ID, so there is no way for Marketo to know that it's the same content as previously sent. Marketo has no way to evaluate content, (system resources to do that sort of thing would just be way to heavy), so it relies on the email Asset ID. However, if the lead has ever received that email from anywhere in Marketo ever before, no matter how it was sent, the Engagement program will not send it again. This is only true of Engagement program sends--smart campaigns will just do what they're told without evaluating the lead's activity log.