Taking Advantage of Custom Objects Using Pardot
I recently presented at ParDreamin’ about syncing Salesforce Custom Objects with Pardot. Custom objects are instrumental in extending Salesforce organizations, but I wanted to help Pardot users understand how they could take advantage of them in their own accounts. In the presentation, I detailed my experience working with them, and if you missed the virtual event, here’s a summary of what I presented.
Introduction to Custom Object Integration in Pardot
The first question that comes to mind… what is a custom object? First, we need to understand what a standard object is in Salesforce.
What Salesforce Standard Objects Sync with Pardot?
Salesforce standard objects are objects that are included with every Salesforce organization, which there are a lot of. For the purposes of Pardot, it natively connects with:
- Leads and Contacts, which sync with Prospects.
- Accounts and Opportunities, which are related to Prospects.
- Campaigns and Campaign Members, which are synced with Connected Campaigns.
- Tasks, which Pardot can create.
- Users, which are synced to Pardot with User Sync.
The fact that some Salesforce standard objects don’t natively sync with Pardot is an important distinction. Most Salesforce standard objects are actually considered Pardot custom objects. A few examples are the Case, Order, Product, and Contract objects.
What Are Custom Objects?
But what about Salesforce custom objects? Those are objects that you create to store information that’s specific to your company or industry. Pardot does not natively connect with Salesforce custom objects. Keep in mind, these could be objects in other Salesforce Clouds like Health Cloud, Nonprofit Cloud, or Finance Services Cloud.
What is a Pardot Custom Object?
Pardot custom objects are any Salesforce standard object that doesn’t natively connect (referenced above) or any Salesforce custom object.
How Does the Custom Object Sync in Pardot Work?
A great question. Here is an example diagram of the sync at work:
For this example, we’re looking at the case object. In this org, there are actually two contacts on each case record. The contact who opened the case (Contact #1) and then a technical contact (Contact #2). Both of those contact records line up with prospect records in Pardot:
And because an automation matches prospects, a custom object automation rule matches prospects related to a custom object. You can run a dynamic list, automation rule, or segmentation rule against a Pardot custom object. In this example, we created a dynamic list:
Put another way, custom objects need to be related to a lead or a contact, or else they do nothing.
Creating Custom Objects in Pardot
Knowing how the custom object sync actually works is helpful to understand before actually configuring them in Pardot. Assuming you have the Salesforce Connector already configured, these are the steps to create:
- Navigate to Admin | Custom Objects, click + Add Custom Object.
- Select a CRM object.
- Optionally, edit the display name, plural display name, and display field.
- Click Create Custom Object.
- After creating, optionally click the gear (under actions) and click “Configure Fields” to toggle fields that display on the prospect record.
One thing worth pointing out is that the “Display Field” is what shows up on the prospect custom object table in their respective records. You can also configure those table fields if you click the gear under the action menu in the custom object table. Here’s what the prospect record looks like in the previous example:
Custom Object Constraints
Before you began connecting any custom objects to Pardot, it’s helpful to understand the constraints you’re working within:
- Custom 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 records for Salesforce custom objects 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.
- Objects sync in the background every ten minutes.
On variable tags… 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. There are some limitations, of course, as formula fields don’t automatically sync with Pardot when they’re updated, so you need to make sure those fields are up to date before sending any emails.
There are several possibilities why custom object data wouldn’t show up in Pardot, and Salesforce explains them in their documentation.
Metadata hasn’t been refreshed
A really common error is that you can’t see Custom Object records in Pardot. Remember metadata only syncs in the background every 10 minutes.
You can do two things here. Try reverifying your Salesforce Connector:
Or you can try manually syncing a prospect to show related custom object data:
No valid lookup field
Another issue is that the Custom Object you’re trying to connect isn’t related to a Prospect record. So, if you have a Prospect tied to a Lead or Contact, but there is no lookup field on those records to sync with the Custom Object you want to connect, then Pardot won’t give you the option of connecting that object.
No “Read” permission has been granted
Every Pardot account has a Connector User, which provides the lens into Pardot. Whatever object permissions that user has, determines what Pardot can see. So, if Pardot doesn’t have at a minimum “Read” access to the Custom Object, then you won’t be able to sync with Pardot.
Ways to Use Custom Objects in Automations
Now onto the good stuff. How can you use custom objects in your Pardot account today? Since there are an unlimited number of use cases, use these as inspiration and think about how it would make sense to incorporate them into your marketing teams processes.
Any prospect who purchased a yearly subscription more than 300 days ago will be added to this list:
This dynamic list could be used as the recipient list in an engagement studio program designed to encourage existing customers to renew a product. You could also use a similar dynamic list to cross-sell products to existing customers. As mentioned above, the possibilities are limitless.
Keep in mind, there are other ways to accomplish this action in Pardot. In some Pardot accounts, Contact records have product data on them, making it a more flexible way to automate.
Any prospect who attended ParDreamin’ with a Premier ticket will be added to this list:
This dynamic list could be used as the recipient list in an engagement studio program informing registered attendees of session details and announcements. Similarly, an automation rule could match all Volunteers for the ParDreamin’ Conference and tag them, add them to a list, add to a campaign and update status, or send them an email.
Recurring Donation Ask
Any contact who made a one-time donation of more than $999 will be added to this list:
This dynamic list could be used as the recipient list in an engagement studio program asking high-value, one time donors to set up a recurring donation. Or, you could use it as a list to send out an automated marketing thank you email.
This is a really valuable example, especially for nonprofits with limited resources. You can really help impact the amount of money your organization can raise, using automations in a really efficient way.
Any contact who has an open case will be added to this list:
Use this as a suppression list, as to not irk customers with marketing emails when they’re dealing with an unresolved case.
Any contact related to an Account that has an open, high priority case will be added to this list:
Slightly different from the previous examples, this list will match all prospects related to an account with the criteria we specify.
Pardot custom object syncing isn’t perfect, but it’s better than nothing. There’s plenty of opportunity to maximize your investment with Pardot by syncing with custom objects. If you’re looking for official relevant documentation, check out these links: