Treat Existing Customers as New Leads: Create Salesforce Leads from a Pardot Form Submission

Share this article...

We’ve been thinking about how some businesses don’t fit the mold that’s typical for Pardot/Salesforce customers. How you treat existing customers depends entirely on how your business runs.

There are different lead lifecycles that could kick in when an existing customer submits a Pardot form, ones that Lucy and I have worked in organizations implementing these unconventional approaches.

When an existing customer submits a Pardot form:

  • Accelerated through the funnel: this approach means that a new opportunity should be launched from the form submission. The result? You will respond faster to repeat customers, as this is pushed into your sales pipeline.
  • Restart qualification: this approach means that any new form inquiries should go back through as lead records. This is typical of large B2B organizations, with separate business development and sales teams.

The second scenario is what I will show you in this post. But first, I wanted to give you the background.

In an ideal world, Salesforce Contacts and Accounts will have one owner. If a contact wants to get in touch, they will know who to reach out to, and then that call or email will get logged as an activity against the contact record, done.

Simple, right?

The problem is a lot of us do not live in this ideal world. We live in a world where contacts and accounts have multiple owners, covering different parts of the globe, and specialise in different products or services. We live in a world where even if a contact has a single owner, the individual may not necessarily know who that is, or the best way to get in touch.

These are some of the problems we faced as an organisation when introducing Pardot, and rolling out a new process that to automate our incoming leads, at the same time. This post will walk you through what we’ve done to overcome these challenges in our business, showing you how to recreate our solution using Process Builder.

Leads Are Straightforward – What About Contacts?

Leads are straight forward. Someone has a query or wants to do business with us, they fill out a Pardot form (or form handler), the Salesforce lead assignment rules forward it to the best person to speak to, and that person gets in touch. It’s simple and it works, and in my experience, the more simple a process is, the better!

However, we had one scenario which didn’t ‘play ball’ with this new process: what happens when an existing contact fills out one of these forms with a query?

The business wasn’t going to change how it operates. We weren’t suddenly going to try and tell sales that contacts and accounts would now have a single owner – that just wasn’t going to work:

  • Accounts have multiple owners depending on where they are in the world.
  • Contacts have multiple owners depending on the different products they have bought over the years.

The whole thing would have been too complex to set up, and the last thing we wanted was another complex process.

We did have a very simple lead process, so we thought about how we could tweak this process to get to a resolution. We decided that when contacts returned back to one of our enquiry forms, they would be added as new leads, to restart the lead lifecycle. With the help of Process Builder, turns out it was relatively easy to accomplish! Here are the steps we went through to achieve it:

Step 1: Create a Salesforce Campaign for Pardot Forms

The first thing that needs to be done is to create a Campaign in Salesforce as all Pardot forms need to be associated to a Salesforce Campaign. Connected Campaigns are ideal, as you only need to create the campaign in Salesforce and it automatically gets created in Pardot.

Step 2: Configure Campaign Member Statuses

The Campaign Member Statuses for the Campaign then need to be defined. This is very important as the status is what will be firing the process later on. It is a good idea to try and keep the terms generic here and come up with a standard across all campaigns. “Responded” is what we decided to go with.

Step 3: Add Completion Actions

Next, you need to add Completion Actions to the form or form handler for when it has been completed. The Completion Action needs to add the prospect to the campaign in Salesforce with the specific status previously defined.

Step 4: Process Builder

The process for this is fairly straightforward. To start with, create a new process that starts when a record changes.

Next, add the Campaign Member object to the process, making sure it starts when a record is created or edited.

We will design this process to fire when an existing contact is added as a campaign member, and not a new lead; in other words, if a lead is added to this campaign, the process should not run.

Add some formula magic for the criteria:

This formula checks that the Campaign Member added to the campaign is a contact, and they have the Campaign Member Status of Responded. If you only wanted to fire this on leads with a specific record type you could also add this in here ([CampaignMember].Campaign.RecordType.DeveloperName   = “Example_Record_Type”)

Finally, you need to tell Process Builder to create the lead record, and what data that lead should contain. We do this by referencing the existing contact record, and the existing contact fields will be copied on to the new lead’s fields.

A few words of warning: because this is done via the campaign member object, you need to make sure you lookup to the correct values. Lead and Contact fields that have the same purpose have different names; a good example of this is Company vs. Account Name. Then there’s also ensuring that you drill down to the correct objects; taking Company again, the lead record will need to take the value [CampaignMember].Contact.Account.Name, which means looking up from the campaign member to the contact, then again to the account (campaign member → Contact → Account). However, for other fields there’s less hassle, for example, with Last Name, you only need to from the campaign member to the contact (([CampaignMember].Contact.LastName).

Something very helpful is to add a note in the description for your users to say that this is an existing contact that has returned to the start of the lead lifecycle. You can use a formula like the below in the description field (make sure to amend the URL so it works with your org:

“Notes: ” &



” This is an existing contact:” & [CampaignMember].Contact.Id

Your final record create action will look similar to the image below, of course adding your own specific requirements:

Step 5: Test

Once the process is finished and activated, you need to test it to make sure everything is working as it should be.

If done correctly, once an existing contact submits a request through one of your forms, a lead should be created which then gets assigned automatically using your lead assignment rule.


This post has given you good insight into how we have tackled our complex unconventional contact/account ownership use case, where contacts and accounts have multiple owners, covering different parts of the globe, and specialise in different products or services. By taking advantage of Process Builder and the Campaign Member object, we have been able to redirect existing contacts to the relevant owner when they fill out one of these forms with a query.

7 thoughts on “Treat Existing Customers as New Leads: Create Salesforce Leads from a Pardot Form Submission

  1. I’m running into this problem with existing customers filling out forms and their form data essentially being ignored because their request doesn’t show up as a Lead or Opportunity. I did try activating this Process but was unsuccessful. I don’t know why there is not enough information on this use case. I think it’s pretty natural for B2B customers to have multiple requests after the initial sale. Can you provide me with more guidance? Would you be interested in contracting to help write this Process with me?

    1. Hi Ron, sorry that you weren’t successful with the process in this post. It’s something I’ve worked on before as a consultant, if you would like more information please email me at [email protected]

    2. Hi Ron,
      Did you finally resolve this? We are also facing the same problem, if you could pass on some infor would be greatful.
      Thanking you,


  2. We are facing this same issue now but are using HubSpot and Salesforce. We are trying to find a solution to manage existing contacts who submit a lead form – it appears that HubSpot cannot create a lead when there is already an existing contact. We have never gotten the Salesforce task trigger to work perfectly – and often the contact owner isn’t correct so tasks are assigned to the wrong person. Our inside sales team has requested using cases to alert them of form activity on existing contacts but I am not a huge fan of that idea. Do you have an ideas or resources on how to remediate this issue with a HubSpot and Salesforce integration?

    1. Hi Stacy, gosh…that sounds frustrating. Already sounds like you have tried a variety of things (some of which I would have otherwise suggested). I will ask around people I know who have Hubspot experience too, maybe we can come up with something additional to test.

  3. Debra Margagnoni


    This is fabulous! I’ve only worked in industries with this business process and it’s always tricky. This is the first article I’ve found that discusses the challenge. Thank you!

Add Comment