# Keap Infusionsoft UTM Tracking Integration

Send WordPress UTM attribution from HandL UTM Grabber into Keap Infusionsoft, including source, medium, campaign, content, term, click IDs, and referrer data.

# Track UTMs in Keap Infusionsoft Forms with UTM Grabber

## UTM attribution overview

Pass HandL UTM Grabber attribution into Keap (Infusionsoft) forms embedded on WordPress using hidden fields prefilled from handl\_utm cookies.

### Setup hidden fields in Keap

1. In Keap, create custom fields matching UTM Grabber parameter names: `utm_source`, `utm_medium`, `utm_campaign`, `gclid`, `fbclid`, etc.
2. Add these as **hidden fields** on your Keap web form
3. Embed the form on your WordPress page

### Auto-populate from UTM Grabber

UTM Grabber automatically fills form inputs matching cookie names. Ensure field `name` attributes match parameter names exactly. See [Native WP Shortcodes](https://docs.utmgrabber.com/books/102-getting-started-for-handl-utm-grabber-v3/page/native-wp-shortcodes).

```
<script>
jQuery(document).ready(function() {
    if (typeof handl_utm === 'undefined') return;
    handl_utm_all_params.forEach(function(param) {
        var val = handl_utm[param] || Cookies.get(param);
        if (val) jQuery('input[name="' + param + '"]').val(val).change();
    });
});
</script>
```

Keap also supports custom fields in ThriveCart passthrough. See [ThriveCart integration](https://docs.utmgrabber.com/books/thrivecart-integration) if you use both tools.

# Send Keap Infusionsoft UTM Data via Zapier Webhook

## UTM attribution overview

This walkthrough covers sending full UTM Grabber data from Keap Infusionsoft 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 Keap Infusionsoft guide](https://docs.utmgrabber.com/books/infusion-soft-by-keap-integration/page/track-utms-in-keap-infusionsoft-forms-with-utm-grabber).

### When a webhook makes sense

Native fields in Keap Infusionsoft 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).