OptimizeLeads
HandL UTM Grabber / Tracker How to collect and track UTM variables via OptimizeLeads step by step
Capture UTMs in OptimizeLeads form
Add the fields you would like to capture in Optimize Press
Don't worry if you can't make them hidden right now.
Add the following code in Footer in Tracking
<script>
var vars = ["utm_campaign","utm_medium","utm_source","utm_term","utm_content","gclid","handl_original_ref","handl_ip","fbclid","_fbc","_fbp","gaclientid","user_agent"]
for (v of vars){
document.querySelector("[placeholder='"+v+"']").style.display="none"
}
window.addEventListener('message', event => {
if (event.data.handl) {
merged = event.data
for (v of vars){
if (merged[v] != undefined){
console.log(v, merged[v])
var input = document.querySelector("[placeholder='"+v+"']")
input.value=merged[v]
input.setAttribute('value', input.value);
}
}
}
});
</script>
Edit the plugin file handl-utm-grabber.js:109
Inser the lines at 109
$('.optimize-leads-link-trigger').click(function(){
setTimeout(function(){
var merged = jQuery.extend( {'handl':true}, handl_utm )
var frames = document.getElementsByClassName("optimize-leads-frame")
for (frame of frames){
frame.contentWindow.postMessage(merged, '*');
}
}, 100)
})