0
votes

So we've the ubiquitous Pardot challenge of how to approach two distinct Salesforce Contacts using the same email address. As we know Pardot sync's on the last active (or even random) and therefore a Pardot Prospect could be synced with the incorrect Salesforce Contact.

Clearly, utopia would be for Pardot to look at First Name, Last Name and Email Address as a first stop in its logic to help identify the correct Contact. That, however, doesn't even appear to be on the roadmap. Has anyone here used a super-smart and creative way to address this challenge? eg:

Contact 1. Jane Smith using email [email protected]

Contact 2. John Johnson using email [email protected]

Jane submits a Pardot form using her name and details, including the email [email protected]

John has the last activity in Salesforce. The logic therefore sync's Jane's Pardot form submission with John's Salesforce Contact.

... and all of the sudden we're up the proverbial creek!

I suspect, since this issue is so pervasive, someone must have a creative solution. At least I'm hoping :)

Thanks! Ten

1
This doesn't seem to be very coding-related, you might have more luck on SF-specific site which admins, marketing cloud specialists and whatnot visit too. Cross post this to salesforce.stackexchange.comeyescream
I could be wrong, but it appears there could be a meaningful/sustainable API solution to this challenge. That said, I suspect given the protracted existence of this challenge perhaps there is no meaningful solution. Would be interested to hear of any creative solutions which have been enabled to address this challenge. Thanks!TENIDEXX
In our opinion the "problem" of AMPSEA is a XY problem. For example, Pardot already deduplicates prospects when sending to lists. You can elect to not use the out of the box connector implement your own sync logic (First Name et al) by calling APIs. Not a trivial task but definitely doable. Pardot is moving this way by exposing more APIs and communicating that future items of this nature should be implemented by 3rd parties and published to AppExchange.identigral
Thanks, identigral. Do you have precendent or examples of "You can elect to not use the out of the box connector implement your own sync logic (First Name et al) by calling APIs."?TENIDEXX

1 Answers

0
votes

An API approach could look something like this:

  • You would have to have a service sitting somewhere that your form would POST to (not Pardot)
  • Create a Form Handler that will be used for honestly the vast majority of use cases (by your service)
  • Use Pardot API to Read Prospects by email
  • If none found, POST to a Form Handler then do a new Read by email (to get the Prospect ID)
  • If 1 prospect is found, POST to the Form Handler (Pardot will pick the right one here!)
  • If more than 1 is found, use Pardot API to update the correct Prospect
  • Associate the visitor to the Prospect via IDs (if you can capture the Visitor ID as part of the POST request to your service

A slight variation would be to redirect the "form submitter"'s browser to the Form Handler URLs if there isn't already multiple prospects for that email.

I think I prefer the service handling all the Pardot stuff asynchronously, just have the Service validate the form submission and send the visitor on their way as quick as possible, and do the Pardot API stuff when it can. It will depend on your service and how much you want to put into it.