# n8n UTM Tracking Integration

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

# Send UTM Grabber Data to n8n Webhooks

## UTM attribution overview

Send UTM Grabber data into n8n UTM Tracking Integration workflows from WordPress. A solid option if Zapier task limits hurt or you want self-hosted automation.

n8n is a strong alternative to Zapier for technical teams. UTM Grabber hands you the payload. n8n routes it anywhere.

### Steps

### Setup

1. Create an n8n workflow with a Webhook trigger (POST or GET)
2. On your WordPress thank-you page, fire the webhook with handl\_utm merged into query params (see script on page 2)
3. Map JSON fields to HubSpot, Pipedrive, Google Sheets, or a database node
4. Self-hosted n8n keeps data on your infrastructure if compliance matters

The webhook snippet lives on the second page in this book.

# n8n Workflow Examples for UTM Attribution

## UTM attribution overview

This walkthrough covers sending full UTM Grabber data from n8n 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 n8n UTM Tracking Integration setup guide](https://docs.utmgrabber.com/books/n8n-integration/page/end-rabber-ata-to-n8n-ebhooks) if you have not wired hidden fields or checkout links yet.

### n8n webhook node

Use Webhook trigger, set response to 200, and parse query parameters in the next node.

### When a webhook makes sense

Native fields in n8n 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/makecomintegromat-utm-tracking-integration).