# OptinMonster UTM Tracking Integration

Capture UTM parameters in OptinMonster campaigns with HandL UTM Grabber so source, medium, campaign, click ID, and referrer data follow every popup conversion.

# Track UTMs in OptinMonster Campaigns with UTM Grabber

## UTM attribution overview

Pass HandL UTM Grabber attribution into OptinMonster opt-in campaigns using hidden fields, campaign cookies, and UTM passthrough on success redirects.

### Approach

1. Add hidden fields to your OptinMonster campaign matching UTM Grabber parameter names
2. UTM Grabber fills matching fields automatically via its form population logic
3. On success, OptinMonster can redirect to a thank-you URL. Add `utm-out` on the redirect target to carry UTMs along.

### Hidden field mapping

Create hidden fields named `utm_source`, `utm_medium`, `utm_campaign`, `gclid`, `fbclid` in your campaign settings. UTM Grabber scans `input[name]` and populates from cookies.

See [Hassle Free Implementation](https://docs.utmgrabber.com/books/102-getting-started-for-handl-utm-grabber-v3/page/hassle-free-implementation-no-shortcode) for automatic field population.

# Send OptinMonster Leads with UTMs to Zapier

## UTM attribution overview

This walkthrough covers sending full UTM Grabber data from OptinMonster to Zapier, Make, or your own webhook. Handy when you need gclid, fbclid, first-touch fields, or custom params alongside the lead or order.

For the primary setup, see [the main OptinMonster guide](https://docs.utmgrabber.com/books/optinmonster-integration/page/track-utms-in-optinmonster-campaigns-with-utm-grabber).

### When a webhook makes sense

Native fields in OptinMonster often stop at basic UTMs. A webhook lets you push everything UTM Grabber stores without trimming values or losing click IDs.

### Thank-you page script

Paste this on your confirmation page. Swap in your Zapier or Make hook URL.

```
<script>
var qvars = {};
window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
    qvars[key] = decodeURIComponent(value.replace(/\+/g, ' '));
});
qvars = Object.assign({}, (typeof handl_utm !== 'undefined' ? handl_utm : {}), qvars);
setTimeout(function() {
    var data = new URLSearchParams(qvars).toString();
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open('GET', 'https://hooks.zapier.com/hooks/catch/YOUR_ID/YOUR_KEY/?' + data, true);
    xmlHttp.send(null);
}, 1000);
</script>
```

Full pattern explained in [Triggering Zapier on Thank you Page](https://docs.utmgrabber.com/books/zapier-integration/page/triggering-zapier-on-thank-you-page).

### Quick Zapier / Make checklist

1. Create a Catch Hook trigger and copy the URL
2. Run a test conversion with UTMs in the landing URL
3. Confirm gclid, utm\_source, and email (if present) show up in the payload
4. Map fields into your CRM or spreadsheet

Parameter reference: [Native WP Shortcodes](https://docs.utmgrabber.com/books/102-getting-started-for-handl-utm-grabber-v3/page/native-wp-shortcodes).

Make users: see [Make Integromat integration](https://docs.utmgrabber.com/books/integromat-integration).