# 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.

[![](https://docs.utmgrabber.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628301605386.png)](https://docs.utmgrabber.com/uploads/images/gallery/2021-08/image-1628301605386.png)

#### 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>

```

[![](https://docs.utmgrabber.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628301655516.png)](https://docs.utmgrabber.com/uploads/images/gallery/2021-08/image-1628301655516.png)

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

```