# Track UTMs on ConvertKit Forms

## UTM attribution overview

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

### ConvertKit UTM Tracking Integration and UTMs

ConvertKit custom fields can store utm\_source and campaign data from embedded forms on WordPress.

### Steps

1. Create CK custom fields
2. Hidden inputs on embed with matching names

### 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 ConvertKit UTMs via Webhook](https://docs.utmgrabber.com/books/convertkit-integration/page/end-onvert-it-s-via-ebhook).