10 Engagement Studio “Gotchas” to Watch Out For

Engagement Studio is one of the best things to happen to the Pardot platform since I’ve been a customer.  But it’s a bit nuanced… and without paying attention to the details, there are a few “gotchas” that can trip you up.

A few “did you know” things to keep in mind:

1. Triggers are Time Limited by the Program Start Date

trigger.pngYou add a trigger to a program to answer the question, “Has the prospect done this?”

Triggers “listen” for things like form fills, landing page submits, and link clicks.

But there’s one critically important thing to note here – they wait to see if your prospect did this only since they entered the program.

In other words, it’s not yes/no did they do the action the trigger is listening for, it’s “did they do the damn thing” since you hit start.

2. Landing Pages Trump Forms

When you’re using a Pardot form on a Pardot landing page, think carefully when you’re adding triggers related to this.

Landing pages in Pardot always trump forms. If your form is on a Pardot landing page, a form view or completion does not satisfy a form trigger. You have to use a landing page trigger instead.

Does this make intuitive sense?

Um… no. At least not to me. But the Pargods have spoken, and this is the way it is.

3. When People Drop from the List, They Drop from the Program

Engagement Studio Programs look pretty bad ass with super intense branched logic.  But more often than not, when I see an ESP that forces you to pull out a magnifying glass, there is usually criteria that could have been controlled more simply and elegantly via the original lists feeding the program.

Probably Overkill.png

For example, if you wanted to remove a prospect from a program based on an action or a field value, you COULD use a trigger or rule to branch this out and send them to the end of the program.

Or, you could add exclusion criteria via a dynamic list or suppression list that applies to the whole program.  This is usually MUCH more manageable and less prone to error.

4. You Can Add People Back

If someone is in your Engagement Studio program, but then they get dropped from the list feeding the program (due to someone manually removing them, them being added to a suppression list, or them no longer meeting the inclusion criteria for the list) — don’t despair.

You can add people back.  If a prospect is removed and then added back later, they start back at the step where they left off in the program.

If the prospect was in the middle of a waiting period, the clock does not reset.  If someone was on day 2 of a 5 day wait when they were removed, for example, and then they’re added back 10 days later – Engagement Studio doesn’t make them sit through the last 3 days of their wait.  It recognizes it’s been over 5 days and moves them on to the next step.

5. If You Want to Add on Later, Plan Ahead

You may want to launch your Engagement Studio Program before all of your nurture content is 100% ready.  This is totally cool, and actually something I would recommend doing (future blog coming on this).

The thing is, if your prospects reach the end step in the program before you get to building and scheduling that “someday” content, they’re donzo.  That prospect will never progress further in the program, even if you build out more steps.

To work with this constraint, consider adding a hugely long wait step at the end of the program. Like a tag that you’ll apply 365 days later:

Wait Step.PNG

This will effectively act as a buffer that stops the prospect from ever getting to the end of the road.  Then if you want to add more steps later, you can do some jockeying to get the timing right to get the content out to them.

6. Opt Outs & Bounces Do Weird Things to Tracking

If a prospect isn’t mailable, they keep moving through the program, but they don’t get emails.  So for example, if you had an email send action followed by an “add to Salesforce campaign with a status of sent,” the email wouldn’t send if they’re unmailable, but they would be added to the campaign.

To avoid this scenario, you can include unmailable prospects as a suppression list so that they’re removed from all program activity.  Or you can use rules to separate unmailables from the pack and skip steps that don’t apply.

7. If You Pause a Program, You Pause the Wait

Let’s say a prospect is on day two of a five-day wait in a step.  And then the program is paused for 10 days.

Once the program is restarted, the prospect will finish the remaining three days of the wait before moving to the next step.

8. Weekends are Included in Waits

If you enable “send emails during business hours only,” weekends are still included in the count of days when wait step timers are ticking down.

For example, if Email #1 goes out on a Friday, and you have a three day wait step, it will count Saturday and Sunday as part of the wait and send on Monday (rather than counting Monday as the first business day in the wait.)

9. Prospects Can Only Go Through a Program ONCE

Admins everywhere broke into spontaneous happy dances when the ability to loop / repeat automation rules was released.  We’re still waiting on that for Engagement Studio programs. [Update: as of June 29th, this functionality is generally available!  More on that here.]

