# GiveWP UTM Tracking Integration

Track UTM parameters and campaign attribution with GiveWP UTM Tracking Integration and HandL UTM Grabber on WordPress.

# Track UTMs on GiveWP Donation Forms

## UTM attribution overview

HandL UTM Grabber stores campaign data in the browser. This guide shows how to get that data into GiveWP UTM Tracking Integration using hidden fields on your WordPress forms.

### GiveWP UTM Tracking Integration and UTMs

Nonprofits run campaigns with UTMs. Pass them into GiveWP donation forms as hidden fields.

### Steps

1. Add hidden fields via GiveWP hooks or form builder
2. Save donation meta on payment complete

### Prefill hidden fields

UTM Grabber fills inputs whose `name` matches a tracked parameter. Field names must line up exactly. List of params: [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] || (typeof Cookies !== 'undefined' ? Cookies.get(param) : '');
        if (val) jQuery('input[name="' + param + '"]').val(val).change();
    });
});
</script>
```

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

Need every click ID in your CRM? Jump to [Send GiveWP Donation UTMs via Webhook](https://docs.utmgrabber.com/books/givewp-integration/page/end-ive-onation-s-via-ebhook).

# Send GiveWP Donation UTMs via Webhook

## UTM attribution overview

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

Start with the [main GiveWP UTM Tracking Integration setup guide](https://docs.utmgrabber.com/books/givewp-integration/page/rack-s-on-ive-onation-orms) if you have not wired hidden fields or checkout links yet.

### When a webhook makes sense

Native fields in GiveWP UTM Tracking Integration 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).