How to Use Pardot Form Handlers


Refreshed and republished on June 23, 2020

This post was originally published on March 3, 2016 and has been revamped and updated for accuracy and comprehensiveness.

Pardot form handlers allow you to use your forms to post your data to Pardot. A Form handler is a great alternative to use instead of Pardot iFrame forms. They allow you to fully customize the look of your form and submit data to more than one database. In this tutorial, you will learn how to create a form handler from scratch.

Create a new form handler in Pardot

First you need to create a new form handler in Pardot under Marketing > Forms > Form Handlers.

Add the all the standard Pardot required information.

  • Give the form handler a name
  • Select a folder and add tags
  • Choose your campaign

Choose your other custom settings.

  • Kiosk/Data Entry Mode: Do you want the prospect to be cookied when they fill out the form?
  • Enable data forwarding to the success location: Does you data need to submit to another database other than Pardot?
  • Disable Visitor Activity throttling: Do you want to disable Pardot’s spam protection and generate a distinct visitor activity and auto-responder email for all form handler submissions?
  • Success &amp Error Location: Choose an Error page and a Thank you page URL.
  • Completion Actions: Add the any actions that should happen when a prospect fills out the form.

Here are the settings I have selected for this tutorial:

Add form fields

Add any fields you want to capture through your Pardot form handler.

TIP: Name the external field name the same as your prospect field name, but without the spaces, to avoid confusion in the next steps.


Optionally, you can add custom error message text under the advanced tab


Create the form HTML

Now that the form handler is created, the form HTML needs to be created to embed it on your website. In this tutorial, I will be going over basic markup. Feel free to add your own styling/structure that matches your website.

Copy the endpoint URL

Navigate to your Pardot form handler summary page and copy the endpoint URL.

Basic HTML structure

Here’s the basic structure to create a Pardot form using a Pardot form handler.

  • Action: Must be the endpoint url for your Pardot form handler.
  • Method: Must = POST
  • Input: Add all the form fields you mapped while creating you Pardot form handler.
  • Name: Must equal the external field name you specified when you created the Pardot form handler.
  • Type: Specify the type (text, email, etc) to help with field validation.

Add Field Validation (Optional)

Optionally, you can add some front-end validation to your form. If you marked the fields as “required” when creating your form handler, Pardot would create some form validation to direct a user to another page. If you don’t want the prospect to leave the page, follow these instructions.

Add required=”required” to each of your required form fields. These should match what you specified in Pardot to avoid confusion.

Troubleshooting tips

Is your data not making its way into Pardot? Here are some troubleshooting tips to help you diagnose the issue.

  • Try submitting the form with just email address required. If the prospect is created in Pardot without any issues, you might have a field type or a field mapping incorrect within your form handler.
  • Check Enable data forwarding to the success location. Try checking or unchecking the option for “Enable data forwarding to the success location” within your Pardot form handler settings. Depending on how you are connecting your form handler to your web form, this may or may not need to be enabled.
  • Double-check your field names are correct. The external field name you set within your form handler needs to be the EXACT SAME as what is in your HTML. Double-check that the HTML for your form fields is using the right name and remember, the name is different than an ID or CLASS.
  • Use the HTTPS endpoint if your website is HTTPS. Using an HTTP endpoint for your form handler when your website is HTTPS will cause the browser to give security warnings. Update the form handler endpoint to HTTPS to resolve the issue.

Pardot Form Handlers + WordPress

There are many different ways to use Pardot Form Handlers with WordPress. Here are some resources to help you get started with using Pardot Form Handlers with WordPress:


Send me a tweet @jennamolby, or leave a comment

Related Posts

  • 15/10/2020
    How to Use Flex Fields in Pardot

    Flex fields are custom fields that can be used over and over again to limit the number of one-time-only fields within Pardot and Salesforce. They contain data that is required temporarily to execute a specific event or campaign. Once the data is no longer needed, the fields can be reset to blank using an Engagement Program or Automation Rule

  • 04/10/2020
    How To Embed a Pardot Form on Your Website The Right Way

    Pardot offers 2 methods for embedding forms on your website; embedding using an iframe, and form handlers. While the embedded iFrame forms allow marketers to have control over updating and configuring the forms, using an iFrame isn’t always ideal for website usability. In this tutorial, I will show you how to take advantage of the Pardot iFrame forms and make it look great embedded on your website.

  • 23/09/2020
    7 Ways Pardot Users Can Use Chrome Developer Tools For Troubleshooting & Testing

    Chrome Developer Tools is widely used by developers to help edit pages on-the-fly and diagnose issues. Pardot users can use DevTools to troubleshoot and test landing pages and forms. In this post, I’ll show you 7 ways you can use DevTools, including how to identify errors on a landing page, how to customize the CSS of a form and how to view hidden form field values.

