The Pardot-Salesforce Connector Sync Queue is one of those things that a good admin knows to check regularly, and one of those things that, maddeningly, has no way of sending you a proactive alert that there's something "stuck" in it. One of the most common reasons that something gets stuck is that the Salesforce duplication rules are in place and it's sending an "alert" that there is a potential duplicate. This alert reads:
This prospect has a sync error: You're creating a duplicate record. We recommend you use an existing record instead.
Now, Pardot (MCAE*) will not typically create a duplicate record with the same email address, so the most typical reason for this rule to fire is someone using the same name but a different email address, or, depending on how the duplication rules are set up, it could simply be a lead that likely matches an account being enough to set it off. This "alert" to a regular user is in the form of a popup message on creation that asks you if you're sure you want to create a record, because it might be a duplicate.
The problem is that while a regular user can say "I'm sure, go ahead and create the record," and push the override button. the connector user cannot do this, and so the record gets stuck in the sync queue.
How do you fix this sync problem? You have to allow the connector user to ignore the deduplication rules.
This is one reason why having a dedicated Pardot connector user-- the "free" B2BMA Integration user is ideal for this, since it has no other purpose other than syncing with Pardot. If you aren't using the B2BMA user, and your connector user is a "real" user, then there are of course consequences for alllowing the duplicate rules to be ignored.
The process for overriding the duplicate rules is pretty simple. You really only need to it for leads, since if Pardot is going to create something, it's going to create a lead♦. Essentially you are going to create an exception to the standard lead duplicate rule that says it only applies to usernames that that ARE NOT equal to the connector's username. In the example below I inserted the B2BMA Integration's username, which you can find in the users section of Salesforce settings.
Once this is in place, if you have a lot of sync errors from deduplication rules, you can do a mass-resync of the sync queue by selecting mupliple (or all) records and choosing "resync prospects" from the dropdown at the bottom of the sync queue page. All those leads should now push into Salesforce, and going forward, this type of sync error won't be an issue.
Incidentally, this same strategy can be used to prevent failures on creating records with web to lead as well. This problem is a lot harder to "see" because you're unlikely to get any indication at all that the submission failed. However, the standard 'create' user on web to lead is usually an real user, so once again, you are creating a situation where that user is immune to the duplication rules.
♦ In certain circumstances you might want Pardot/MCAE to only create contacts (if your org does not use leads). This is possible, and can be enabled by contacting support.