The Case of the Racing Triggers

Marketo Employee
Marketo Employee

When using triggers to either update lead data or to act upon that data, it's important to understand that triggers could cause smart campaigns to "compete" with one another. Consider the following scenario – taken from a Marketo client situation but revised for a fictional organization that sells animal products and services. This organization require two separate campaigns - one to set the brand (animal) preferences of prospects and another to specifically sets a new lead's emailability for that brand (animal).

The Case:

Smart Campaign 1 - Set Animal Preference: This triggered campaign qualifies prospects as a dog lover, cat lover, etc. This campaign updates the mkto_Loves Dogs field to "true." The campaign is constantly qualifying new prospects based on specific forms they fill out, opportunity activity, etc.  SM1-SL.png


Smart Campaign 2 - Set Communication Preference by Animal: This triggered campaign qualifies prospects in the database as emailable for dog-focused content. One of the filters in this campaign is that mkto_Loves Dogs = true. If they qualify, the Marketo field mkto_Emailable Dog Lovers is updated to "true." This field must be true for a prospect to receive any promotional communications about dogs and is leveraged by the dog brand marketing team in all of their smart lists to simplify identifying emailable prospects.



Over the next several weeks, most prospects that should have qualified for Smart Campaign 2 didn't. Several thousand dog-loving prospects were not getting their emails about dogs. So what happened?

The Investigation:

If you haven't already guessed from the title of this post, the two triggered campaigns were "racing" one another and, often times, the second smart campaign setting them as emailable for dog communications was the loser. The triggers in each smart campaign could initiate at the same time - and often did, as the same activities that might tell the system the prospect was interested in dogs could also indicate they were emailable. 

In Smart Campaign 2, the prospect has mkto_Dog Lovers = true as one of its filters to determine emailability for dogs. But many times, Smart Campaign 1, which set the Dog Lover value, hadn't finished running at the same time Smart Campaign 2 triggered. The prospect would then fail to qualify for Smart Campaign 2 and would not be marked as mkto_Emailable Dog Lover = true.

The Solution:

Since Smart Campaign 2's ultimate priority was to identify prospects who are Dog Lovers in order to then determine if they can be emailed about dog communications, we modified the campaign. Instead of using the mkto_Loves Dogs as a filter, we made a change to it a trigger, then kept the remaining filters around email validity, unsubscribes, etc. With this in place, Smart Campaign 2 remains a triggered campaign but will never fire prior to the prospect's Loves Dogs value being set via Smart Campaign 1.


As we all know, there are many ways to build things in Marketo and this is just one way to achieve brand communication preferences. The CRM and sales processes of this fictional organization required that the two processes - establishing brand preference and establishing brand emailability -  be separate and be triggered in real time off of some specific events as part of their process. Creating batch campaigns with coordinated schedules would be another option to resolve this issue. So just keep in mind that if you have two campaigns triggering off of similar criteria, and one campaign relies on the values set by the other, they may "compete" with one another. You may have to take a second look at what your triggering criteria really needs to be.

Bonus Tip! Don't forget that triggers never operate together as "and" the way filters can. They are always "or." So in smart campaign 1, being added to a K9 opportunity OR filling out the dog form would trigger the smart campaign.