# Microsoft Dynamics 365 UTM Tracking Integration

Send WordPress UTM attribution from HandL UTM Grabber into Microsoft Dynamics 365, including source, medium, campaign, click IDs, and referrer data.

# Track UTMs in Microsoft Dynamics 365 Marketing Forms

## UTM attribution overview

HandL UTM Grabber natively prefills Microsoft Dynamics 365 Marketing embedded forms on WordPress from UTM cookie values.

### Native auto-prefill

When a Dynamics 365 Marketing form is embedded on your WordPress site, UTM Grabber hooks into `MsCrmMkt.MsCrmFormLoader` after form load and prefills input fields whose `title` or `placeholder` matches a UTM Grabber parameter name.

### Setup

1. Embed your Dynamics 365 Marketing form on a WordPress page
2. In Dynamics, create form fields with titles matching UTM parameter names: `utm_source`, `utm_medium`, `utm_campaign`, `gclid`, etc.
3. Ensure HandL UTM Grabber V3 is active. No additional configuration needed
4. Visit the page with test UTMs and submit the form. Fields should prefill automatically

### Field naming

UTM Grabber matches the lowercase, underscore version of the field `title` attribute. Use exact parameter names from [Native WP Shortcodes](https://docs.utmgrabber.com/books/102-getting-started-for-handl-utm-grabber-v3/page/native-wp-shortcodes).

### CRM webhook alternative

For server-side lead routing, use Dynamics webhooks or [Triggering Zapier on Thank you Page](https://docs.utmgrabber.com/books/zapier-integration/page/triggering-zapier-on-thank-you-page) on your thank-you page.

# Send Microsoft Dynamics 365 UTMs via Zapier or Webhook

## UTM attribution overview

This walkthrough covers sending full UTM Grabber data from Microsoft Dynamics 365 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 Microsoft Dynamics 365 guide](https://docs.utmgrabber.com/books/microsoft-dynamics-365/page/track-utms-in-microsoft-dynamics-365-marketing-forms).

### When a webhook makes sense

Native fields in Microsoft Dynamics 365 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/integromat-integration).