OptimizeLeads UTM Tracking Integration

Capture UTM parameters in OptimizeLeads opt-ins with HandL UTM Grabber so source, medium, campaign, click ID, and referrer data follow every lead.

Capture UTMs in OptimizeLeads form with HandL UTM Grabber

UTM attribution overview

This guide explains Capture UTMs in OptimizeLeads form with HandL UTM Grabber. It helps you capture UTM source, medium, campaign, term, content, click IDs, referrer, and landing page data and keep the marketing context needed for accurate reporting across forms, bookings, signups, and sales.

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)
})