How to Implement Conditional Completion Actions – plus 2 code-free alternatives to try!

Share this article...

Completion Actions are a type of Pardot automation that fire when a prospect interacts with one of your marketing assets – whether that be an email, form, file or custom redirect (tracked links). Completion Actions are set on the marketing asset itself. This tie means that the action will be triggered each time the prospect interacts with the asset.

What are conditional completion actions?

There are plenty of cases where you will not want the Completion Action to fire every time. It would be more suitable for the action to fire if the conditions are true.  


This is what I mean by making Completion Actions conditional. We are all familiar with this concept when building Automation Rules – first you define the ‘criteria’, whether it be a prospect’s score, field value, profile etc. – then secondly define the ‘action’. There is no ‘criteria’ section in Completion Actions.

This is specially requested for routing form submissions. For instance, if a prospect’s country is ‘Germany’, assign them to the Pardot Group of German users. It would first evaluate the conditions you set (does the prospect have a country of Germany?), and will fire when there is a match.

This idea on the Idea Exchange is now in Product Team Review, which is great…but we have to be real with the fact it is 6 years old, and there is never any guarantee how fast these Ideas move through the product development cycle.

Luckily, there are ways you can make Completion Actions conditional. The first ‘main’ solution involves going under the hood of form handlers with Javascript. But that’s not everyone’s cup of tea. If you want to stay on the declarative side (clicks not code!), then I have 2 alternative solutions to share, available thanks to Pardot enhancements over the past year.

Let’s jump in, under the hood…   

Main Solution: Form Field-based Completion Actions with Javascript

The first method involves creating multiple form handlers, replacing IDs in some provided script with your own, and pasting this script to your Pardot form’s Thank You Code. Full details can be found in this Salesforce Knowledge Base article.

As I said, this solution won’t suit everyone, and it’s best to stick with clicks not code where possible in case changes need to be made by your team.

Alternative Solution 1: Repeat Automation Rules

As I mentioned in the opening, when building Automation Rules – first you define the ‘criteria’, then secondly define the ‘action’.

Automation Rules are evaluating all the prospects in your Pardot account – remember these automations are not tied to a particular asset!

Therefore, the first criteria should tell Pardot to look for only prospects that have submitted the form. This is set by using:

Prospect form — [select the name of your form] — was completed successfully

Next, tell Pardot to single out the prospects who you want to apply this specific action to. I’m going to use the German example again, which would work as:

Prospect default field — Country — is — Germany

It’s so important to make sure you have ‘Match All’ selected so that it will only pull in prospects that have submitted the form AND are from Germany.

Then set what you want to happen to them, eg. Assign to user, add to list…

BEFORE you save! Ensure your automation rules are allowed to repeat. You’ll find this checkbox higher up on the page. 

Downsides to this approach are it will require many individual rules, and will soak up a lot of processing power. Plus, you need to know the ins-and-outs of the Pardot account, it would not be so simple for someone new to make an edit. 

Alternative Solution 2: Repeat Engagement Program

Maybe the 2nd alternative I have to share will be better for mapping out your conditional completion actions.

Engagement Studio has always been favoured due to its visual interface. Anyone can open up a Program, and quickly get an understanding of what its purpose is.

Moving conditional completion actions into Engagement Studio was previously hampered, as once a prospect went through an Engagement Program, they could not re-enter. Even if they came back to submit the same form again, nothing would happen.

Luckily, Repeating Engagement Programs are a fresh new feature that puts our troubles in the past.

Every Engagement Program must start with a list, so the form must add prospects to the list. Set a normal completion action from the form wizard for this.

Once a prospect submits the form, gets added to the list, and starts to flow into the Engagement Program, use Rule steps to send them down different paths. Here is an example of what a Rule step would look like:

A ‘Yes’ and ‘No’ path will appear when you click save, where you can define your actions for a criteria match, and a criteria no match!

Leave a Reply