We are in the process of building our first engagement engine and need to exclude people from the cast who have already received the asset before entering the engine. I've been looking around and have found a solution using each asset in a program in the engagement engine Omit leads based on logic in Engagement Streams. Is the the still the best option? I'm happy to build the logic but concerned that it seems to mess with the engagement statistics. Have Marketo come up with a solution to this problem yet?
Any advice would be much appreciated.
Yes the way to do this is to nest programs in the stream instead of emails.Then if someone is a member of the nested program they will be skipped. The link you referred to goes into that in detail.
Besides the artilce you refereed to, you'll also want to check out the newly updated Marketo Program Library. This has been updated with a list of best practice program templates. If you download the program template called "BP-ENG-Advanced Drip Nurture" you'll have a really good reference for a nested Engagement you can import into your instance. It will import one Engagement program and three child Default programs. (Don't import the Default program individually.)
The child Default programs use a status of "Skip" (other examples out there use "Exclusion") which lets you add people to the program which lets them be skipped in the Engagement stream when they cast hits.
Add a Program to an Engagement Program Stream - Marketo Docs - Product Docs
Engagement Programs with Nested Programs: When do you really get that email?
Just be aware of a glitch that occurs if you're testing program membership of a program outside of the Engagement Program. In that case, the lead will be stuck in an endless loop and never proceed to the next cast. For example, let's say you have a Marketo program in your EP that is promoting a specific piece of content using an email. You also have a completely separate program (CONTENT PROGRAM) elsewhere in your instance that is used to track engagement/success of that content (content download). If you include a filter in the smart campaign of the program in your EP to exclude leads that are members of the CONTENT PROGRAM from receiving the email that's promoting this content, your leads will get stuck in this loop.
More information here: If a lead doesn't qualify for an Engagement Program cast, does it proceed to the next email?
Are you saying don't reference a smart list or membership of an external program in the filter, only use their program membership of the program within the nurture engine with status skip/exclude?
That's correct. You need to be very careful with any filters used, especially if they are used to disqualify a lead from receiving a specific email. Because of this, they may never move on to the next email of the next cast.
Thanks for your help. We're looking at having a static list per asset and then add people into the lists based on their downloads. We will then use an add to program trigger as they are added to the list. Our concern is degrading the marketo performance with all the triggers.
Using this approach to get leads added to an overall EP is fine. We do something similar when we identify known leads engaging with relevant content on our site. We use "area of interest" codes and country values for this (since we have 23 country workspaces where the regional EPs are built). We have an "Add to Engagement Program" trigger that's part of every EP:
Hi Dan, thanks for your help previously with this solution.
We have implemented it and it seems to be working ok. We would now like to add new trade show or webinar invitations to the streams. Have you tried this with your set up? I am not sure where we would add them in to the stream and how it would work.
Any advise would be gratefully received.
Hi Michelle - this is a great way to mix up the content emails with promotion of date-based events. You can either use an existing event program - or build a new one - and simply drag the smart campaign (that sends out the invitations) into the stream. The program does not need to be nested within the EP - you can use any program that the EP has access to. Be sure to also configure the "Edit Availability" dates so that the invitations aren't sent out after the event dates. When the events are over, don't remove the items from the stream. If you do, they will not be included in some of your reporting.
HI Dan, thanks for your reply. I've got a few more questions, sorry.