When Pardot syncs with Salesforce life is good. When it doesn’t sync with Salesforce, life is bad. You will learn how to diagnose, treat, cure, and even prevent your Pardot/Salesforce sync errors. Learn about common problems, solutions, and some fun Pardot tricks on how to make sure the records you are syncing with Salesforce are actually valuable, not just junk.
Overview of Speaker – Lara Black – and Presentation
Hi, everybody. Welcome to ParDreamin’. This is going to be our presentation on Pardot sync errors, diagnosing, solving, and preventing them. I am Lara Black. I’ve been using Pardot since 2011 back before Pardot was even owned by Salesforce. I often say I’m so old in Pardot years that I remember before some common Pardot features were implemented.
Over my years of using Pardot, I have broken a lot of things, and I had to figure out how to fix them. So I’ve been around, I’ve seen a lot of things, and I hope that you’ll find something interesting with today’s talk about sync errors. In this session, I am going to cover what sync errors are and why they are important. I’m gonna show you some common sync errors, examples of each one, and talk about how to solve each of them. And I’ll close out by showing you some tips and tricks from me, Product Pro, and I think you’ll find it fun.
What are Sync Errors?
When I talk about sync errors, some people don’t even know what sync errors are. And so, the next question is, why do we even care about them? So let’s start with where do you even find them? Sometimes when I ask people, “Hey, “you’re saying you’re having problems. “What do your sync errors look like?” They kind of give me a blank look. They don’t even know what sync errors are.
To locate your Pardot org’s sync errors, you go to the connectors page, and then on the Salesforce connector find the little gear or cog icon, and click that. And you get this menu to drop down, and you’ll see one of the options is sync error.
When you click that, it’s gonna show you a page kind of like this. Sync errors are bad, because they mean that your prospect is not syncing at all with Salesforce, so you do want as close to zero as possible.
Reviewing the Sync Error Table
The sync errors table that we are reviewing looks exactly like a normal prospect table. It shows you their name, their company, their score, or the grade, but it’s got these two extra columns, one for the date the error occurred, last time it tried to sync it in that column, and then a column for the actual errors that are preventing the sync. This is a normal prospect table. You can select them all and do table actions with a little dropdown box at the bottom. You can also export prospects from this page from the little tools thing.
So, the error message is what I want to call your attention to. And the important thing to know is that these errors, they are not something that Pardot just threw in there. These errors are actually coming from Salesforce. Salesforce threw in the error. Pardot was trying to sync with this record, and it couldn’t. So it’s showing you the date, and then it’s showing you the actual error that Salesforce displayed to Pardot.
The problem with these errors is that it means that these prospects don’t sync with Salesforce at all. So changes in either system do not sync to the other system. So if there is a change in Pardot like they filled out a form and they updated something when they filled out the form, that change can’t sync up to Salesforce.
Changes in Salesforce, like maybe an opportunity update, will also not sync down to Pardot, because there’s an error. And that can have big implications, because, for example, maybe they closed that opportunity and they’re now a customer, so they should automatically meet your suppression list for prospective customer nurture.
The sync error causes problems because you’re not able to drop the prospects out of nurtures, or maybe they’re getting the wrong emails. Maybe they should be suppressed. And just the systems don’t sync, so they can’t match your Pardot suppression rules or join lists that they should join as customers, things like that.
Common Sync Error Examples
So, as much as I said sync errors are really important, don’t panic, because they come in some pretty common types. And I’m gonna show you some of the most common types and also show you how to solve the most common types.
Bad or Invalid Data
The most common sync error I see is literally bad data that is preventing a sync to Salesforce. This could be in the form of a Validation Rule that has been activated on the Salesforce side that is preventing a Pardot prospect from syncing. This example, in particular, says that when the country field says United States, the state field must be populated.
You might see something that says field integrity exception. There’s a problem with this country or state, even though it may appear correct. Other examples are an invalid picklist value or a field length being too long.
So these are really, really common sync errors that you might encounter. The solution is pretty straightforward. So like if you’re saying that a field requires a value, then you need to populate the value.
If you have a field integrity exception, you need to correct something. Invalid picklist value, you need to correct something. So these can be things like your Salesforce admin implemented a validation rule saying like you can only use the countries listed in this field, and somebody imported a list and they use England instead of United Kingdom, or the rule that says if it says United States, you can only use the US states in the two letter state code format instead of the fully spelled out state code format. And the fully filled out state was inserted. So those are really common errors. And the solution is really simple.
You, as the Pardot admin, can correct most of these things. You can export your prospects in your sync errors table, and you can just update/populate the fields causing errors with valid values. Then you can re-import the CSV to have the prospects go back in the queue. It’s gonna sync in a few minutes.
You still need the master field level settings where Pardot is able to update data in Salesforce. You need to still change the sync behavior, so that Pardot’s able to overwrite the value in Salesforce. But once you re import it, all that happens, it puts it in the queue, it syncs, the data updates in Salesforce, things sync again. And it gets really easy to fix these things that are bad data. So don’t be afraid of them.
Duplicates
The next issue is going to be where you have an error message that says duplicates are found. This may be two contacts, a lead and a contact, or two leads within Salesforce. You may have two contacts in Salesforce. Duplicates are kind of the bane of the marketer’s existence, because in Pardot, you might have a contact who’s in an account and the account is a client, but then you also have a duplicate that’s a lead. And Pardot is just copying what Salesforce does. So if you have duplicates, it’s because you have duplicates in Salesforce.
So, somebody created a lead, and now they marked the lead as eligible for nurture somehow. So now this person who’s supposed to be marked as a client, there’s a duplicate of them that’s marked as a potential prospect, and you’re gonna nurture them. And it just makes you look bad, because Pardot is going to put the “version” of them that is a lead into the nurture program.
The lead can’t inherit any account fields that would normally suppress them. And suppressions are ID number specific. So a contact has a specific CRM ID. A lead has a specific CRM ID. So if the contact version is on a suppression list, it doesn’t affect the lead version of them. The lead version of them is still eligible to get those emails.
I will say that there are some reasons for businesses to have duplicates on purpose. But if that is the case, your Salesforce admin probably needs to disable a duplicate validation rule in Salesforce, so you won’t see these things, and you would know about it upfront.
If you’re seeing an error that says a duplicate is found, the solution is to go into Salesforce and merge them. Do not delete records from Salesforce. Delete causes other problems, which I’m gonna show you in a minute.
The great thing about merging the records in Salesforce is that Pardot is going to follow what you do in Salesforce. So when you merge the duplicates in Salesforce, when it syncs with Pardot, Pardot will merge the duplicate records in Pardot.
So basically if you have two Pardot prospects, and one of them has a cookie and one doesn’t, one of them has been sent emails, it’s gonna merge all of the prospects into the same one. It’s gonna solve all that problem for you by merging them. In the event where you have a lead and a contact, you want to convert the lead and merge it into the existing contact.
You do not want to delete the lead. Deleting things causes problems so you should merge records whenever you can.
Flow Error Messages
So this takes us on to common error number three, which is where you’ll get a flow error message, cannot execute flow trigger. Basically this means that too many things tried to happen in Salesforce and Salesforce choked and couldn’t execute the flow.
A common scenario for this, like in normal times, maybe you went to a trade show and you got an Excel file, and now you’re gonna upload it into Pardot to do your follow-up. Plus when you upload a file into Pardot, Pardot’s gonna dedupe for you based on the email address field.
So then you’re uploading the file, and you’re going to let Pardot do its deduping, and you’re gonna drop them into a nurture program. But along the way, you want to assign the prospects into Salesforce. So it’s pushing the records into Salesforce kind of all at once, hundreds and hundreds of them at a time.
Well, Pardot can kind of shove too many things at Salesforce and Salesforce can’t quite keep up. So you might see this error. The solution here takes advantage of a brand new feature Pardot just rolled out, its option to resync prospects.
So, at your prospect table, just select all of them, go down to the bottom, and choose this table option called resync prospects. Click Go, and you’re gonna see the prospects be back into the sync queue. And they should sync in a few minutes, and that that error will go away. So this is probably the easiest one to solve.
Deleted Salesforce Records
If you remember, I said deleting things from Salesforce is bad. When you have a record that’s been deleted from Salesforce, Pardot flags it as it no longer having a Lead ID or Contact ID. Pardot flags it as a CRM deleted prospect.
This means that the Pardot prospect can no longer sync with Salesforce. And from Salesforce’s point of view, like Salesforce just puts them in the Salesforce recycle bin, and they get deleted after a period of time. With Pardot, deleting the record does drop them in the Pardot recycle bin, but Pardot does not automatically purge its recycle bin. It just stays in the recycle bin, stays with this flag of CRM deleted.
This problem happens when sales have disqualified a lead. And instead of doing what they’re supposed to do and marking them disqualified, they just delete it. It goes into the part out recycle bin. And now this lead actually comes back and fills out the contact us form again. Well, Pardot can’t create a new lead out of this person, because the CRM deleted flag is preventing it from syncing with Salesforce. So there’s a lead sitting there that cannot be created, cannot be followed up on. So deleting things from Salesforce is a problem.
The solution here is you have to run these records through a very special automation rule to clear that CRM deleted status. The first step is going to be creating the automation rule and looking for the recently active but deleted prospects. The next step is you don’t want to apply this action to every deleted prospect in your database, because some of those deletions might go back years. Basically you’re gonna look for people who are active less than one day ago so that gives you the people who are recently active. And then the action is the important part where you use a special action that says allow deleted CRM lead or contact to recreate from Pardot.
Preventing Junk Data Through Automation Rules
Here I will talk about a reason that you might want to purposely prevent prospects from syncing with Salesforce. When you signed up for Pardot, you got 10,000 seats in your database for free. And then for every additional 10,000, you pay for an additional contact block. It costs more money. If you have junk records taking up space that you could better allocate somewhere else or if you send an email and they have hard bounces, it does bad things for email reputations.
You might have noticed that, and if you’ve been doing this email marketing gated content thing for a while, there are some things out there that are temporary email domains. So one of them is Mailinator.
My favorite one is called Shark Lasers. I don’t really know what that’s about, but you can see others that are called like 10 Minute Email, things like that. And basically the idea is that, let’s say, you’re gating a piece of content, but people try and get through the form without putting in their real information, so they put junk in there.
You can leverage common stuff in the email domain and make them match an automation rule and mark them as junk automatically, so that they automatically stop counting against your database limits, they stop costing you money, all that good stuff.
So this rule uses the semicolon trick to create an or between multiple entries. The fun part is that I’ve got a file on my website where you can download these really common email domains that are bad that I’ve come across over the years, and you can run it through, cruise your data app, and create an automation rule. Basically you can create these line items that say a prospect default field email ends with or contains these common fake email address domains to catch all of the junk data. The actions would be to not sync with the CRM and to change the prospect default field Do not Email to “do not email”.
You can add them to a junk list if you want as well. The thing here that I wanna point out is that there’s this feature at the bottom of automation rules called execute in real time. And I don’t usually recommend turning this feature on, but it works really, really well with this sort of thing.
This feature will not have the automation rule constantly running — it runs in the background like a normal automation rule. But when somebody fills out a form, the form actually pings this automation rule and checks if something in the form submission means that this automation rule should fire immediately before other form completions are done.
So let’s say you have a form set up to deliver what your gated content. You’re not giving them a button that says download here. You’re preventing them from entering bad addresses. Maybe you’re trying to stop your competitors, something like that. You’re delivering your content by email. You send them an email from the form. This rule, marking them as unmailable, would actually fire before that email is sent. So the form is submitted.
This rule runs checking against the email address. So if it says like mailinator.com or 10 Minute Email or something like that, they’re gonna get marked as hard bounced unmailable before the email even fires out. So that means that you’ve cleaned your database, prevented a junk submission, all in kind of one step.