How to Keep Your Marketo Instance Clean and Running Smoothly

Community Manager
Community Manager

1. Deactivate old trigger campaigns.

Marketo has a default function that deactivates trigger campaigns that have been idle for six months. This helps, but even a single hit to the trigger will mean six more months of waiting, and the triggers can creep up over time. In addition, you may have archived a program with trigger campaigns in it, but if you didn't deactivate them, the triggers are still live.


Trigger campaign build-up can be a problem because every active trigger consumes resources, and if you get too many of them, your Marketo instance could become bogged down and slower to respond. I recommend developing the habit of deactivating trigger campaigns just like you would make a habit of turning off a light when you leave the room and for essentially the same reason. No need to be wasting electricity or processor power on a room or campaign no one is using.


You can check your trigger campaigns by going to Marketing Activities > Campaign Inspector. There is a filter there where you can select Active Trigger Campaigns. How many do you have? I recently helped a customer who had over 4000 active trigger campaigns! As you can imagine, their instance was sluggish and unresponsive. Using a tool available to the Technical Support Engineers, I mass-deactivated 1500 campaigns for the customer, and things began running much more smoothly. 


If you look in the Campaign Inspector and find that your instance is overrun with old, active trigger campaigns, Support can help. If you need Marketo Support to help you deactivate a block of trigger campaigns, export the list of Active Trigger Campaigns from the Campaign Inspector to a .csv file, identify the ones that need to be turned off, then open a support case with the list of campaigns to be deactivated.


2. Audit the CRM fields that are visible to the Marketo Sync User

This is another issue that creeps up on you over time. Your CRM admin is creating new fields in the CRM all the time, and many times these new fields will be visible to all users. That's great for everyone else but bad for your Marketo Sync User because Marketo will try to sync anything it can see, regardless of whether it uses those fields. If your CRM sync cycle is starting to take longer and longer to run, it is probably because Marketo is trying to sync hundreds of fields, only a fraction of which are actually used by Marketo.


I recommend sitting down with your CRM admin quarterly or yearly and going through all the fields visible to the Marketo Sync User. You can remove all the fields that are not used in your Marketo operations from the sync user's visibility. This will keep your sync cycles short and sweet. Follow that up by hiding the unused fields on the Marketo side (Admin > Field Management), so they don't clutter up your UI and make the autocomplete sluggish.


3. Avoid "Member of Smart List" filters, especially inside other Smart Lists

A Smart List is a database query that runs every time you open or reference the list. When you put one Smart List inside another Smart List, you are opening a database query that immediately references another database query. I've seen Smart Lists that referenced other Smart Lists, which had yet more Member of Smart List filters. The worst I ever saw was nested Smart Lists seven layers deep. I flat-out told the customer, "There is smoke coming out of a server in San Jose every time you run this."

And this is why I make the next suggestion...


4. Use Segmentations rather than Smart Lists for your Exclusion Lists

Segmentations are standing Smart Lists that update when data changes on the lead rather than every time you open them. If you are using Smart Lists for your exclusion lists, meaning that all the campaigns that use them have the dreaded "Member of Smart List" filters, your Audience will be slow to calculate. 


In addition to that, if you need to determine why a person did or did not go through a Smart Campaign, "Member of Smart List" filters are very difficult to troubleshoot. There is no record of when a person becomes a Smart List member or falls out of membership. Segmentation changes, on the other hand, are recorded in the Activity Log, and a person's current Segmentation membership is written to a field on their Person record, which makes it very simple to see if a lead was excluded and why.


5. Use batch campaigns rather than trigger campaigns wherever possible for data normalization and hygiene

Some people love to take the "Person is Created" trigger and go a little nuts with it. A new Person record appears in Marketo, and an army of trigger campaigns spring into action, normalizing and enriching the data. This is fine if it is just a single person filling out a form. However, if you are importing a list or syncing a new block of records to Marketo from your CRM, the sudden swarm of trigger campaigns will blow up your campaign queue. This could lead to other trigger campaigns to be slow to execute and your webinar registration autoresponders and sales alerts to be delayed.


Sometimes you need to do data normalization immediately to make a record acceptable to the CRM sync. That makes sense. If you have a Country picklist in your CRM, you need to make sure the field value says "United States" instead of "USA." But other things, such as webhooks to data enrichment services, don't need to be done the minute a lead is created. For these, I recommend recurring batch campaigns that run every night when your Marketo instance has more bandwidth for the tasks.