How I keep the Marketo engine running smooth

Level 4 - Champion Alumni
Level 4 - Champion Alumni

I’m a type-A person - meaning that everything must be in order, running smoothly and according to plan. Pretty quickly I found out that putting off fires is not exactly my favorite place to be. In our line of work putting off fires is part of the daily job - but does it have to be like that?




Not necessarily. I took it upon myself this year to minimize all “surprises” and have a chance to fix things before they escalate. 


 Meet my OP-System Checks program. In this blog post, I am going to talk about all the fun things I put in there. 


Screenshot 2022-04-04 at 15.11.44.png


In the 3 folders you see above I have a series of smart lists that enable me to find errors in the database. Some of them I check daily, some are checked weekly while some maybe 1/month. The goal is to have 0 records on each smart list. The goal is also to catch any errors early on and take the steps to remediate them. Below I share the most popular lists in my instance. All these lists can be adapted to what suits your database and your process.


I built these lists by asking the question - what could possibly go wrong? 

  • Records not being processed
  • Overwritten data
  • Incorrect values populating specific fields
  • Records without data in mandatory fields
  • Data value changes in fields that shouldn’t change


Unpopular smart list

Smart list filters

What to consider

Web forms fills not processed

Person was created

Source type = web form fill out

Date of activity: in past 90 days

Person status = empty

All people entering my DB are assigned a person status. You can replace this filter with other/s from your instance that can indicate person processing has failed.

Ad form fills not processed

Filled out Facebook Lead Ad Form


Filled out Linkedin Lead Gen Form


SFDC Type is empty

If you work with Linkedin or Facebook lead ads, you want to make sure all ads are processed. Since your company spends money on these records, time is also of the essence. I sync all records from paid ads to CRM, feel free to replace the SFDC Type filter with any other field that indicates processing.

SFDC sync errors

Member of Smart Campaign - 

add campaigns that sync records to SFDC

SFDC Type is empty

By surfacing these records, it's fairly easy to find from the activity log what failed with the sync and correct it. Sync errors can also be checked under Admin->Salesforce-> Sync errors

Lead source - empty/data changes

Data value changed - Person source

The previous value is not empty


Person source = empty

Lead source is a field that should not change value, either from automation or manually. All records entering the marketing or sales DB should have a lead source assigned.

Lead source/subsource incorrect values

Lead source is not - insert your company agreed values


Lead source is not empty

If other values than agreed are found in your instance, find the data value change source and address it with the owner of this change. You can repeat this smart list for other fields too, fx subsource.

Person status - incorrect values

Person status is not - insert your company agreed values


Person status is not empty

To keep your pipeline and reporting accurate, you need to trust the data in the person status field. Make sure that only the values agreed between Marketing and sales are used.


How did I build all these lists? By knowing firsthand what can go wrong in my database. I built them over time, as I would surface errors. If a new error pops up, I add a list to my checks folder and monitor. With time, I took out some of the lists because there were no errors surfaced anymore. This is definitely a work in progress rather than a one-and-done. 


Unpopular smart list

Smart list filters

What to consider

Email address changes

Data value changed - email address

Source is: web form fill out

Previous value is not empty

Here I monitor for cases where due to form fill a record's data gets overwritten.

Overwritten data

Data value changed *insert critical field*

Previous value is not empty

Similar to the above, you would want to monitor other critical business fields that normally do not change value. One example could be Referral Name or Job title

No Acquisition Program

Acquisition Program is empty

This is a standard system smart list. A perfect database would have an acquisition program assigned to each record. I ended up creating Marketo Programs for records created via CRM, like outbound, since these records do not have an acquisition program by default when they get created into Marketo.

Invalid field values

Country is not *insert your picklist values*


State is not *insert your picklist values*

This smart list can be created to check several fields. Insert the picklist fields you use in CRM/ forms, like country or state. Marketo admins using a data normalization tool can skip this. I don't (yet) so I monitor for changes manually.

Created records/week

Person was created in past 1 week
Source is: web form fill out

Here I check for volume mainly. If there are any unusual spikes I would suspect a bot/click farm attack.

Score increase merges

Person was created min Number of times 2

Score was changed - Person score

New score - at least *insert threshold*

Records that get merged in the DB would get their score merged. This would actually make them incorrectly hit the threshold. I park these records on a list instead of sending them to sales.

Spam flags

Email bounced

Date of activity in past x days

Email Suspended Cause contains

spam; block; blacklisted; 550; 553; 554

This list would surface the records where the emails bounced due to spam reasons. After review, it is safe to mark their email as invalid.


Now, this seems like a lot and it is! The first time I built these smart lists I went down a bunch of rabbit holes. But the lift was worth it because now I trust the data I work with more and so do my colleagues. If in the beginning, I could spend hours doing this, now I can run through all the lists in about 15 minutes. Ask yourself: are 15 min/day doing this exercise worth catching errors before they escalate? 

This doesn’t mean that things do not break in my instance. Yes, they do but it is rare. What I achieve with this is gaining and keeping the trust of my peers - sales, sales ops, marketing etc. We all know that bad news spreads faster than good news, so it's better to avoid it.




I would like to see what type of monitoring system other folks have in place for their database. I know there are a few tools out there that would do this on an automated basis. Now that I have my use cases, I could look into that direction too. If you use smart lists, please share your setup. This list can keep growing.


Thanks for reading! 


Veronica Lazarovici
2021 Marketo Champion