---
title: Bing Ads (UET Tag)
slug: bing-ads-uet-tag
docTags: 
createdAt: 2025-05-29T21:51:40.189Z
---

**Bing Ads**, now called **Microsoft Advertising**, is a pay-per-click (PPC) advertising platform that allows businesses to display ads across Microsoft's search network, including Bing, Yahoo, and AOL. It helps brands reach users through search results, partner websites, and native placements, offering targeting options based on keywords, location, demographics, and device type.

Chord's CDP provides support for the Bing Ads UET (Universal Event Tracking) tag. The Bing Ads UET Tag is a piece of code provided by Microsoft Advertising that you place on your website to track what visitors do after clicking on your ad. Specifically, it collects data on actions like purchases, form submissions, or page views, helping you measure ad performance, build remarketing lists, and enable automated bidding strategies. In short, it connects your site behavior with your Microsoft Ads campaigns so you can optimize for better results.

# Getting started

This is a device mode destination. You will need the Microsoft Ads / Bing Universal Event Tracking Tag ID in order to connect this destination.

The relevant ID can be found in your Microsoft Ads dashboard.

# Connecting to the Bing Ads (UET Tag) CDP destination

:::BlockQuote
**Warning:** Before connecting destinations in the Chord CDP, please verify with all Destination owners that all **non-Chord CDP** configured destinations are **disabled**. Running external destinations alongside configured Chord CDP destinations **can result in duplicate events downstream.**
:::

1. Log into the Chord data platform.
2. Navigate to the CDP.
3. Click the **"Add"** button next to Destinations.
4. Select **Bing Ads (UET Tag)** from the destination catalog.
5. Enter in the destination name and the **Universal Event Tracking Tag ID.**
6. Click **"Create"** to connect.

# Enhanced Conversions

On every event (page and track), the plugin checks for email and phone to set enhanced conversions data via Microsoft's UET SDK. This enables Microsoft to match conversions to signed-in users for improved attribution.

**UET SDK call:** `uetq.push("set", { pid })`

| UET Enhanced Conversion Field | Chord Source (in priority order)            |
| ----------------------------- | ------------------------------------------- |
| `pid.em`                      | `properties.email` > `context.traits.email` |
| `pid.ph`                      | `properties.phone` > `context.traits.phone` |

Enhanced conversion data is sent before both page and track events whenever email or phone is available.

# Events

# Page

Fires a Bing UET page load event.

**UET SDK call:** `uetq.push("pageLoad")`

No additional attributes are sent with page events.

***

# Track

All track events are forwarded as custom Bing UET events using the modern event format. There is no event-name-specific mapping — every track event uses the same format.

**UET SDK call:** `uetq.push("event", eventAction, eventData)`

| UET Attribute    | Chord Source (in priority order)                               | Notes                                                                                                  |
| ---------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| *(event action)* | `event` (the Chord event name)                                 | Second argument to `uetq.push("event", ...)`                                                           |
| `event_category` | `properties.category`                                          | Omitted if not present                                                                                 |
| `revenue_value`  | `properties.revenue` > `properties.total` > `properties.value` | Conversion revenue; omitted if not present                                                             |
| `event_value`    | Same as `revenue_value`                                        | Duplicate of `revenue_value`; sent because some Microsoft Ads conversion goals read this field instead |
| `currency`       | `properties.currency` > `properties.meta.i18n.currency`        | Defaults to `"USD"` via extractor                                                                      |
| `transaction_id` | `properties.order_id` / `properties.orderId`                   | For deduplication; omitted if not present                                                              |
| `shipping`       | `properties.shipping`                                          | Shipping cost; omitted if not present                                                                  |
| `tax`            | `properties.tax`                                               | Tax amount; omitted if not present                                                                     |

***

Identify events are not forwarded to Bing Ads.

# Initialization

The plugin uses Bing's standard inline initialization pattern: it sets up the `uetq` queue array, creates a script element for `//bat.bing.com/bat.js`, and on script load initializes the UET object with `{ ti: tagId, enableAutoSpaTracking: true }` followed by an initial `pageLoad` call.

The plugin manages SDK loading state (`fresh` > `loading` > `loaded`/`failed`) to prevent duplicate script loads. If the script fails to load, subsequent events are silently dropped.

# CSP requirements

If your site uses a Content Security Policy, allow the following domains:

| Directive     | Domain                 |
| ------------- | ---------------------- |
| `script-src`  | `https://bat.bing.com` |
| `connect-src` | `https://bat.bing.com` |

***

**Updated 09 Mar 2026**
