Pardot Knowledge Base

Form Handlers Troubleshooting

Last Updated: Apr 26, 2016 | Print this Article
 
Form handlers allow you to manage forms yourself and post the data to Pardot. This allows you to completely customize your form’s look and feel and still use Pardot to track the form submissions. If you’re brand-new to form handlers, or just want to brush up on your skills, check out our Forms and Form Handlers training materials. This article covers most of the common form handler troubleshooting issues. Looking for Pardot form troubleshooting? Check out this article.

Field Mapping Mismatch

The External Field Name entered in the Pardot form handler must match the name= attribute of the <input> tag in the HTML of your original form. The field mappings are case-sensitive. form field mappings

Required Fields Missing

All fields marked as required in Pardot must be included in the submission. Submissions without all required fields will generate an error. Customize your form handler's error message for each field to see exactly which fields are generating errors. You can customize the error messages by following these steps:
  1. Edit your form handler.
  2. Click the pencil icon next to each field mapping.
  3. Click the Advanced tab.
  4. Edit the Error Message text.
  5. Click Save changes.
  6. Repeat for each form field.
  7. When finished, click Save form handler.

Field Type Mismatch

The data submitted must match the selected field type. For example, submitting a phone number that includes characters like hyphens and parentheses to a form handler would result in an error if the field is mapped to a field with the number field type. Customize your form handler's error message for each field to see exactly which fields are generating errors. You can customize the error messages by following these steps:
  1. Edit your form handler.
  2. Click the pencil icon next to each field mapping.
  3. Click the Advanced tab.
  4. Edit the Error Message text.
  5. Click Save changes.
  6. Repeat for each form field.
  7. When finished, click Save form handler.

Character Encoding

Special characters in submitted field values – like $, &amp;, %, (), + – should be URL-encoded if the form is submitting data to the form handler by appending field names & values to the form handler's endpoint URL (as with the Hidden iframe method). Characters should not be encoded if the form handler is submitting data to the form handler normally (via form POST). See How do I encode URLs? for more info.

Wrong Enctype

Pardot form handlers can only be integrated with forms using an empty enctype attribute or an enctype of application/x-www-form-urlencoded. Pardot doesn't accept an enctype of multipart/form-data.

Submissions Using Ajax

Pardot doesn't support submitting data to form handlers via Ajax requests. When attempting to submit data to a form handler using Ajax, you will likely see errors like:
XMLHttpRequest cannot load {www.site.com/FormHandlerURL}. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '{page from which form handler should be getting submitted on client's website}' is therefore not allowed access.
This is what's known as CORS (Cross-Origin Resource Sharing). Pardot doesn't currently support CORS or JSONP for form handlers. It is possible to simulate a JSONP response by setting the Success and Error URLs for the form handler to be JavaScript URLs that execute Success and Error callbacks, respectively.

Missing Referring URL

Depending on how the URL is loaded, there may not be a referring URL to forward the data to. In that case, you can set the success location for the form handler to an explicit URL. If you’re using the form in multiple locations and need the success/forwarding location to be set depending on where the form is being submitted, form handlers will also accept “success_location” and “error_location” as URL parameters, which will override any of the form handler’s stored success or error location settings.

Failure to Submit

Pardot form handlers aren't able to receive data that is not submitted successfully. Double-check that your form or system is able to submit data, and is submitting to the correct form handler Endpoint URL.

Visitor Tracking

Form handlers set to Kiosk Mode will prevent Pardot from setting a cookie on the visitor's browser, and their subsequent activity will not be tracked. Submitting to form handlers via server-side submissions will also prevent Pardot from placing a cookie on the user's browser and tracking their activity. To track visitors in either of those cases, you can use the Pardot API  to associate a given visitor_id with the email address you've captured through your form.

Need more? Start a conversation with other Pardot users in our Success Community