We have a custom field in Pardot that is synced with a field in Salesforce. The setting Keep this field’s type and possible values (for dropdowns, radio buttons, checkboxes) in sync with the CRM is enabled. In Salesforce there is a default value for this field. When a prospect submits a certain form handler, I can see in the Audits section that this field is filled with the default value, even though this field is not present in the form handler (nor in the form on the website). Moreover, the time this field is populated is the same the form handler is submitted and the source is the same - Web Tracking and not CRM, as I would expect if it was filled because of the sync with the CRM. Any clue on why this happens?
2 things to consider:
- Is the visitor's browser hitting the form handler, or are you POSTing to the form handler behind the scenes (server-side submit). If you are doing a direct POST, the form handler won't have any reference to the visitor's pardot visitor ID and can't determine the source campaign. If this is the case, you might want to look at using the Pardot API to "assign" a visitor reference to a prospect to see if you get your desired results. https://developer.pardot.com/kb/api-version-3/visitors/
- When the prospect is synced to Salesforce, and Salesforce doesn't get a value for a field with a default value, it will set the value and then possibly cause another sync back to Pardot, making it appear as if the value "came from nowhere".