Follow these steps for externally hosted forms where the form data is re-posted to Eloqua servers from a server-side form processor. In this case it's not possible to get the cookie from the client's machine so the following instructions provide the necessary code to place on the form page to send the unique ID along with the form data to Eloqua. This ensures that the visitor submitting the form is linked to the Eloqua contact record so you can capture and track their digital body language.



  • Recommendation – Create a copy of the externally hosted form you will integrate with and create a test page to get functionality in place and tested before it goes to production.
  • You will notice that there is a Form Integration Wizard in Eloqua.  The scripts provided in this Wizard currently need to be updated, so please use the instructions below until they have been updated.  Theoretically, you could use the Form Integration Wizard to build your Eloqua Form… but you will still want to use the scripts and QA process below to implement.
  • This applies if you are using the asynchronous web tracking scripts generated after Dec 11, 2011.


Step 1: Build the back-end Eloqua Form.

  1. Create New Form
  2. Turn pre-population off
  3. Create Fields that mirror fields on web form
  4. Set the HTML name (go to gear box, settings – ‘generate; use; save’)
  5. For each form field, set the HTML field name (Field Settings; Advanced Settings).  To retrieve HTML field name, you can ‘view source’ of web page where form is hosted, or request from web resource.


Step 2:

Provide the following instructions to the person making the updates on the webpage. You will need to update the ‘elqFormName’ value with each form (this is the unique Eloqua Form ID), the ‘elqSiteID’ will remain constant (this is your instance of Eloqua).  To retrieve the ‘elqFormName’ and ‘elqSiteID’ go to the Eloqua Form, click the gear box, select ‘View Form HTML’ and select ‘Integration Details’.  You will see that you need to plug the ‘elqFormName’ value in twice below.


     a) Post URL for the form: action= s<siteid> (supports both http and https posts)


     b) Add the following on the initial HTML page within the <Form> tag (no specific location needed so long as they are included as hidden fields on the initial HTML form page and are posted upon the initial post):


<input type="hidden" name="elqFormName" value="ENTER ELOQUA HTML FORM NAME" />

<input type="hidden" name="elqSiteId" value="ENTER SITE ID" />

<input type="hidden" name="elqCustomerGUID" value="">

<input type="hidden" name="elqCookieWrite" value="0">


     c) Then, place the following code anywhere after the main tracking scripts appear on the page:


var timerId = null, timeout = 5;

function WaitUntilCustomerGUIDIsRetrieved() {

if (!!(timerId)) {

if (timeout == 0) {



if (typeof this.GetElqCustomerGUID === 'function') {

               document.forms["ENTER ELOQUA HTML FORM NAME"].elements["elqCustomerGUID"].value =




timeout -= 1;


timerId = setTimeout("WaitUntilCustomerGUIDIsRetrieved()", 500);



               window.onload = WaitUntilCustomerGUIDIsRetrieved;




This code will execute upon the page loading and will wait until the visitor's GUID has been retrieved from the Eloqua servers and then insert it into the elqCustomerGUID form element.

Be sure to replace "ENTER ELOQUA HTML FORM NAME" with the actual html form name as setup in the Eloqua application.



Step 3: Testing and Verification

Once you submit the form, the first place to check is ‘View Submission Data’. On the Eloqua Form, click the Gear Box, and go to ‘View Submission Data’.

Verify that the form was posted and that each field was received by Eloqua.


The next step is to verify that your Form Processing Steps are working as expected.

Wait ~20 minutes and check the Contact to confirm the Form Activity is logged on the Contact Record.


Step 4:

Once your QA is complete, ask your IT resource to apply the scripts to the ‘live page’ and re-run QA.


These instructions apply to both Eloqua9 and Eloqua10 and to all product levels (Express, Team, Enterprise), although the specific navigation and screenshots provided are specific to Eloqua10.