How to Integrate Pardot with WordPress via Contact Form 7

In Web Design and Development by Matt Chiera19 Comments

We needed to output WordPress contact forms to Pardot for a few clients. We weren’t able to find much information on this integration so I figured we would write up our process – which works quite well – so that other people can benefit from our blood, sweat, and tears.

To get this to work, this is what you’ll need:

  1. A WordPress Website
  2. Contact Form 7  – WordPress Plugin (updated to most recent version)
  3. Contact Form 7 – Success Page Redirects – WordPress Plugin (this plugin is no longer supported but worked in our WP v4.7 testing)
  4. Forms: 3rd Party Integration – WordPress Plugin (updated to most recent version, it’s called 3rdparty Services once installed)
  5. Pardot and the ability to create a Form Handler

Step 1

Create your Contact Form 7 form that you want to output to Pardot. Make sure to note each of the Contact Form 7 fields you’re using. My CF7 fields for the form below would be text-894, text-895, your-email, tel-227, text-989, your-message.

Step 2

In Pardot, create a Form Handler for the fields you want to output from CF7 to Pardot.

Go to Pardot > Forms > Form Handlers

In “Form Field Mappings” specify “External Field Names” that you’ll use to match up to the fields in CF7. You can name these whatever you want, but make sure to note the verbatim spelling – you’ll need it later. The “Field” themselves are where the data will be input in your Pardot. See example below.

Next, in the Pardot Form Handler “Summary” section you must create the “Endpoint URL” (Pardot Form Handler URL), which is what we’re going to use in Step 3 for our 3rd Party Service to connect Pardot to CF7.

NOTE: If you mark a field as “Required” in the Pardot Form Handler, but it is not required in your CF7 form and a user leaves it blank, the form data will not output to Pardot.

Next, add a “Success Location URL” –  this is the “thank you” page URL that someone would be redirected to after successfully submitting a form. I have not tested without using a “Success Location URL” – it may or may not work without it. We always use unique “thank you” page URLs for conversion tracking / to provide post-submission value (directing people to blog posts, etc.) so I have not tried without this.

I also recommend keeping the “Data Forwarding” box checked.

NOTE: The Pardot Endpoint URL typically looks something like this: The Success Location URL could be something like this:

Step 3

Go into your WordPress back-end. Go to Contact > 3rdparty Services

You’ll now create the “Service” which connects CF7 to your Pardot Form Handler.

In 3rdparty Services, add a new 3rd Party Service by clicking the [+] icon next to “3rd Party Service”. You can add more services (CF7 to Pardot connectors) by clicking the “Add Another Service” button at the bottom of the service. The location of this button doesn’t make a ton of sense, but alas, that’s up to the plugin developer.

NOTE: The “Service Name” doesn’t matter for this to work, name it whatever is best to help you to keep your services organized.

In the “Service” section you must add the Pardot Form Handler URL as the “Submission URL”. Make sure to also select the individual CF7 form that you’re looking to connect and double-check that it’s the right CF7 form. Also, I recommend setting “Request timeout” at “10” and then you can leave the rest of the “Service” fields blank.

NOTE: the “Submission URL” in 3rd-Party Service must be HTTPS or the process won’t work. This plugin doesn’t work with an HTTP URL.

Next, match up your CF7 fields in the “Form Submission Field” column and your Pardot Form Handler fields in the “3rd-Party Field” column. For your Pardot fields, you’ll use the “External Field Name” from your Pardot Form Handler. See example below.

Very, very importantly, these fields must match up verbatim for this to work. One extra character or space and the whole process breaks. I learned this the hard way. Make sure your fields match up exactly. Don’t forget to click the “Save” button when you’re done.

NOTE: This will work without adding anything in the “Label” column – it’s up to you if you want to add labels to make things easier to keep track of.

Step 4

Next, we need to use our “Contact Form 7 – Success Page Redirects” WordPress plugin.

Go to your WordPress back-end > Contact > Go to the specific CF7 you’re setting up > “Redirect Settings” > Set the page to the SAME URL that you specified as the “Success Location URL” in your Pardot Form Handler. Don’t forget to click the “Save” button when you’re done.

NOTE: This plugin automatically pulls the title of the page for you instead of the URL itself. Also, I’ve tried manually creating a redirect in the “Additional Settings” tab in the CF7, and it did not work.

Step 5

Put through a form submission on your WordPress page (make sure that the page has the correct CF7 form you’re looking to test). The form information should be output via your settings in Contact Form 7 as well as input into Pardot via your Pardot Form Handler.

Voila! Rinse and repeat for your other forms.

About the Author

Matt Chiera


Matt Chiera is CEO of Ice Nine Online, an award-winning full service digital marketing agency in Chicago. Matt is also Digital Director (contract) for enterprise advertising agency The Well and former Head of Business Development for award-winning search marketing agency Perfect Search Media. He's the author of the bestselling book "Digital Marketers Sound Off," published June 2018.

Share this Post


  1. Hi

    Thanks for the guide, got the forms working well but am having an issue with the tacking of other website activities in Pardot. All leads are being tagged as in the UK using the ‘Auto-fill Prospect Location Data from IP Address’ feature in Pardot. This is not a major issue really. The main problem I am having is that none of the other activities are being tacked (ie pages visited before form submission, pages visited after submission) within Pardot. Any idea what is causing this? I have not rolled our ContactForm7 across the site and can confirm that these features are working on standard HTML forms.

    Any help would be greatly appreciated.

    1. Author

      Hi Neil, unfortunately I have not come across that issue – perhaps check with Pardot support. Sorry I can’t be of more help on that one.

  2. Hi,

    I’m using same method to send data to pardot, then pardot is sending emails to selected users, but the problem is, pardot sending notification mails 6 times in a row to selected users.

    Can you tell me how do I solve it?

    1. Author

      Hi Abhishek, unfortunately I have not seen that issue before. I would check with Pardot support.

  3. Hi Matt,
    I have set up a form and realized that I don’t see the ‘redirect settings’ tab in contact form 7. I have made sure that I have the latest version by doing an update. Just wanting to know if I’m missing something or need to enable something?
    Will this be the reason my tests are not working?

    1. Author

      Hey Mark, you’ll need to add the Contact Form 7 – Success Page Redirects plugin as outlined in #3 in the “To get this to work, this is what you’ll need:” section at the top of the post.

  4. Korey Again – 1st) Contact Form 7 – Success Page Redirects interferes with Captcha, so this doesn’t work for me. I did successfully submit the form once, and it did capture the data, but hasn’t worked since. Every submission now errors with

    *** Response ***
    WP_Error Object
    [errors] => Array
    [http_request_failed] => Array
    [0] => Too many redirects


    [error_data] => Array


    Seems like a few forums have users saying the same thing.

    1. Author

      Hey Korey, darn, yes it seems like the addition of certain plugins, or in this case Captcha causes the process to break. I’ll see if I can dig up a workaround, but this is kind of a delicate patchwork of plugins so it might be challenging to debug.

  5. Will this work if you add other add-on plugins to contact form 7, like conditional fields and multiple pages? Is this something your company would do as a service?

    1. Author

      Hi Kyle, I’m not sure about conditional fields and multiple pages – have not tested. Only way to find out is to test and see if the process works with those plugins active. Yes, this is something we offer as a service. You can contact me at if you’d like to discuss more.

Leave a Comment