Before You Pull the Trigger on Triggers

Marketo Employee
Marketo Employee

Triggers for smart campaigns are fantastic – they allow what I affectionately call slow cooker marketing automation (aka “set it and forget it”). Turn it on and then when the behavior occurs, it takes care of it.

But as your marketing database grows and the number of programs and smart campaigns you build in Marketo grows, it’s important to understand how triggers work and the impact they can have on the performance of your Marketo instance. One Marketo customer with a large database (millions of records) and nearly 900 active smart campaigns at any given moment experienced this recently when their trigger campaign queue became very busy.

It’s important to understand that active trigger campaigns are always on and always listening for their cue. And their cue is, at first, very broad.

Consider the “Data Value Changes” trigger in a smart campaign. In the smart list, you have the trigger “Data Value Changes” and then the attribute (data value) it is to listen to for changes (such as First Name). The very first thing this trigger is listening for is the change in a data value – any data value - before it then evaluates whether its particular attribute (First Name) was affected. This means that ANY time a data value changes for any reason in Marketo, this trigger campaign is first activated by the fact that a data value – any data value – has changed, and then will run through to determine if it was the First Name attribute that was changed. Considering a typical Marketo instance integrated with a CRM can have a few hundred field values, that’s a LOT of trigger firing.

Same thing happens with “Email is Delivered,” often a popular attribute to assign program membership status for a particular program. Marketo is listening for this any time ANY email is delivered – first it triggers on the fact than any individual email was delivered, then runs if the email specified was the email in question. When you are sending emails to tens of thousands of leads in a day, those trigger fires can add up.

With that in mind, choose when you truly need a campaign trigger versus running things as batch. Time-sensitive information such as clicking certain links to trigger a sales alert, or certain data values changing to remove someone from eligibility for a program, may be critical to keep as triggers. But often times, a batch campaign would do (such as changing program status), set to run in the middle of the night daily or even once a week on a weekend.

Due to the size of your Marketo databases, most of you will never experience any kind of trigger queue impact. But it should be in your best practice arsenal to always consider whether a trigger is truly necessary for executing immediate action versus scheduling recurring batch campaigns to achieve the same result.

Tip: Want to make it easy to evaluate what trigger campaigns you have and how/what they are executing, to look for chances to optimize performance? If you have admin rights, click on a workspace and then select “Campaign Inspector.” You can export all of the campaigns in that workspace into an Excel document and then filter to look just at Active Triggered campaigns. Then look in the Flow Step and filter to those types of actions (Change Program Status, for example) that might be better suited to batch campaigns.

Thanks to Ken Niwa and Jonathan Wu​ for their insights into this issue.​