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