If you’re a long-time Pardot user, you know that we waited an eternity for conditional completion actions. There are multiple ways and objects in which you can use them, but this quick case study focuses on a specific use case: leveraging conditional completion actions in a Pardot form handler to transform bad values into good ones (as well as a few additional solutions in case your scenario is a little different than the one described below).
The Problem
For many reasons, this client uses Pardot form handlers to integrate their web form submissions with Pardot, rather than Pardot forms. In most cases, the fields and field values in the external forms match the fields and field values used in Pardot and Salesforce, triggering no sync errors and integrating seamlessly.
In one external form, however, the client opted to use different field values (for a Location field) because they wanted those values to be more descriptive to the user.
In Pardot and Salesforce, the picklist values are:
- Hollywood
- Madison Square
- Bradbury
For the external (Gravity) form, the available picklist values are:
- Hollywood (LA)
- Madison Square (NYC)
- Bradbury (LA)
While these sets of values are pretty similar, the latter set began to result in sync errors as they did not match the former set exactly.
To learn more about identifying and resolving Pardot sync errors, read this article for in-depth instructions.
The Solutions
Winning Solution: Conditional Completion Actions
With Pardot conditional completions at your disposal, you can now take action to transform “bad” values almost as soon as an impacted prospect converts. Bear in mind that this process is not instant; the completion actions do not fire upon submission, but after. In our experience, the actions generally fire within a couple of minutes—meaning you might technically still observe a sync error, though this is temporary as the error will quickly resolve on its own.
To build this solution out, we created three new conditional groups as completion actions on the Pardot form handler. Each group followed the same general logic but referenced different values.
- If [Prospect custom field] [Location] [is] [Hollywood (LA)], then Change prospect custom field value Location to Hollywood
- If [Prospect custom field] [Location] [is] [Madison Square (NYC)], then Change prospect custom field value Location to Madison Square
- If [Prospect custom field] [Location] [is] [Bradbury (LA)], then Change prospect custom field value Location to Bradbury
After you’ve reviewed the logic and saved your form handler, be sure to test it thoroughly (we like to use an Incognito browser and a disposable email address service like Temp Mail for test submissions). Make sure to:
- Make a point of choosing the “bad” values when submitting the external form
- Evaluate the net-new prospect record right after submission, observing the “bad” values still in place
- Return to this record a few minutes later to see if the “bad” value has been transformed into the correct one
- Either wait for the sync error to resolve on its own, or manually force it to re-sync (and resolve) by clicking the “Sync with CRM” button in the upper-righthand corner
- Verify the sync error has resolved and that the record (as well as all of its field data) has synced to Salesforce as expected
Bonus Solution #1: If your issue involves a Pardot form (not a form handler)
If our client had been using Pardot forms and not form handlers, the solution would have been much easier to implement; we would have simply created custom labels for each value but retained the correct values internally.
Bonus Solution #2: Automation Rules
Automation rules can also be used to accomplish the same end result, but it’s messier; it would require three separate rules (and many of our clients struggle to stay under their automation rule limit as it is). This would also be more complicated to edit or update in the future, as you would need to update each rule individually (and remember to resume them after editing them!).
To achieve the same solution with an automation rule, the logic would be very straightforward:
- The rule criteria would be: [Prospect custom field] [Location] [is] [Hollywood (LA)]
- The rule action would be: Change prospect custom field value Location to Hollywood
Next, simply clone the rule twice and switch out the values with the ones you haven’t yet referenced.
Struggling to get a handle on your automation in Pardot? Reach out and let us know.