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:
- A WordPress Website
- Contact Form 7 – WordPress Plugin (updated to most recent version)
- Contact Form 7 – Success Page Redirects – WordPress Plugin (this plugin is no longer supported but worked in our WP v4.7 testing). Update 6-2-20: I don’t recommend using this plugin any longer. The guide below includes this plugin, however, since it is now unsupported I recommend using the Redirection for Contact Form 7 plugin instead. It will accomplish the same thing.
- Forms: 3rd Party Integration – WordPress Plugin (updated to most recent version, it’s called 3rdparty Services once installed)
- Pardot and the ability to create a Form Handler
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.
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: http://go.website.com/l/306213851/2017-08-16/5k23b8. The Success Location URL could be something like this: https://yourwebsite.com/thank-you-for-contacting-us
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.
Next, we need to use our “Contact Form 7 – Success Page Redirects” WordPress plugin. Update 6-2-20: This plugin is no longer supported. Use Redirection for Contact Form 7 plugin instead. It will accomplish the same thing.
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.
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.
Share this Post