Klaviyo UTM Tracking Integration

Send WordPress UTM attribution from HandL UTM Grabber into Klaviyo, including source, medium, campaign, content, term, click IDs, and referrer data.

Track UTMs in Klaviyo Forms with UTM Grabber

UTM attribution overview

Capture HandL UTM Grabber attribution in Klaviyo embedded forms and sign-up pages on WordPress by mapping hidden fields to UTM Grabber cookie values.

Add hidden properties in Klaviyo

  1. In Klaviyo, create profile properties for each UTM parameter you want to track
  2. Add hidden inputs to your Klaviyo embed form with name attributes matching property names
  3. UTM Grabber auto-populates matching input fields on page load

Manual prefill script

<script>
document.addEventListener('DOMContentLoaded', function() {
    if (typeof handl_utm === 'undefined') return;
    Object.keys(handl_utm).forEach(function(key) {
        var el = document.querySelector('input[name="' + key + '"]');
        if (el && handl_utm[key]) el.value = handl_utm[key];
    });
});
</script>

Parameter list: Native WP Shortcodes.

Send Klaviyo UTM Attribution via Zapier Webhook

UTM attribution overview

This walkthrough covers sending full UTM Grabber data from Klaviyo 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 Klaviyo guide.

When a webhook makes sense

Native fields in Klaviyo 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.