Each prospect can only go through an Engagement Studio program once, so it if you have something that needs repeating — like a renewal campaign or a nurture tied to opportunities — you need to get a little crafty about your logic for how to accomplish this.

Not going to get too far into the weeds on the setup for this because the best way to execute really depends on the scenario, but it usually involves making copies of the program so that people who have been through the first can get picked up by a 2nd through nth version.

Consider adding a Finished[Insert Program Name] tag at the very end of the program to plan ahead for this.  Your future self will thank you if you later want to build a list to feed a new program with the people who finished the first.

10. You May Have to Turn on the Feature to Send the Same Template More than Once

Depending on how your org is configured, you may only be able to send email templates  once to a person through Engagement Studio (or through the legacy drip programs, for that matter.)  This poses a major challenge in some cases.  For example, if you wanted to send an email template as the first touchpoint, then send a week later to non-openers.

Fortunately, this is behavior that you can change if it doesn’t fit your process and if you do want people to be eligible to get the same message more than once.  To change this, click the little gear icon in the upper right to access Settings, then click edit from the Account Information screen.

Scroll down and you’ll see this little checkbox available to edit:

Send Emails More than Once Pardot.PNG

The verbiage on this checkbox is slightly different in newer orgs (they lose the Drip reference), but you get the idea.

What Other Things Have Tripped You Up in Engagement Studio?

The devil is definitely in the deets with Engagement Studio. Take advantage of the new testing feature to preview when your messages will go out and validate that you’ve gotten the wait steps right.

Have you come across any other “gotchas” or surprises as you’ve worked in Engagement Studio?  Any questions or ideas you’d like to discuss?

Let me and your fellow readers know in the comments!

