Skip to content

Documentation

Microsoft UET Consent Mode

Microsoft UET Consent Mode

Last updated Mar 24, 2026

Microsoft UET (Universal Event Tracking) Consent Mode lets the Bing/Microsoft Advertising UET tag adjust its data collection based on the visitor's consent status. Kukie.io manages the UET consent signals automatically, so your Microsoft Ads conversion tracking remains compliant with privacy regulations.

Microsoft's UET Consent Mode is a consent API similar in concept to Google Consent Mode, but it uses a completely separate mechanism. While Google uses the gtag() function, Microsoft UET uses its own window.uetq command queue.

UET Consent Mode has a single consent parameter: ad_storage. This controls whether the UET tag can store cookies and send user-level tracking data to Microsoft Advertising.

How It Works with Kukie.io

When the UET Consent Mode integration is enabled, the banner script communicates consent status to the UET tag using the window.uetq queue:

// Set default (before consent)
window.uetq.push('consent', 'default', { ad_storage: 'denied' });

// After visitor grants marketing consent
window.uetq.push('consent', 'update', { ad_storage: 'granted' });

The ad_storage parameter is mapped to the Marketing cookie category in Kukie.io. When a visitor accepts the Marketing category, ad_storage is updated to granted. When they reject it, it remains denied.

Advanced vs Basic Mode

UET Consent Mode supports two operational modes:

Advanced Mode (Default When Enabled)

When UET Consent Mode is enabled in Kukie.io, the UET tag loads on every page - even before consent is given. In the denied state, the tag sends cookieless pings to Microsoft for conversion modelling (similar to Google's consent mode behaviour). These pings do not contain personal data or set cookies.

Once the visitor grants marketing consent, the tag switches to full tracking with cookies enabled.

In this mode, the UET tag's domain (bat.bing.com) is whitelisted from the auto-block script blocker, since it needs to load before consent to send its cookieless pings.

Basic Mode (When Disabled)

When UET Consent Mode is disabled but the auto-block script blocker is active, any bat.bing.com scripts are blocked as part of the marketing category tracker patterns. The UET tag only loads after the visitor explicitly accepts marketing cookies.

Enabling UET Consent Mode

In the Banner Editor, go to the Integrations tab. Toggle Microsoft UET Consent Mode to on and click Save.

Tip: You do not need to enter a UET tag ID in Kukie.io. The integration manages the consent signals only. The UET tag itself should be loaded via your existing tag management setup (directly in HTML, via GTM, or another tag manager).

Like the Google Consent Mode integration, UET Consent Mode adapts to each consent model:

  • Opt-in (GDPR) - ad_storage defaults to denied. Updated to granted only after the visitor accepts the Marketing category.
  • Opt-out (CCPA) - ad_storage defaults to granted. The UET tag tracks from the first page load. If the visitor opts out of marketing, ad_storage is updated to denied.
  • Notice Only / Hidden - ad_storage is set to granted. Full tracking from the start.

Separate from Google Consent Mode

Important: UET Consent Mode and Google Consent Mode are entirely independent systems. Enabling one does not affect the other. If you use both Google and Microsoft advertising, you should enable both integrations separately in the Kukie.io Integrations tab.

The banner script handles both consent APIs in parallel, sending the appropriate signals to each when the visitor makes or updates their consent choice.

Verifying Your Setup

To verify that UET Consent Mode is working:

  1. Open your site with the browser developer tools network tab filtered to bat.bing.com.
  2. Before consenting, you should see requests with an asc=D parameter (denied mode / cookieless pings).
  3. After accepting marketing cookies, subsequent requests should show asc=G (granted mode / full tracking).

You can also use the UET Tag Helper browser extension from Microsoft to inspect consent states in more detail.

Was this helpful?