Like the title says — if you’re a Salesforce user, then you should be deleting your marketing contacts on a regular basis.
Okay, hear me out.
Of course I don’t mean all your contacts. And I don’t even necessarily mean delete delete (in some cases). Let me explain.
As marketers, we hoard and protect our contacts like dragons guarding our treasure. Our instinct is to grow — and keep — our contacts database as large as possible. After all, more contacts mean more people for the ever-demanding funnel.
But I’m here to tell you: stop it.
Why? Because as with many things in life, quality over quantity is what should matter here, even within the gaping maw that is the top of the funnel.
And for more reasons than you think. Here are the three main ones.
Reason #1: Salesforce Puts a Cap on Contacts
Let’s start with the purely technical and perhaps thoroughly obvious: Salesforce gives you a finite number of contacts to keep. The number you can have varies depending on the plan you’re on and the optional number contact block add-ons you purchase.
No matter how adequate that number may seem at the time, it will start being not enough very shortly if you don’t have any safeguards in place.
Furthermore, the criteria for what counts towards this limit differs between Marketing Cloud Engagement (or MCE, formerly Marketing Cloud) and Marketing Cloud Account Engagement (MCAE, formerly Pardot… I know one day we’ll get used to the rebrand).
In Marketing Cloud Engagement:
MCE Edition | Pro | Corporate | Enterprise |
Base Contact Count | 15k | 45k | 500k |
Any Contact record (aka, any record on a sendable data extension with a unique ContactKey) on the All Contacts list counts towards MCE’s Contact Count limit. This includes:
- Mobile contacts
- Email subscribers
- Any contacts from synchronized data sources (e.g., Salesforce objects).
This is also why it is best practice to use a single ContactKey across Mobile, Email, and Synced Data Sources to prevent duplicates from unnecessarily eating up your Contact Count.
You can monitor your Contact Count using the All Contacts list in Contact Builder.
Fun gotcha moment: If you’re syncing Salesforce Leads and Contacts and a Lead converts into a Contact, MCE will still count that synced Lead record and the new synced Contact record as two Contacts because they will still have two separate ContactKeys. |
Fun gotcha moment #2: Even if you reduce the number of records on your synced sendable data extension, your All Contacts list count may not change. You will need to do some additional manual work here to enable contacts deletion from MCE if you haven’t done so already. Go to Contact Builder > Contacts Configuration and then choose the contacts you want to delete. If you want to mass delete a large number of contacts, you will either need to: a) import a list of contacts back into MCE (counter-intuitive, I know) and then configure MCE to delete your contacts based off of that list – or – b) create a REST API call to mass delete your contacts. |
In Marketing Cloud Account Engagement (Pardot):
MCAE Edition | Growth | Plus | Advanced | Premium |
Contact Blocks | 10k (additional 10k blocks are $100/month | 10k (additional 10k blocks are $150/month) | 10k (additional 10k blocks are $300/month) | 75k (additional 10k blocks are $400/month) |
Fortunately, this is more straightforward. Any prospect record with a mailable status counts towards your mailable database limit.
That’s it. You can keep an eye on your mailable database limit from the Pardot Settings tab.
Reason #2: Privacy Features Aren’t Going Away
In September 2021 as part of the iOS 15 updates, Apple rolled out Mail Privacy functionality that allowed its users to easily create throwaway email addresses for form fills (a common practice that many were already doing, Apple just automated it).
Eight years prior to that, Google had broken up its Gmail inbox into tabbed categories in a better effort to keep “less important” emails — like marketing emails — from clogging up your immediate inbox. This year, Google will officially sunset its use of third-party cookies for tracking.
Suffice to say: more privacy features are coming into play and more consumers are concerned with how their data is being collected, stored, and used.
This is all great for consumer privacy, but less so for our marketing efforts.
Without intervention, we could face the possibility of having a database where a sizable portion of our contacts are, at best, completely unengaged, or, at worst, aren’t actually legitimate contacts in the first place.
Reason #3: You’re Skewing Your Metrics
Now take the nightmare scenario in Reason #2 and think about what this does to our precious email metrics. If we consistently send to a database of unengaged or non-legitimate contacts, leading to artificially low open rates and potentially high bounce rates, we’re skewing our own engagement rates from the start.
And if we’re relying on our engagement rates to determine campaign KPIs and attribution, we’ll have already introduced flawed data into our analysis.
How to Keep Your Marketing Contact Database as Clean as Possible
Okay, you’ve made some good points, I hopefully assume you’re thinking. So what can I do?
Well I’m glad you asked, because I have some tips for both Marketing Cloud Engagement and Marketing Cloud Account Engagement users.
Implement a Cold Leads Strategy
This is where I’m asking you to look deep inside yourself and fight against the marketer’s urge to hold onto all your contacts (or leads or prospects or whatever terminology you want to use here) for as long as possible under the hope that they’ll re-engage if you happen to send the right message at the right time.
Sure, you can always purchase additional space for more contacts, but why keep throwing more money after bad? Showing a little less mercy now will improve your marketing efforts later. As an additional consideration for MCE users, you also have to contend with a cap on how many communications you can send per subscription term. So why waste them?
Use Automations to Keep Your Database Clean
To start with, you can automate this process through features like: Automation Rules and Engagement Studio Programs (for MCAE) or Automation Studio and Journey Builder journeys (for MCE).
But the rough idea is to do the following:
Step 1: Put a quantifiable limit on how long you’ll consider someone who hasn’t engaged with any of your communications as “active.” This can be an actual time limit or after a certain number of consecutively unopened emails.
Step 2: Move these cold contacts somewhere else. Take them out of your regular communications, whether it’s through tags, a separate list segment, or a separate data extension. It’s time to put these contacts on a separate slower, low-frequency campaign.
Step 3: Send them an email again in a few weeks, maybe even months. Maybe send them another one later if you’re still full of hope. Give them a few more last chances to show engagement. The goal here is to check for a pulse, not necessarily to market anything at this point. This may also be the place where you can A/B test a few subject lines with pretty low stakes.
Step 4: If they re-engage: great! You can return them to the fold (or better still, use this opportunity to find out what their content preferences are by pointing them to an email preference center and letting them self-select their interests). If they don’t engage, get rid of them.
- Put them in the recycle bin if you’re a Marketing Cloud Account Engagement user (bonus: if you keep these prospects in the recycle bin, MCAE will automatically restore the prospect if they show signs of activity later on).
- Or, delete their record and unsync them in Marketing Cloud Engagement (we’ll talk about how to do this in a moment).
- You may even want to consider deleting the corresponding Salesforce record, because Salesforce has a data storage limit too.
If the idea of permanent deletion is too daunting, you can always export them to a spreadsheet and archive them elsewhere. You’ll still have the contact information, but it won’t be taking up space within your database.
Clean Out Your Hard Bounces
Make it routine to regularly clean out (or update) your contacts who have a hard bounce status.
- In addition to viewing your engagement metrics for each email send, MCAE also offers a helpful overall Email Bounce report on your prospects (you can find this under Pardot Reports > Marketing Assets > Emails > Email Bounces).
- With MCE, you can automate a query of the Bounce Data view and Subscriber statuses in Automation Studio.
Yes, both MCE and MCAE will (eventually) stop emailing any address with a hard bounce status. Yes, MCAE will automatically render a prospect with a hard bounce status as unmailable, meaning that the prospect won’t count towards your contact limit.
But in MCE, even if you can’t send emails to a Contact with a Bounced status, the contact will still count towards your Contact Count. And whether you’re using MCE or MCAE, if the contact has a corresponding Salesforce record, that record will also contribute to Salesforce’s overall data storage limit.
Furthermore, discrepancies between your segmentation lists or data extension numbers and what your email deliverability numbers actually are could cause some initial confusion among any users who aren’t aware of the automated mechanisms MCAE and MCE use to keep you from sending to unmailable addresses.
Be Selective about Salesforce Syncing
Being selective about who in your Salesforce database gets synced to MCE or MCAE will not only ensure that you aren’t sending marketing emails to contacts who shouldn’t be getting them (e.g. contacts who have not explicitly opted in, partners, vendors, and other operational contacts), but will also help you manage your contacts cap.
- MCAE gives you the option of controlling this via Market Data Sharing rules.
- Similarly in MCE, you can use a boolean field on an object to determine if the record gets synced or not.
In both cases, you will need to have automations in place that will determine the criteria for your sync trigger.
Now with MCE, let’s talk about the vexing problem of Leads and Contacts and the potential for duplicates. As mentioned earlier, even if your synced Salesforce Lead converts into a now synced Contact, your now defunct Lead record will still count towards your Contact Count.
How to manage this? Build criteria into the automation that updates your MCE boolean syncing field to unsync the Lead when it converts.
The Leads object has a number of different Lead Conversion-related fields you can use for your criteria — I like using the IsConverted boolean field, for example.
Use a Double Opt-in Signup Process
Using a double opt-in signup process for when a new contact is created is good practice to comply with various global data privacy laws and confirm a contact’s genuine interest in receiving your marketing emails. It also has the helpful benefit of verifying whether or not the email address on record is real.
While this isn’t a 100% foolproof guarantee that a contact still isn’t using a throwaway email address, it will cut down on the number of outright junk emails entering your database.
Pay Attention to Auto-Replies
The deluge of autoresponders and out-of-office replies that result when you send an email to a large list can be a painful constant in a marketer’s life depending on a) whether you’re using MCE or MCAE (MCE has pretty robust Reply Mail Management functionality) and b) what processes you or your organization have set up to manage auto-replies.
But there’s a silver lining to all this: what is being said in these auto-replies can be telling, especially in cases where the auto-reply lets you know that the contact is no longer going to be using the email address you have on record for them (usually in cases where the contact used an educational or organizational email address).
Creating a filter for key phrases often found in auto-replies where a contact is moving on from their organization (“moving on,” “leaving,” “no longer affiliated,” etc.) can give you a heads-up on removing that contact from your own database instead of waiting for the pending hard bounce when that email account is deactivated (which can range from very soon to months to never, depending on the organization’s offboarding process, or lack thereof).
Save yourself from another auto-reply in your inbox, the contact taking up space in your database, and sending who-knows-how-many emails to an abandoned address.
Keeping Your Database Clean is an Ongoing Thing
Contact caps in your marketing database can feel like imaginary numbers to contacts-hungry marketers until their Salesforce Account Executive sends that dreaded over-limits notification. While it’s tempting to simply pay more to keep expanding your database cap, the cost does add up and it doesn’t address the root issues that could be impacting your database.
Without a little routine maintenance and ruthlessness to weed out your unengaged contacts and outright bad email addresses, your database can very easily become a hot mess, and any cleanup efforts thereafter will only become more challenging the longer it is allowed to go on.
But a smart strategy (with help from a little automation) to filter and clean up your marketing database will not only be more cost-effective, but will maintain the integrity of your data.
Have any hot tips to share for keeping your contact list clean? Tell us in the comments.