{"id":2912,"date":"2023-07-05T01:41:08","date_gmt":"2023-07-05T01:41:08","guid":{"rendered":"https:\/\/obo.zoj.mybluehost.me\/uncategorized\/eloqua-post-data-to-elq-web-form\/"},"modified":"2025-02-17T11:53:39","modified_gmt":"2025-02-17T11:53:39","slug":"eloqua-post-data-to-elq-web-form","status":"publish","type":"post","link":"https:\/\/ioninteractive.com\/ionacademy\/eloqua-post-data-to-elq-web-form\/","title":{"rendered":"Eloqua: Post data to Eloqua web form"},"content":{"rendered":"<p>Ion can reliably post data to existing web forms published in Eloqua\u2019s marketing automation platform. Once integrated, your ion experiences will seamlessly post the data you define to your Eloqua form(s).<\/p>\n<h3><strong>Before we begin<\/strong><\/h3>\n<p>There are a few items you&#8217;ll need to roundup from&nbsp;<strong>Eloqua<\/strong>&nbsp;before beginning, listed below:<\/p>\n<ul>\n<li>Eloqua-supplied Basic Page View Tracking script<\/li>\n<li>Eloqua endpoint URL and field names<\/li>\n<li>Eloqua Site ID and form name(s)<\/li>\n<\/ul>\n<p><em>The Eloqua form HTML contains your Site ID, endpoint URL and field names.<\/em><\/p>\n<p>There are a few steps to take in&nbsp;<strong>ion<\/strong>&nbsp;<a href=\"https:\/\/help.rockcontent.com\/en\/support-before-you-begin\" target=\"_blank\" rel=\"noopener\">before you begin<\/a>&nbsp;listed below:<\/p>\n<ul>\n<li>Create data collection fields<\/li>\n<li>Create data collection fields for Eloqua hidden fields, using the following data names:\n<ul>\n<li>elqSiteId<\/li>\n<li>elqFormName<\/li>\n<li>elqCustomerGUID<\/li>\n<li>elqCookieWrite<\/li>\n<\/ul>\n<\/li>\n<li>Create ion form(s)<\/li>\n<li>Set-up testing creative<\/li>\n<\/ul>\n<h3><strong>Let&#8217;s get started!<\/strong><\/h3>\n<h4><strong>1. Create field mapping<\/strong><\/h4>\n<p>Taking the steps below will create a field map between your ion data collection fields to their corresponding Eloqua field names.<\/p>\n<ol>\n<li>Click the Integrations tab in your console\u2019s side nav<\/li>\n<li>Click the green \u201cNew field mapping\u201d button<\/li>\n<li>Label the field mapping and optionally add a description<\/li>\n<li>From the Integration type menu, select \u201cPost to Web Form\u201d<\/li>\n<li>Save<\/li>\n<\/ol>\n<h4><strong>2. Add Outbound fields<\/strong><\/h4>\n<p><em>Outbound fields define the data you extend from ion to your external web form. Refer to your Eloqua form HTML for the proper external field names. Be sure to add your Eloqua hidden fields, using the values from the Eloqua form as the default value for the Outbound field. Please note, elqCustomerGUID will not have a default value. If you are posting to multiple Eloqua forms, you can save the the elqFormName value via an ion form rule. We&#8217;ll cover how to do this later in the document.<\/em><\/p>\n<ol>\n<li>Click the green \u201cNew outbound field\u201d button to add a new field to your field mapping<\/li>\n<li>When adding a new field, you will either select from the Data Collection drop-down menus, Core Field drop-down menu, implement a mashup template or add a field via JavaScript\n<ul>\n<li>To add a form field, use the Data Collection drop-down menus to select the data field category then data collection field<\/li>\n<li>OR, to add an ion Core field, select from the Core Field drop-down menu<\/li>\n<li>OR, to export multiple ion fields to one external field, use the Mashup Field by plugging {{DataName}} {{DataName2}}, etc. into the editor<\/li>\n<li>OR, to reformat a value prior to export, use the JavaScript field to add logic around the value collected in ion. To access data collection fields via Javascript, use respondent.dataname.<\/li>\n<\/ul>\n<\/li>\n<li>Optionally make your field required to run the integration<\/li>\n<li>Optionally add a default value<\/li>\n<li>Enter the external field name<\/li>\n<li>Save<\/li>\n<li>Repeat these steps for each field that should be included in the Field Mapping<\/li>\n<\/ol>\n<h4><strong>3. Create Integration<\/strong><\/h4>\n<ol>\n<li>Navigate back to the Integrations screen<\/li>\n<li>Click into the Integrations tab<\/li>\n<li>Click the green \u201cNew integration\u201d button<\/li>\n<li>Enter label<\/li>\n<li>Optionally add a description<\/li>\n<li>Select the Field Mapping you\u2019ve just created<\/li>\n<li>Paste the Eloqua Form URL into the editor\n<ul>\n<li>This is the \u201cpost to\u201d or end point URL of your web form.<\/li>\n<\/ul>\n<\/li>\n<li>Set maximum retries\n<ul>\n<li>If there is a service interruption with the external platform, Ion will retry the post on the top of the hour for as many retries as you indicate here.<\/li>\n<\/ul>\n<\/li>\n<li>Select POST as the method<\/li>\n<li>Optionally add Debug email address\n<ul>\n<li>Email addresses specified here will receive an email each time the integration runs that displays the data posted and response received. This is feature typically only used for testing and troubleshooting.<\/li>\n<\/ul>\n<\/li>\n<li>Save<\/li>\n<\/ol>\n<h4><strong>4. Add integration to your Ion pages<\/strong><\/h4>\n<p><em>The ion platform runs the integration based on rules you create. Rules can be added to any actionable item in your ion creative. Integration rules are typically run at the form-level, upon form submission, or on an assessment step. Follow the steps below to add the integration to your ion pages.<\/em><\/p>\n<ol>\n<li>Navigate into the creative<\/li>\n<li>Click on the form submit button or link you seek to make the trigger to run your integration<\/li>\n<li>In Creative Studio, click on +rules<\/li>\n<li>Select the condition that needs to be met to run the integration\n<ul>\n<li>\u201cNo conditions required\u201d is typically used<\/li>\n<\/ul>\n<\/li>\n<li>Select \u201cRun integration\u201d as the action<\/li>\n<li>Save<\/li>\n<li>Repeat for each applicable creative<\/li>\n<\/ol>\n<h4><strong>5. When posting to multiple Eloqua forms&#8230;<\/strong><\/h4>\n<p><em>If you seek to post data to multiple Eloqua forms, you can save the elqFormName value via a form-level rule. The value you save here will overwrite the default value in the export format. This rule action needs to be implemented above the rule to run the integration.<\/em><br \/>\n<strong>Condition<\/strong>: No conditions required<\/p>\n<p><strong>Action<\/strong>: Save into database &#8211; elqFormName = value<\/p>\n<h4><strong>6. Optionally implement Eloqua visitor tracking script<\/strong><\/h4>\n<p><em>Eloqua provides visitor tracking script that can be implemented on your ion experiences. The Basic Page View tracking script can be found in the Eloqua Asynchronous Visitor Tracking Scripts document and a sample is included below. Replace &#8216;SiteId&#8217; on line three with your Eloqua SiteId.<\/em><br \/>\n<strong>a. Store Eloqua script Ion Libraries<\/strong><\/p>\n<ol>\n<li>In ion, navigate to the Libraries menu and select Scripts<\/li>\n<li>Add a new category labeled &#8220;Eloqua&#8221; or navigate into an existing category<\/li>\n<li>Click green \u201cNew script\u201d button<\/li>\n<li>Use &#8220;Campaign &#8211; Head&#8221; as the label<\/li>\n<li>Paste the script into the editor<\/li>\n<\/ol>\n<p><strong>b. Add Eloqua script to ion Campaigns<\/strong><\/p>\n<ol>\n<li>Navigate to your Campaign Management screen<\/li>\n<li>Click into the Actions dropdown menu and select \u201cEdit campaign\u201d<\/li>\n<li>Select &nbsp;Eloqua &gt; Campaign &#8211; Head script from the head tag drop-down menus<\/li>\n<li>Save<\/li>\n<li>Repeat for each applicable Campaign<\/li>\n<\/ol>\n<p><strong>c. Sample Eloqua Vistor Tracking Script:<\/strong><\/p>\n<pre data-aura-rendered-by=\"75:1841;a\">&lt;script type=\"text\/javascript\"&gt;\n\nvar _elqQ = _elqQ || [];\n\n_elqQ.push(['elqSetSiteId', 'siteId']);\n\n_elqQ.push(['elqTrackPageView']);\n\n(function () {\n\nfunction async_load() {\n\nvar s = document.createElement('script');\n\ns.type = 'text\/javascript';\n\ns.async = true;\n\ns.src = '\/\/<a href=\"http:\/\/img.en25.com\/i\/elqCfg.min.js'\" target=\"_blank\" rel=\"noopener\">img.en25.com\/i\/elqCfg.min.js'<\/a>;;\n\nvar x = document.getElementsByTagName('script')[0];\n\nx.parentNode.insertBefore(s, x);\n\n}\n\nif (window.addEventListener)\n\nwindow.addEventListener('DOMContentLoaded', async_load, false);\n\nelse if (window.attachEvent) \n\nwindow.attachEvent('onload', async_load);\n\n})();\n\n&lt;\/script&gt;<\/pre>\n<h4><strong>7. Optionally add script to save elqCustomerGUID into data collection<\/strong><\/h4>\n<p><em>You&#8217;ll add one more code block to your ion form pages in order to save the Eloqua GUID value and store it in an ion data collection field. This enables you to include the GUID in your post to the Eloqua form.<\/em><br \/>\n<strong>a. Create ion data collection field to save GUID value<\/strong><\/p>\n<ol>\n<li>Navigate to Data Management &gt; Data Collection<\/li>\n<li>Navigate into an existing category or create a new data field category<\/li>\n<li>Add a new data field with a data name of elqCustomerGUID<\/li>\n<li>Save<\/li>\n<\/ol>\n<p><strong>b. Store GUID script in ion Libraries<\/strong><\/p>\n<ol>\n<li>In ion, navigate to the Libraries menu and select Scripts<\/li>\n<li>Add a new category labeled &#8220;Eloqua&#8221; or navigate into an existing category<\/li>\n<li>Click green \u201cNew script\u201d button and use &#8220;Form page &#8211; Body&#8221; as the label<\/li>\n<li>Paste the script into the editor<\/li>\n<\/ol>\n<p><strong>c. Add GUID script to form pages<\/strong><\/p>\n<ol>\n<li>Navigate into your ion creative&#8217;s form page<\/li>\n<li>Click +scripts from the Page tab in your creative studio<\/li>\n<li>Select Eloqua &gt; Form page &#8211; Body from the closing body tag drop-down menus<\/li>\n<li>Save<\/li>\n<li>Repeat for each applicable form page<\/li>\n<\/ol>\n<p><strong>d. Example script to save GUID:<\/strong><\/p>\n<pre data-aura-rendered-by=\"75:1841;a\">&lt;script type=\"text\/javascript\"&gt;\n\nvar timerId = null, timeout = 5;\n\nfunction WaitUntilCustomerGUIDIsRetrieved() {\n\nif (!!(timerId)) {\n\nif (timeout == 0) {\n\nreturn;\n\n} \n\nif (typeof this.GetElqCustomerGUID === 'function') {\n\nvar elq_GUID = GetElqCustomerGUID();\n\nliveballData(\"elqCustomerGUID\", elq_GUID);\n\nreturn;\n\n}\n\ntimeout -= 1;\n\n}\n\ntimerId = setTimeout(\"WaitUntilCustomerGUIDIsRetrieved()\", 500);\n\nreturn;\n\n}\n\nwindow.onload = WaitUntilCustomerGUIDIsRetrieved;\n\n_elqQ.push(['elqGetCustomerGUID']);\n\n&lt;\/script&gt;<\/pre>\n<h4><strong>8. Test integration<\/strong><\/h4>\n<p>To test your integration, use the testing creative you set up prior to beginning the integration steps. Please note, integrations do not run in Preview Mode so you&#8217;ll want to open a URL for testing. The integration will run once you submit the ion form, or complete the action that runs the integration rule. If you\u2019re on the debug email distribution list, you\u2019ll receive an email that displays the data posted and response from the external server. You\u2019ll also want to check that the data you submitted was received by and processed properly by Eloqua.<\/p>\n<h3><strong>Nice work!<\/strong><\/h3>\n<p>Once you\u2019ve completed these steps, your integration is ready for use. You can add the rule to run the integration on all applicable creatives.<\/p>\n<hr>\n<p>If you have any questions, please contact us at <a href=\"mailto:help@ioninteractive.com\" rel=\"noopener noreferrer nofollow\">help@ioninteractive.com<\/a>. <span style=\"font-size: 1rem\">&nbsp;<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ion can reliably post data to existing web forms published in Eloqua\u2019s marketing automation platform. Once integrated, your ion experiences will seamlessly post the data you define to your Eloqua form(s). Before we begin [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":5725,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","footnotes":""},"categories":[2175,2078],"tags":[2173,2200,2214,2208],"class_list":["post-2912","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ion-integrations-the-advanced-capabilites","category-the-advanced-capabilites","tag-advanced","tag-data-management","tag-eloqua","tag-ion-integration"],"_links":{"self":[{"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/posts\/2912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/comments?post=2912"}],"version-history":[{"count":5,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/posts\/2912\/revisions"}],"predecessor-version":[{"id":6931,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/posts\/2912\/revisions\/6931"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/media\/5725"}],"wp:attachment":[{"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/media?parent=2912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/categories?post=2912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/tags?post=2912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}