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.
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?
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 OR Filled out Linkedin Lead Gen Form AND 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 OR 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 AND 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 AND 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* OR 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 |
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.