54 comment(s)
  • Meenal

    17/08/2017 at 4:29 am

    Hi Jenna, Thanks a lot for such an informative article. Please see my query below: I included a form in Landing page and the action of that form is the end-point URL of the form handler. When I submit the form, it does not take me to the "Success Location(a thank you page)" but takes me to the login page of pardot. Also, the prospect's fields are not updating based on the field mappings I have done.

    • Jenna Molby
      to Meenal

      17/08/2017 at 9:21 am

      Hi Mennal, Please send a link to the page with your form to [email protected] and I can help you troubleshoot. Cheers, Jenna

  • Annie

    10/08/2017 at 10:07 am

    Hi Jenna, I'm trying to set different completion actions (downloading an asset) depending on a drop down selection. I have multiple assets and I would like to be able to let visitors select an option in the drop down and depending on their selection, they receive the chosen asset when they hit submit. Can this be done using form handlers?

    • Jenna Molby
      to Annie

      10/08/2017 at 3:02 pm

      Hi Annie, Completion actions don't take a prospect to a different landing page based on a form field. If you're using a form handler you will have to add some Javascript to include this logic. Feel free to email me at [email protected] if you need some guidance with this. Cheers, Jenna

  • Balint

    14/07/2017 at 2:23 am

    This is all nice, but until forms created via form handler cannot be pre-filled by Pardot, or use progressive profiling I think. So it all lacks the major upsides of using Pardot. Any way to make those work with form handlers?

    • Jenna Molby
      to Balint

      14/07/2017 at 9:24 am

      Unfortunately, not without a lot of custom development and the use of the API.

  • Ivan Lucas

    21/06/2017 at 7:29 pm

    hi Jenna, I've been trying to create a select options using Form Handlers but I was not able to make this happen it seems Form Handlers allow me only to add basic fields. Do you have any idea? thanks!!

    • Jenna Molby
      to Ivan Lucas

      22/06/2017 at 10:22 am

      Hi Ivan, do you receive an error message when you try to submit the form, or does the data not go into Pardot?

    • Ivan Lucas
      to Jenna Molby

      22/06/2017 at 5:20 pm

      Actually the Form Handlers has only input text and email. There is no select, checkbox inputs...I could not find them.

    • Jenna Molby
      to Ivan Lucas

      23/06/2017 at 9:30 am

      Hi Ivan, You have to define that in your HTML the text and email type relate to the data coming into Pardot.

    • Kunal Hemrajani
      to Jenna Molby

      30/08/2017 at 11:56 pm

      Hi Jenna, Was trying to do something similar with the checkbox and passing checkbox values to pardot using form handlers. Does your comment mean we would need to setup fields for all the checkbox values on the form handler? As it shows up text only on form handlers, how would I be able to map the checkbox value on the site to the checkbox value on pardot. Thanks

    • Jenna Molby
      to Kunal Hemrajani

      31/08/2017 at 5:18 pm

      Hi Kunal, yes, the form fields would need to be created in Pardot. The mapping can be done in Pardot when you setup the form handler. The name of the field when you setup the form handler is the name of the field in the HTML.

    • Max
      to Jenna Molby

      24/04/2018 at 3:06 am

      Hi Jenna, thanks for all the information. I have an additional question to this topic. If I have mapped a checkbox field on the form with a a corresponding Pardot custom field and a prospects selects the checkbox, which value will be written into the custom field in Pardot (or where do I define that value)? Thanks and kind regards

    • Amy
      to Jenna Molby

      08/08/2018 at 7:44 am

      Hi, I'm currently trying to work with checkboxes through a Form Handler as well. My form is submitting fine and it all looks good, but Pardot only seems to capture one of the mulitple checkboxes that are selected. I set up a basic form with this same Pardot field for testing, and it seems like each checkbox has a unique name - whereas the Form Handler asks for a single name, so in my HTML each option that goes with a question has the same name. Any idea what I'm doing wrong or what else I need to include to get any selected field with a certain name to ALL map into a field?

    • Hector Ayala
      to Jenna Molby

      10/10/2019 at 7:33 am

      HI Jenna, Im trying to include predefined values for custom fields in form handlers. I understand from a previous comment that the values have to be included in the HTML since pardot doesnt include the option in the form handler like it does for regular forms. However, how is the mapping done afterwards in Pardot. My concern is that in my case the prospects are then sent to salescloud where the predefined values were already created and they have to match. If I just put the exact same name of the predefined value in the HTML it should work or do I have to do some mapping in Pardot? Thanks, Hector

    • Jenna Molby
      to Hector Ayala

      10/10/2019 at 9:29 am

      Hi Hector, Yes, the values in your form should be the exact same name of the predefined value in the HTML. There's no mapping required in Pardot other than the standard form handler field mapping. Cheers, Jenna

  • Valon

    21/06/2017 at 1:57 pm

    Hello Jenna, I was thinking to use Form Handlers that I learned how to use it through your tutorial, do you have any way of tracking via some kind of UTM parameters on the link (or similar) visitors, to know which are the more successful channels according to forms that are submitted. Best, -V

    • Jenna Molby
      to Valon

      21/06/2017 at 2:08 pm

      Hi Valon, So happy you found my post helpful. I have another tutorial here which will walk you through the steps of tracking UTM parameters.

1 2 3 6

Leave A Comment

Your email address will not be published. Required fields are marked *

About Me

Welcome to my blog, where I share, tips, tricks, thoughts and solutions that I learn in my daily life as a Marketing Operations leader.

Most Commented
Popular Posts