Passing GA Data through Eloqua Forms
Welcome to part three of my guide to integrating Google Analytics with Eloqua. If you have reached this page and want to read the first part of the guide (thoroughly recommended) then you can find it here: https://greg-staunton.com/eloqua-google-analytics-integration.
In this part of the guide I am going to take you through “Detecting UTM parameter values on landing pages and passing them to Eloqua”.
Introduction
If you have followed the steps 1 and 2 so far you will have a full understanding of what Google Analytics UTM parameters are, you will know exactly how to use for your campaign and you will have set up Eloqua correctly so you are passing back precisely what your web analytics team need, automatically, from all outbound Eloqua emails.
Now comes the fun part. You are going to update your campaign landing page so it automatically detects the UTM parameter values that are being passed over AND push that information back into Eloqua.
Detecting UTM parameter values on landing pages and passing them to Eloqua
There are two parts of Eloqua that are used to capture leads on landing pages:
- A form
- A landing page
Setting up your form
In this scenario you are only going to be asking for email. This is purely for the simplicity of this guide. In reality you will no doubt have all sorts of different questions you are using for gated content and no doubt use progressive profiling, etc.
You will build your form out as normal using the different contact and custom fields. After this you are going to need to build in another five custom fields to accommodate the five different Google Analytics UTM parameters that you wish to pass back to Eloqua.
Now you have set the hidden fields on your form you need to place it on the landing page. Next you need to set some JavaScript on your landing page which will pick up the UTM parameter values and populate the hidden fields on the form before submit.
Place the following script on your page:
var defaultHiddenFieldNameValue = "NoData"; function getQueryStringParamValue(strQStrParam) { var strURL = document.location.href; var strQStrParamValue = ""; if (strURL.indexOf('?') != -1) { strQStrParamValue = strURL.substr(strURL.indexOf('?') + 1); if (strQStrParamValue.indexOf(strQStrParam) != -1) { strQStrParamValue = strQStrParamValue.substr(strQStrParamValue.indexOf(strQStrParam)); strQStrParamValue = strQStrParamValue.substr(strQStrParamValue.indexOf('=') + 1); if (strQStrParamValue.indexOf('&') != -1) strQStrParamValue = strQStrParamValue.substr(0, strQStrParamValue.indexOf('&')); return strQStrParamValue; }else{ strQStrParamValue = defaultHiddenFieldNameValue; return strQStrParamValue; } }else{ strQStrParamValue = defaultHiddenFieldNameValue; return strQStrParamValue; } } var form = "MY_FORM"; //FORM NAME ON THIS LINE function setCampaign(){ var elqForm = document.forms[form]; //repeat for each field to populate elqForm.elements['utm_source'].value = getQueryStringParamValue('utm_source'); elqForm.elements['utm_medium'].value = getQueryStringParamValue('utm_medium'); elqForm.elements['utm_campaign'].value = getQueryStringParamValue('utm_campaign'); elqForm.elements['utm_content'].value = getQueryStringParamValue('utm_content'); } window.onload = setCampaign;
You are now automatically pulling the values from your UTM parameters straight into Eloqua!
Everything is not yet finished though… Whilst you can download your form submissions and have all the values in place there are other things we can do with this automatically.
Eloqua Development: Automatically add Query String to all pages links
Background to the problem One of the big problems that marketing has when it comes to using their analytics platforms is that essentially what they have found is that the way they have been setting up their web analytics software means that whenever a contact hits one...
Eloqua Training: 101 Contact upload
1.1 Eloqua Contact Upload Overview There are two parts to a contact upload in Eloqua that that need to be considered: Contact upload Interest list association It is essential that you follow through with each of the procedures listed when importing contacts to the...
Eloqua Blog Question: What topics shall I cover next?
It's been ages since I last wrote an article and posted it to you but then again, I hope you haven't been chained to your desk all summer and you got to have some amazing summer adventures! I had a mixed summer but on the positive side am coming to the end of...
Eloqua Picklists – ISO Code, EN, NL, FR, DE & ES Countries
Recently I have been working on form migrations and whilst this post will concentrate on Eloqua and Eloqua picklists it should be noted that you can use this list for any platform really. In Eloqua as with any other system, a picklist is a list with two columns: Name...
Hi Greg,
I just wanted to say thank you for your GA – Eloqua posts. I found these blog posts useful for any Eloqua specialist that is looking to integrate and leverage Google Analytics.
Keep up the good work
Kind Regards,
Costin Vieru
Hi Costin,
Thanks for the feedback. It’s kind words of encouragement from people like you that keep this all going. If you have any topics you want to suggest please let me know.
Regards
Greg
Hi Greg,
I’ve taken all the steps above to pass UTM parameter values over to hidden form fields in Eloqua but the UTM field data keeps coming over blank?? An idea what could be going on? Do you think the new responsive landing pages and forms could be causing the issue?
I will send you an email – lets go through this on a call. I don’t think it should take us too long – about half an hour?
Thanks for these posts Greg. Utilising the utm tag feature is a great step forward for me. I look forward to the other posts
Thanks Mark – I am glad I can help!