Guide: Custom Object Pardot Syncing for Salesforce

Capitalize on data stored in Salesforce custom objects in Pardot.

Custom objects are commonplace in Salesforce. Many companies use them to track data thats unique to their organization. AppExchange integrations use them to store their data. There is literally an unlimited number of scenarios where they can be used.

Introduction to custom objects in Pardot

You may be asking yourself, “what is a custom object anyways”. This is a great place to start because there are some key distinctions to keep in mind.

First, you need to understand what a Salesforce standard object is, compared to a Salesforce custom object.

  • Standard objects are objects that are included with every Salesforce org. For reference, examples include Leads, Contacts and Opportunities.
  • Custom objects are objects that you create to store information that’s specific to your company or industry. Usually these don’t fit neatly into a standard object.

By default, Pardot natively connects with the Account, Contact, Lead, Campaign, Campaign Member, Task, User and Opportunity standard objects. Pardot does not natively connect with custom objects (it is possible using the Pardot custom object sync feature, though). This is where things start to get tricky.

Pardot doesn’t natively integrate with many standard objects like Case, Order and Contract. Even though they’re technically standard Salesforce objects, they still count as Pardot custom objects.

How the Pardot custom object integration works

Before you begin connecting any custom objects to Pardot, these are the constraints you’ll be working within:

  • Custom objects can only be used as criteria for dynamic lists, automation rules and segmentation rules. Because an automation matches prospects, a custom object automation rule matches prospects related to a custom object. Put another way, Custom objects need to be related to a lead or a contact, or else they do nothing.
  • This is another big restriction, albeit with a suitable work-aroundcustom object fields cannot be used natively as variable tags within emails.
  • Pardot can only read custom object data, it can not write to it. Meaning, don’t expect to be able to update Salesforce custom object records through Pardot.
  • Up to four custom objects (you can request more) can be synced for Pardot Advanced edition customers. Pardot Plus customers can pay an additional fee.
  • Custom objects sync in the background every 10 minutes.

Creating a Custom Object in Pardot

This is actually pretty straightforward. Taking the above into account, here’s what you need to do:

new pardot custom object create window
  1. Navigate to Admin | Custom Objects, and click + Add Custom Object.
  2. Select a CRM object.
  3. If necessary, edit the display name, plural display name, and display field.
  4. When finished, click Create custom object.

Troubleshooting: Custom object not showing up in Pardot?

There are several possibilities.. and Salesforce explains them in their documentation. Here they are:

  1. Metadata hasn’t been refreshed. Solution: Try refreshing your Salesforce connector.
  2. There is no valid lookup field present in the custom object. Solution: Add a lookup field to a lead or contact. If lookup does exist, make sure Pardot connector user can atleast read the lookup field, or else it won’t know the field exists.
  3. No “Read” permission hasn’t been granted to the Salesforce Connector user in the Custom Object Permissions section. Solution: Pardot need as minimum ‘READ’ access to sync a custom object.

How to create a dynamic list or automation rule using a Salesforce custom object.

Here’s where you can actually begin to explore a number of different possibilities.

pardot dynamic list custom object critera

First off, make sure you have given Pardot ample time to populate the new data. It could take up to four hours for metadata to be refreshed.

You can match prospects by three options: related | not related | related with properties. This is of course referring to the custom object specified in the dropdown.

Next, you can select the specific contact or lead lookup field. For instance, there may be lookup fields for multiple contacts on the custom object. You can specify that field here.

Finally, if you chose related with properties you get the option to filter by specific fields on the custom object. This is where you can really customize your lists, segmentations and automations.

Email variable tag workaround

In the case you want to use a custom object field in an email, you can create a formula field on the lead or contact object that pulls data from the custom object’s desired field. Then map that field back to Pardot as a prospect custom field and insert that field into emails.

Keep in mind: changes to formula fields DO NOT trigger sync processes between Pardot and Salesforce, so if you decide to go this route, you must ensure Pardot data is up to date before sending an email.

Engagement studio workaround

Pardot doesn’t allow filtering based off custom object fields in Engagement Studio. That’s definitely a nuisance, however, there’s an easy solution because you can create dynamic lists.

Use a dynamic list to filter custom object details. Any prospect who matches the criteria will become a member. And when they no longer meet the criteria, they will be removed.

Using that, within an engagement studio program you can check to see if a prospect is a member of the above referenced list.


Pardot Custom Object syncing isn’t perfect, but it’s better than nothing. There’s plenty of opportunity to maximize you investment with Pardot by syncing Salesforce custom objects.

Relevant Documentation