Microsoft Advertising (UET) Calendly Booking Scheduled Event Tracking for WordPress
Quick answer: Select Microsoft Advertising (UET) and the Calendly Booking Scheduled event in the free container builder wizard, enter your tracking ID, then import the generated file into Google Tag Manager - the trigger is wired up automatically, no manual setup required.
Configure the Calendly Booking Scheduled event so Microsoft Advertising (UET) fires correctly on your WordPress store, then generate an importable Google Tag Manager container - no manual tag, trigger, or variable setup required.
Generate my Microsoft Advertising (UET) Calendly Booking Scheduled container →
How it works
- Open the container builder with Microsoft Advertising (UET) and the Calendly Booking Scheduled event already selected.
- Enter your tracking ID/pixel credentials for this platform.
- Generate and download the GTM container JSON file.
- In Google Tag Manager: Admin > Import Container > choose the file > Merge into a new workspace, then verify in Preview mode before publishing.
Track Calendly Booking Scheduled with other platforms
- Track Calendly Booking Scheduled with Google Analytics 4
- Track Calendly Booking Scheduled with Google Ads
- Track Calendly Booking Scheduled with Meta Pixel
- Track Calendly Booking Scheduled with TikTok Pixel
- Track Calendly Booking Scheduled with Pinterest Tag
- Track Calendly Booking Scheduled with LinkedIn Insight Tag
- Track Calendly Booking Scheduled with X (Twitter) Pixel
How this event is built in your container
Calendly Booking Scheduled uses a Custom Event trigger that fires when your site pushes dataLayer.push({ event: 'calendly_booking' }) - the trigger is pre-configured to match this exact event name, so nothing needs adjusting after import.
Requirement: Your site needs to actually push that dataLayer event for the trigger to fire - the container listens for it, it doesn't generate it. Most WooCommerce sites get this from a data layer / enhanced ecommerce tracking plugin; check that dataLayer.push({event: 'calendly_booking', ...}) fires at the right moment using GTM's Preview mode before publishing.
Calendly is different from most events here: its embedded widget doesn't push to your site's dataLayer on its own. It communicates with the parent page via the browser's postMessage API instead, so you need a small bridging snippet to translate that into the dataLayer event this container listens for.
Add this via a GTM Custom HTML tag (firing on all pages that embed Calendly), or directly in your theme:
window.addEventListener('message', function (e) {
if (e.data.event && e.data.event === 'calendly.event_scheduled') {
window.dataLayer = window.dataLayer || [];
dataLayer.push({ event: 'calendly_booking' });
}
});This is based on Calendly's documented embed events as of this writing - if Calendly has changed their event names since, check their current embed API docs and adjust the string 'calendly.event_scheduled' accordingly.
The Microsoft Advertising (UET) tag itself is added automatically and wired to this trigger - you won't need to create or configure it by hand in GTM.
Troubleshooting
Calendly Booking Scheduled doesn't fire at all in GTM Preview mode.
Confirm your site is actually pushing dataLayer.push({event: 'calendly_booking'}) - open the browser console and check the dataLayer array at the moment the action happens. If it's not there, the container has nothing to listen for.
The event fires, but values show up blank or undefined.
Check that the pushed object's key names match exactly (case-sensitive) - a mismatched key like "Value" instead of "value" will show as undefined in GTM's variable preview.
Calendly Booking Scheduled fires twice for the same action.
You likely have both this container's tag and a manually-added Microsoft Advertising (UET) snippet both listening for the same action. Remove the manual one, or disable it, before publishing.
Frequently asked questions
What triggers the Calendly Booking Scheduled event?
It fires automatically at the matching point in the WordPress visitor journey - the container builder wires up the correct trigger for you based on the standard dataLayer event for Calendly Booking Scheduled, so there's nothing to configure manually beyond making sure your site actually pushes that event.
Why should I track Calendly Booking Scheduled with Microsoft Advertising (UET) specifically?
It shows engagement further up the funnel, which Microsoft Advertising (UET) can use to build audiences and understand what leads to a purchase, even before the sale happens.
Is this free to set up?
Yes - the free tier covers 1 tracking platform at a time. If you need this event across several platforms in one container, unlocking full access covers all of them together.
Will this conflict with Microsoft Advertising (UET) code I already added manually?
It can, if the same event fires twice from two separate sources. Remove any manually-added Microsoft Advertising (UET) tag for this event before importing the generated container, or use GTM's Preview mode to confirm it only fires once.
How long does setup take?
A few minutes - select Microsoft Advertising (UET) and the Calendly Booking Scheduled event in the wizard, enter your tracking ID, download the container, and import it into GTM.