Gravity Forms is one of the easiest tools to create advanced forms for your WordPress website and with some customization they can be integrated with Pardot. In this post, I will show you how to integrate Gravity Forms using Pardot Form Handlers.

Step 1: Create your Gravity form

The first step is to create your Gravity form. I won’t be diving into how to set up the Gravity form, but if you’re new to this WordPress plugin take a look at their product documentation to get started.

Step 2: Create your Pardot form handler

In Pardot, navigate to Marketing > Forms > Form Handlers and create a new form handler. Enter a name for the form handler, select your campaign and set your the rest of the settings to the following:

  1. Kiosk/Data Entry Mode: Do not cookie browser as submitted prospect should be UNCHECKED
  2. Enable data forwarding to the success location should be CHECKED
  3. Enable data forwarding to the success location should be CHECKED
  4. Disable Visitor Activity throttling and send auto-responder emails after every submission. Why disable throttling? should be UNCHECKED
  5. SUCCESS LOCATION should be the URL of your thank you page.
  6. ERROR LOCATION should be the referring URL.

Here’s a screenshot of the settings within my form handler.

Step 3: Add your fields

Next step is to add your form fields to your form handler. I recommend only making email address required. The validation for the other required fields will be handled via Gravity Forms.

Here’s what the fields in my form handler look like.

Step 4: Update the settings in your Gravity Form

Navigate to your form within the Gravity Forms plugin and click on Settings > Confirmations > Add New. Give it a name and select the confirmation type as redirect. Copy & paste your form handler URL into the redirect URL box.

Now here comes the tricky part, in order for the data from the Gravity form to sync to Pardot, the fields need to be mapped. Select Pass Field Data Via Query String and a textarea will appear. This is where you will input the field names in your Pardot Form Handler and select the corresponding Gravity form field.

The syntax for this query string looks like this:

pardot-field-name={Gravity Form Field Name}&pardot-field-name={Gravity Form Field Name} etc…

You can find the field names for your Pardot Form Handler, by editing your form handler and scrolling down to Form Fields.

You can find the field names for your Gravity form, by selecting the arrow that appears next to text box within your Gravity form settings.

The last setting you need to update is the conditional logic. I’m not sure why the Gravity form doesn’t give the option to remove the conditional logic completely, but for this part, you can select email is not empty.

Here’s what my settings look like all together.

Step 5: Test, Test, Test

Last but not least, test your Gravity form and make sure the data is going into Pardot.

Questions?

Send me a tweet @jennamolby, leave a comment below, or book a Peer Chat.

Author

I'm a Freelance Marketing Operations Consultant With 15 years of experience in Marketing Operations, I’ve worked with a wide range of tools including Salesforce, Marketing Cloud Account Engagement (Pardot), Marketo, and many other sales and marketing platforms. I help teams optimize their tech stacks, improve processes, and get accurate, actionable reporting. Whether it’s setting up your Marketing Automation Platform, building Salesforce reports, managing lead lifecycles, tracking attribution, or integrating your tech stack, I ensure everything is aligned to drive real results.

49 Comments

  1. We have set this up and working great, minus one weird quirk. We have a list of state names, but set their value to be the abbreviated state name. On gravity forms side, the entry is saving the value (abbreviation), but in Pardot it’s importing the label. Is there a trick to the query string to pass a field’s value vs label? Yuck.

  2. Constance Dumont Reply

    Hi Jenna!

    Everything works fine except that the time between someone hits send and when they see the thank you page is very long (more than 5 sec). We do have lots a fields in the query string. Any idea on how I can reduce that time?

    Thanks

    • Jenna Molby

      Hi Constance, No, sorry, I don’t have any idea on how to reduce the redirect time.

    • Try and reduce the # of completion actions you have stored in the form handler and fire those actions in an automation rule instead. That will speed up your submission time.

  3. Ed Santandrea Reply

    Thanks Jenna, We have the following situation.
    1) WordPress site
    2) Gravity Forms for WP – with a form setup as you have above
    3) Weglot.com translation plug in for WP, with site published in English, with Weglot translating to Spanish

    English submittals are coming into Pardot fine, Spanish is passing none of the Prospects. Weglot is such that there is NOT a second Gravity Form, but the page URL does change a bit (“es”).

    At first I speculated that perhaps Weglot was changing the field name or something like that, but we changed “Company” field label to “Companies” and the “Redirect Query String” noted above did not change (meaning it remained “Company”). Any suggestions, including how to troubleshoot? For example, how might I be able to see what is being sent to Pardot. Much appreciated.

    • Jenna Molby

      Hi Ed, I’ve had these issues before when using a translation plugin. It is most likely that Weglot.com is translating the name of the form field, so it no longer matched what is specified in your Pardot form handler. Is there a way to specify what is translated on the page within the plugin?

  4. Hi Jenna! I’m at a loss here…I’ve been troubleshooting for days and still do not know why the form handler is not passing all the data from the query string into Pardot and why I keep getting the following error: This is a form handler page with no content. Use the form’s direct URL instead.

    What am I missing?

    • Jenna Molby

      Hi KJ, Send me an email with the link to your page and I can take a look.

  5. Hi Jenna, thank you! We have a lot of checkboxes on the gravity form and the form handler doesn’t technically allow checkboxes so was wondering how to replicate these instructions in that case.

Write A Comment