39 thoughts on “10 Engagement Studio “Gotchas” to Watch Out For”

  1. 2 thoughts:

    1. REPEATING ENGAGEMENT STUDIO OPEN BETA IS HERE! Sorry, I’ll stop yelling, but I’m excited, check it out, here: https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?fId=0D53A00003e8y2i&g=0F9300000001qUi

    2. The whole “send on X date” gets really tricky when you include wait steps and adding new people to a list after it’s started. This might be an edge case, but it’s worth keeping in mind. Take this scenario:

    Step 1: Send Email on May 25rd.
    Step 2: Wait 10 days for a click. Both yes and no paths both eventually end up on Step 3.
    Step 3: Send Email on June 5nd.
    Step 4: Wait 10 days for a click. (and the process repeats for however long. Sure, this COULD be a series of list emails but you want to do interesting things with rules and wait steps and you want to be able to copy this whole program and slightly alter it for other purposes, etc…)

    So, you create your list today (May 23rd), in this case it’ll be dynamic because you’re fancy like that and you want new people to be added to the program as appropriate. The first email goes out on May 25th and the wait step starts. Fast forward to June 4th, the day before the second email send, and all of your original prospects are waiting patiently for June 5th to receive their next email.

    But wait, 10 new prospects joined the list on June 4th. Are they going to get the email on June 5th? NOPE. They’re going to be hanging out at the wait step, waiting for a click event that will never happen because they didn’t get the first email. And they’ll never get ANY of the emails because they’ll be so far behind on wait steps that they have no chance to catch up.

    Is all hope lost? No, of course I wouldn’t leave you hanging like that. It can get a little ‘workaroundy’ but you can do something to mark the date of when a prospect was added to the ESP list (a custom field, for example) and then add a Rule to look at that date before each email send and if the prospect was added to the list AFTER that email send, then the rule would skip the email send AND the wait steps (and any other steps that aren’t relevant) and quickly catch those newly-added prospects up to the next email send.

    Anyway, again, maybe not a case that will be used very often, but keep that in mind so you don’t strand your poor prospects behind wait steps for emails that were sent in the past.

    Another note: I’ve only seen this played out in the “Test” tab of an ESP because I noticed the logic error before any prospects were stranded. I haven’t tested live to see if there is something intelligent in the ESP code that knows not to let a prospect wait for an action from an email they didn’t receive, but, according to the Test tab, those prospects will be stuck in the past, forever.

  2. Great points! Using a time dependent dynamic list in a “Business hours only” drip program totally bit me in the butt once.

  3. I had an issue with a campaign where I used a “7 Day Email Received” suppression list. It was a dynamic list that suppressed all people who had gotten an email in the last 7 days. However, somehow this created a situation in which I had people who got the second email in my campaign but not the first.

  4. Your first point seems wrong. From Pardot help:

    EXAMPLE An email link click trigger step is set to wait up to a maximum of three days. A prospect landed on the trigger step at 3:01 PM on a Monday. In this case, the trigger listens for an email link click between 3:01 PM Monday and 3:01 PM Thursday.

    Can you please point to the source for your first point? Thanks!

    1. Yes, triggers can have wait steps.

      I think you’re missing what I’m getting at there… it’s that triggers are time delimited by the PROGRAM START DATE.

      So, for example: trigger step is looking for a landing page submit. If Polly Prospect submits the landing page Monday, and the program is started on Tuesday, Polly Prospect is going down the “no” path. Does that help clarify?

  5. Great list! Quick question (and maybe a potential gotcha), if I send an email and include a validity time for the “clicked link” trigger of 5 days, then I’m sending a second email to those people that didn’t click. If I entered a wait time on the email of 7 days, is this wait time starting AFTER the end of the validity time (5 days) or it’s counting 7 days from the previous email?

    1. Hmmm… if the wait trigger is “up to” 5 days, and the wait on the next action is 7 days, it would be 12 days for people that don’t take the action on the first wait trigger.

  6. When I start an engagement campaign with a list and then later add more prospects to that list, will the newly added prospects automatically start down the engagement campaign or is there something I have to do to get the newly imported prospects to begin the engagement campaign?

  7. If you’re in a hurry to get your program started, plan accordingly. Once started, the engagement program can take at least an hour before sending the first email (if set to send immediately). I started an engagement program today…at the hour and a half mark and still waiting for the first email to go out.

    1. Yep, 100%. An hour and a half is REALLY long, but I have often seen delays of 15 minutes-ish when starting a program for the first time.

  8. Hi I need help with the Legacy Drip Program on Pardot. Imagine the first Send email action has been added followed by a rule for people who have clicked and people who have opened the email(send email–>has prospect clicked in email—–>Has propspect opened email?). Now for those who have opened, the drip program does NOT send the second email thats coming up. How can I fix this? In the past I have had to create a list of people who opened the first email, and then add that list as a recipient of the drip program, but that is such a tedious task! Would really appreciate feedback guys.

    1. I’d suggest migrating any legacy drip programs to Engagement Studio. If you’re having to edit or re-think any logic, best to do it with the “latest & greatest” tools available.

  9. I started an Engagement Studio already, then decided that I want to suppress additional people that have already started receiving the emails from getting the rest of the emails in the engagement studio. If I add them to the suppression list at the Start, will they be suppressed from getting additional emails, or are they only suppressed if they’re added before the program starts?

    1. Suppression lists are a “Pause in Place” RIGHT NOW sort of thing. So adding prospects to a suppression list will freeze them in place – no passing go, no collecting $200.

      When they are no longer in the suppression list, they will continue to run as if nothing had happened.

      I like creating dynamic lists for suppression lists. I like dynamic lists for later stage open opportunities or recent updates on earlier stage opportunities for example. This will allow the sales team to do what they are doing without marketing sending materials that are out of sync with what sales is talking about, yet if the opp goes stale, marketing steps back in and trys to move the prospect along.

  10. Thank you for this fantastic discussion! I have one more question: What happens to Prospects already in an engagement program when I edit that engagement program? Do they continue where they left off, and how is “where they left off” defined? Let’s say they received the first two emails and are in day 1 of a 3-day wait to get the third email. What happens if I remove the second email? Or the fourth? Or start changing wait lengths before or after where the Prospect currently is?

    1. Yes, you are right, they continue where the left off.

      I tend to think of them as being held JUST BEFORE the next node they are about to enter. I suspect how the code works the math, they are really being held just after the just-completed node, waiting for the math to work out for them to proceed.

      Your question, if you delete the 2nd email 1 day into the 3 day wait, they will still have 2 days before they enter the 3rd email. The 4th email isn’t a factor yet in this particular question. This is why I like to think of them being held just before the next node.

      I will commonly change wait lengths, especially around holidays. If you take a 10 day wait, and move it to 5 days, a prospect 7 days into the wait will go that same day you turn the program back on because they satisfy the 5 day wait with their 7 days of waiting.

      I like creating a ‘test’ program and just playing with it. Set it up, turn it on, set a calendar reminder to make the modification you want to test on the correct day. Doing this is the best way to truly understand what is going on.

  11. Is it normal for Program Members to equal 0, before an engagement program is activated for the first time? We have our first drip nurture scheduled to start today, sending 4 different emails based on a person’s membership in a list. I have checked each list separately, all of which have members. However, on the main Engagement Studio tab, it says 0 Program Members.

    Am I going to run into an issue where these never go out? Or will the program members start to increase once the program goes live, and it begins to look for folks who fit the criteria? Thanks!

    1. It will be normal for an new program to have 0 prospects in it as it hasn’t started yet. The computer doesn’t do the math until it has been told to do so, by starting the program.

      When you turn on the program, it could be an hour or more before it starts showing you numbers.

  12. Hi Andrea,

    Just found your helpful tips through a google search, while trying to find a solution to a Engagement Studio gotcha. Wondering if you or your readers have any suggestions to the following;

    We are finding the timing of the Sync between Pardot and Salesforce very problematic because we can’t relay on a field status rule referencing before or after the sync. Ideally we need something that makes the Engagement Studio wait until the record last/first sync’d i.e. don’t continue on the engagement studio flow until it has sync’d at least once in it’s life.

    At the moment we get different results depending on if the first sync/a sync happened before or after a a rule is evaluated, We cant seem to find any workaround to control when the rule is processed in relations to when a sync happen or if it has ever happened. If we could control it, that is without waiting at least a day, we could solve many issues we are experiencing as a result. All approaches I’ve considered so far end-up at a dead end :-/

    Any suggestions much appreciated.

    Thanks,
    Jonny

    1. Jonny,
      I am one of Andrea’s team.
      I like creating a “SFDC Created Date” Pardot custom field and sync it to the SFDC created date field. You can now check to see if this is blank or not to see if a sync has occurred.

      If your automation rule is for records that you know should be synced to SFDC, you add another line to make sure this new field is not empty. This will now delay the automation for a few minutes until after the sync.

  13. Hey Andrea! Great post. I saw that you mentioned that landing page views might not be seen as a trigger if there is a form. The form always trumps the view. But in my program, I setup a “click to landing page” as the trigger, and even though there were clicks to the page, they didn’t go down the correct path; Pardot treated the whole list as 100% non clicks. There wasn’t a form on the landing page. Nor were there any actions to take on the landing page.

  14. Follow up on Question 5:

    …If You Want to Add on Later, Plan Ahead
    You may want to launch your Engagement Studio Program before all of your nurture content is 100% ready. This is totally cool, and actually something I would recommend doing (future blog coming on this)…

    Can you point me to that future blog? Wondering if it’s been created as I’m in the same boat where I don’t have all my content created yet.

  15. This is a wonderful post ! On a side note, I want to know how the admins handle Salesforce – Pardot collisions. In our organization, we have recurring collision issue which result in error saying ‘Error Changes Cannot Be Saved. The record you were editing was modified by User during your edit session’ when editing a record in Salesforce. Any best practices or tips/tricks to handle these collisions. Sincerely appreciate it.

    1. I had a good amount of this issue when I first connected Pardot and Salesforce. It magically went away after a few months. I think part of this was the Sales team & Admins got into the habit of saving after editing each section in Salesforce. This shortened the edit window time significantly, and these collisions went away. I’d say save early and often is a good best practice regardless of this particular pain point. It’s really painful to loose half an hour of work on a lead or contact record getting it all cleaned up.

      I caused some of the pain with the Pardot API data cleanups I had created when I first started making them. I was making changes to records in Pardot on fields that where SFDC primary, so SFDC would overwrite my changes. This created a lot of frequent edits back and forth and I was locking the record for edits longer than 10 minutes. 3rd party tools like your connectors (or my API usage) and SFDC can wage a data war of correcting values they are both convinced are wrong. I had Eventbrite and my API data cleaner fight over adding US states to other countries. I would remove this value, and Eventbrite would put it back. I ended up opening up the record in Eventbrite and fixing the value there to make this stop.

      A look in the Pardot audit log will show evidence if this issue if it’s one you are experiencing. You will see values getting set back and forth over and over.

      1. Rating a separate reply, the Pardot support team can (or at least they used to be able to) adjust your sync timing between Salesforce and Pardot. I generally do not recommend taking this action, but it is available.

        As Pardot becomes more and more ‘on platform’ having a non-standard sync period is going to cause more and more data issues.

  16. Hi Andrea, Mike,

    Great article! Just a question on point 4 – you mentioned that if removed from an Engagement Studio program, and then re-added, a prospect will return at the point they left. What happens when your final program step is to remove the prospect from the list that triggers the ESP? What happens when the landing page completion action is to re-add them to that list – will they begin the program from the start? And if so, does that bypass the 1-day wait to be eligible for the program again?

    1. Phil,
      This depends on when/where you remove them from the source list. If you do the remove from list the step prior to an END node, they will end the program before that list update catches up to them in the program.

      If you remove them from the list mid-program, when they are added to the list again, they will pick up the node after that list removal. This doesn’t really make sense until you think about dynamic lists and how prospects can appear and disappear on them all the time. Letting a prospect on a dynamic list work their way through a program makes more sense than having them restart it every time.

      The 1 day wait is a hard-wait for re-entry. If you don’t actually have the prospect hit an END node, it’s not a re-entry, so they can appear and disappear as many times as they match any criteria you have in the same day.

  17. So glad I found this post! I have a fairly simple ESP set up, however I need to send notifications to different owners based on territory (state specific). Is there a way to do this without setting up 50 different paths to ensure folks get notified?

    1. I wish I had an easy answer for this question.
      The easiest answer (and it can be a hard one if you aren’t doing this already) is to use SFDC Tasks assigned to the record owners and have SFDC do the routing for you.
      But it can be really hard to move towards SFDC Tasks for action items if the sales team is email-centric. There are many advantages to Tasks, reporting, auditing, keeps the team in SFDC, and supports the concept of “If it’s not in SFDC, it doesn’t exist”. But it can take 6 months to a year for a team that is used to doing everything in their inbox to switch to stop absolutely hating the change. Once a few of the team get the reporting and list views and so on sorted out and they close a sale they may have missed because of a misplaced or unopened email, they will come to appreciate the new workflow.

  18. Great post! I use studios that send date-based emails to dynamic lists. When I pause the studio to add an email before the next one, it never sends the next date-based message correctly to the list (either only sends to some people on the dynamic list or to none at all). Any tips here? 🙂

    1. This sounds like it’s one of those “I’d need to look at it to answer for sure” questions. But I will give it a try.

      For date based emails to send on the date, the prospects need to be sitting there, waiting for that email send to occur. If they are elsewhere in the program, earlier or later, they won’t get the email.

      It can be a bit tough to see where everyone is, but if you look at the numbers on the cards, hopefully there is a big change in number before and after where you are adding in the new date email.

      Date based email sends in an engagement program are a wonderfully powerful tool. Perfect for events, lead up, and followup.
      If you find yourself editing running programs to add date based email sends often, maybe it would be less work to send those as scheduled emails?

      I really like using Engagement Studio for ‘evergreen’ programs where you can set them up, and they run for a long time. People run through them on their own time. Maybe some email template content updates as offerings are updated. But not much structural change unless some A/B testing suggests other ways may be more effective.

      Very calendar based Engagement Studio programs for things other than for specific events that you can pre-build probably aren’t the most effective use of time. (Unless you have lots of other non-email moving bits in the program).

  19. Hey Mike,

    I have a completed engagement program and now I want to target the folks who did NOT click on any of the emails. How do I create a tag and/or list based off who did not click?

    1. It’s a bit of work to do this after the fact, but possible. But first, lets set ourselves up for success moving forward.

      In Engagement Studio, you have the trigger for people clicking on an email. On the NO path, add an action to add people to a list (or tag them if you prefer). Now you have your target list for your non-clickers for future activities.

      Now, to target the prospects who haven’t clicked in the past. There are many ways to do this, here is one way. Create a static list for these prospects (It could be the same one from above, but if so, do this step first). Open the email node for the email of interest, click to the table of people who have received the email. Add all those people to your static list. The easiest way to do that is to tick the box at the top of the left column to select them all, if asked, select all of everybody in the text that may pop up at the top of the table, than in the drop down at the bottom of the table, select “Add to list” and add them to your list.
      To get just the people who did NOT click on a link, you can do the same thing for those is you built a trigger but rather REMOVE them from the list you just put everybody on, or if you did not build that trigger, open up the email report, click on the unique clicks number, and then select everybody, and remove from list.

      You should now have a list of all the prospects who did not click on the link.

      There are several other ways to do this.

Leave a Reply