Integrating forms from your external website into Eloqua is a powerful option for managing your contact data. Before you start integrating forms, you should understand the relationship between form data and Eloqua. This just might save you from pulling out your hair trying to figure out what happened if something goes wrong.
Simple forms
As you may know, a basic form within Eloqua works something like this:
- You create a form and add fields for the data that you want to collect.
- You add processing steps that tell the form what to do with the data that it collects.
- You add the form to an Eloqua landing page.
- Eloqua adds the necessary code to the landing page that tells the form to take the data collected in the fields and pass it back to Eloqua.
- When a customer submits the form, the data is sent to Eloqua, and then Eloqua adds or updates the contact record and triggers any processing steps that you set up on the form.
If you are creating a new form, creating it in Eloqua is the best and easiest way to do it. The most complicated steps are automated behind the scenes.
Integrated forms
Sometimes, you might want to put a form on your external site instead of an Eloqua landing page, and then send the form data into your Eloqua database. Or, you may want to send the data from your external form to an external server, and also send the data to Eloqua. This is where form integration can work for you.
The two examples mentioned above illustrate the two types of form integration: Post and Repost. They’re called this because Post is the method of communication that Eloqua forms (and many other forms) use to transfer data. If you’re familiar with HTML, you’ll probably recognize Post as a form method attribute. When we’re talking about form integration, Post means that the form sends the data to Eloqua, instead of another external server. Repost means that the form sends the data to Eloqua and an external server.
Sending form data to Eloqua only
Post form integration can work in different ways. You might be working with an existing form on your external website, or you might want to create a new form on your external website.
Let’s see in more detail how Post form integration works for an existing form on an external website.
- You have a form with the necessary HTML code. This code includes:
- A unique form name.
- The form method, which is usually Post.
- The form action URL, which points to an external server.
- All the form fields, including the hidden fields and the submit button.
- Fancy CSS, if that’s your thing.
- You integrate the form into Eloqua using the Form Integration wizard.
- You edit the form HTML on the external website and:
- Replace the form action URL with the one generated by Eloqua.
- Add the hidden fields.
- The form is duplicated in Eloqua with all the same fields, hidden fields, and form name.
- You add processing steps on the duplicated form in Eloqua that tell the form what to do with the data that it collects.
- When a customer submits the form on the external site, the updated form action URL takes the data and sends it to Eloqua.
- When the data is sent to Eloqua, the hidden fields tell Eloqua which form has been submitted, and trigger the right processing steps on the corresponding form in Eloqua. This includes adding or updating your Eloqua contact records.
If you just focus on how the form data is transferred, it looks like this:
Sending form data to Eloqua and an external server
Repost form integration is a little more complex because you are sending your form data to both Eloqua and an external server. You still use the form integration wizard similar to how you would use it with Post form integration, but you need to add an extra step to get the data to the external server as well. To do this, you have two options.
The first option is to send the data to Eloqua first. On the external form, you add the form action URL and the hidden fields generated by the form integration wizard in Eloqua. After the form is duplicated in Eloqua, you then add a Post Data to Server processing step and use the original form action URL for the external server in that processing step. For the first option, the form data is transferred like this:
The second option is to send the data to the external server first. You point the form action URL to a script on the external server, and then set up that script to send the form data back to Eloqua. This option requires some knowledge of server side coding so you can set up the script on the external server.
Although you don’t need the form action URL generated by the form integration wizard, you do need the hidden fields, as well as the tracking script and the hidden tracking fields generated by the wizard. These all need to be added to the HTML of your external form. The tracking script and hidden tracking fields are used to send cookies with your site visitors’ activity back to Eloqua. You only need to add the tracking script and hidden tracking fields when you are sending your form data to an external server first. If you send form data to Eloqua first, the visitor cookies are automatically sent to Eloqua.
For the second option, the form data is transferred like this:
Before you get started
The important thing to remember about form integration is that you are managing two forms: the one on your external site, and the one in Eloqua. If you make a change to one, then you have to make the same change to the other. For example, you need to make sure that the form name is the same for both the external form and the Eloqua form. It’s also important to understand how Eloqua gets the data from the external form so that you know what you can customize, and what you need to keep the same.
Now that you understand how form integration works, you can start using it. Check out these resources for more information about how to set up form integration:
- Ways to Use Forms in Eloqua (includes how to export HTML for an Eloqua form to use on an external website)
- How to repost an externally hosted form to Eloqua
- How to: Integrate a Form with Eloqua
- EloquaU Power Hour: Form Integration