Kadence Blocks Form UTM Tracking Integration

Set up Kadence Blocks Form with HandL UTM Grabber to capture UTM parameters, GCLID, FBCLID, referrer, and landing page data for lead attribution.

How to Track UTMs in Kadence Blocks Form

UTM attribution overview

This guide explains How to Track UTMs in Kadence Blocks Form with HandL UTM Grabber. It helps you capture UTM source, medium, campaign, term, content, click IDs, referrer, and landing page data and keep the marketing context needed for accurate reporting across forms, bookings, signups, and sales.

In order to implement our solution, you need to do the following modification on kadence form. If you require assistance, let us know, we'd be happy to help.

remove or comment out the line from wp-content/plugins/kadence-blocks/dist/form-ajax.php:456

//case 'hidden':

It should looke like this...

After that, name the form "field input"s with respect to our naming convention here Native WP Shortcodes. And make sure all the fields are marked as "Hidden".

One example can be seen here:

That's it! Wait until you receive a lead or submit a test yourself. The fields should be populated as shown in the image below:

Send Kadence Blocks Form UTMs via Zapier or Webhook

UTM attribution overview

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

For the primary setup, see the main Kadence Blocks Form guide.

When a webhook makes sense

Native fields in Kadence Blocks Form 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.

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.

Make users: see Make Integromat integration.