You may know that Salesforce Leads and Contacts are different from one another. In Pardot, we have one object – Prospects, which needs to accommodate syncing with both Leads and Contacts, depending on where the Prospect is in the sales cycle.
Being two separate objects in the CRM, Leads and Contacts have their own properties, including fields. This means that when you create a custom Lead field in Salesforce, it does not automatically get created on the Contact object.
Creating the custom field on both objects is crucial, so that the Lead data is passed to the newly created Contact when a user converts a lead. Once that’s done, you need to map the lead fields. Then, head back to Pardot to do your mapping…
When you navigate to Admin → Configure Fields → Prospect Fields, you will see the ‘salesforce.com Field Name’ dropdown box. Scroll to find the name of the field you just created.
But wait! What if there are two versions of the same field appearing in the list? Which do you choose – the Lead custom field, or the Contact custom field?
Stop there, and jump back into Salesforce. You need to reconfigure your fields so that they share the same API Name.
What is an API Name?
In short, the API Name is what Salesforce uses when communicating with other applications. Pardot and other connected systems know how to receive and where to send data based on the field’s API name – a unique field identifier.
When you create a Salesforce custom field, you define the:
- Field Label: what users see
- Field Name: what applications see
The API Name is automatically generated from the Field Name when you click Save.
Let’s look at how Field Name inconsistencies can cause you to trip up when mapping fields with Pardot.
Avoiding the API Name Trip Wire
You have a custom field you want to show on Leads, Contacts and Pardot Prospects called ‘Location of Choice’.
It could look like this on your Lead object in Salesforce setup:
Therefore, it must be exactly the same on the Contact object – a field in the image below would not work:
If there is any difference in the name – even that pesky ‘of’ that slipped in – two options for that field will appear in the field mapping dropdown list on the Pardot side. You can only choose one – either contact or lead – and you Prospect custom field would only sync with either Leads or Contacts (excluding half or more of your database).
Essential to know: Naming Salesforce Custom Fields to be Pardot-friendly
As I just mentioned, even a slight difference in the Field’s API names would trip you up. Here are some tips:
- Field API Names are case sensitive – don’t mix capitals and lowercase!
- When you save a Salesforce custom field, ‘__c’ will be automatically added to the end. This will happen for every custom field, and you don’t need to worry about it.
- Ensure you use the same data type across Salesforce and Pardot, eg. text field types and not a mix of number & text fields!
What if you’ve messed it up already?
Editing the API Name on a field should be done with caution.
In fact, if you attempt to do this, you will be warned:
Don’t ignore this warning. The API name could be referenced in many things ‘under the hood’ inside and outside your Salesforce org, such as classes & triggers (hard coded by developers), 3rd party integrations, custom report types and more…
Getting visibility into where it’s referenced isn’t so simple, and I would recommend having a Google for some AppExchange solutions that could help you out.
Once you have cleared this field being referenced elsewhere (and only then), edit the field. On the Pardot side, you will see one ‘salesforce.com Field Name’ in the dropdown box. Now Leads, Contacts and Pardot Prospects can live in harmony, and sleep easy knowing data will sync consistently across custom fields.