Eloqua Tracking & Google Tag Manager
How to add Eloqua Tracking to Google Tag Manager in 60 seconds.
One of the first things clients want to do when they start implementing Eloqua is to set up Eloqua Asynchronous web tracking so they can start gathering information about their contacts website visits.
For those of you that don’t know what Eloqua Asynchronous web tracking is here a link to the Oracle documentation.
(https://docs.oracle.com/cloud/latest/marketingcs_gs/OMCAA/pdf/AsynchronousVisitorTrackingScripts.pdf)
When you go into settings and request it, Eloqua gives you some standard out-of-the-box tracking script which they then advise you to add to the head of each website page you want to track. This works perfectly until someone from the web team says, we use Google Tag Manager, can we add it to that?
Usually the Eloqua Admin will say sure, and hand over the tracking script.
This is where the problem starts. If you just add the tracking script as it comes it won’t work. Google Tag manager doesn’t recognize some of the code that Eloqua tracking script uses. Rather than go into the details of why it doesn’t work I’ll give you the fix.
Guide: Adding Eloqua Tracking Script to Google Tag Manager
Step 1. Download your Eloqua tracking script from Eloqua.
Get your Eloqua tracking script. Assets > Website Setup > Tracking
Click on Generate Visitors Tracking Scripts
Finally click on Generate at the bottom right part of the page. Eloqua will send you your tracking script to your email address. When you get it, make sure you unzip the zip file properly. Don’t just open the folder and drag the text file with the Eloqua tracking script onto your desktop. Occasionally it throws errors for some reason when you do this.
Step 2. Eloqua Tracking Script Modification
Open up your Eloqua Tracking Script in Notepad or an HTML editor. You will now see your Eloqua Tracking Script.
<script type="text/javascript"> var _elqQ = _elqQ || []; _elqQ.push(['elqSetSiteId', 'xxxxxxxxx']); _elqQ.push(['elqTrackPageView']); (function () { function async_load() { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//img.en25.com/i/elqCfg.min.js'; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } if (window.addEventListener) window.addEventListener('DOMContentLoaded', async_load, false); else if (window.attachEvent) window.attachEvent('onload', async_load); })(); </script>
You need to replace the last two lines of the Eloqua tracking script with a single line of code.
<script type="text/javascript"> var _elqQ = _elqQ || []; _elqQ.push(['elqSetSiteId', 'XXXXXXXXX']); _elqQ.push(['elqTrackPageView']); (function () { function async_load() { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//img.en25.com/i/elqCfg.min.js'; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } async_load(); //modified for Google Tag Manager })(); </script>
You now have your modified ELoqua Tracking Script ready for Google Tags.
Step 3. Send to Web Team
Send you modified Eloqua tracking script to your web team so they can add it to a new Custom HTML tag in your Google Tag Manager Container. Once complete you need to set the tag to fire when the DOM is loaded.
You have now added Eloqua Tracking Scripts to Google Tag Manager:
Job Done.
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...
Brilliant – thank you very much.
Hi there! Thanks for this helpful information. It worked for us when we were using third party tracking scripts in GTM, but ever since we switched to first party scripts it no longer works. Any insight into making GTM work with a first party tracking script?
Hi Bethany,
apologies for not getting back to you sooner. Let me email you.
Hi Gr3g5ta,
I am interested in how to implement first-party tracking scripts in GTM. Any chance you can share?
Greg this article or post is great. But we followed what you showed and it did not work for us. We are using Eloqua first person tracking. Is there something different that needs to be done for this? Please advise and thank you for the great post.