# Pass UTMs Through ClickFunnels Funnel Steps

## UTM attribution overview

ClickFunnels UTM Tracking Integration only records UTMs that land on the checkout URL at purchase time. UTM Grabber keeps them in cookies on your site. This page explains how to pass that data through before the customer pays.

### What to expect

ClickFunnels reads UTMs on the page URL, but they often drop off after an opt-in when the visitor moves to step two. UTM Grabber keeps values in cookies so you can push them into hidden fields on every step.

### Steps

### Setup

1. Add custom hidden fields prefixed to avoid clashing with CF internals, e.g. handl\_utm\_source, handl\_utm\_campaign, handl\_gclid
2. Add UTM Grabber tracking code on your funnel pages (or your WordPress site that feeds traffic into CF)
3. Use custom JS in CF to copy handl\_utm values into those hidden fields before submit
4. See [ClickFunnels UTM docs](https://support.clickfunnels.com/support/solutions/articles/150000152822-urchin-tracking-module-utm-parameters-) for native URL tracking

### Append UTMs with utm-out

```
<a href="https://your-checkout-url.example/product" class="utm-out">Buy now</a>
```

UTM Grabber rewrites the link with cookie values. Details: [utm-out class guide](https://docs.utmgrabber.com/books/102-getting-started-for-handl-utm-grabber-v3/page/appending-utms-to-the-buttons-using-class-name-attributes-selectively).

For webhook-based attribution after purchase, see [Send ClickFunnels UTMs via Webhook](https://docs.utmgrabber.com/books/clickfunnels-integration/page/end-lick-unnels-s-via-ebhook).