Bing Ads destination

Send your event data from RudderStack to Bing Ads.

Bing Ads is an advertising platform that lets you track and monitor ad campaigns, clicks, CTRs, etc. You can also implement efficient ad retargeting for your customers.

Find the open source JavaScript SDK code for this destination in our Github repository.

Getting started

RudderStack supports sending event data to Bing Ads via the following connection modes:

Connection ModeWebMobileServer
Device modeSupported--
Cloud mode---
info
RudderStack loads the Bing Ads native SDK from the https://bat.bing.com/ domain in the web device mode integration. Based on your website’s content security policy, you might need to allowlist this domain to load the Bing Ads SDK successfully.

Once you have confirmed that the platform supports sending events to Bing Ads, follow these steps:

  1. From your RudderStack dashboard, add a source. Then, from the list of destinations, select Bing Ads.
  2. Assign a name to the destination and click Continue.

Connection settings

To successfully configure Bing Ads as a destination, you will need to configure the following settings:

  • Tag ID: Enter the UET tag ID associated with your Bing Ads account. You can create a UET tag by logging in to your Bing Ads account and navigating to Tools > Conversion Tracking > UET tag > Create UET tag. For detailed instructions, see Bing Ads documentation.
  • Client-side Events Filtering: This setting lets you specify which events should be blocked or allowed to flow through to Bing Ads. For more information on this setting, see Client-side Events Filtering.
  • OneTrust Cookie Categories: This setting lets you associate OneTrust cookie consent groups to Bing Ads.
  • Use device mode to send events: As Bing Ads is a web device mode-only destination, this setting is enabled by default.

Page

You can make a page call to Bing Ads to record a page view. The web SDK will send this data to Bing Ads with the event type as pageLoad.

The following snippet highlights a sample page call:

rudderanalytics.page("Cart", "Cart Viewed", {
  path: "/cart",
  referrer: "test.com",
  search: "term",
  title: "test_item",
  url: "http://test.in",
})

Track

You can use the track call to capture user events and their associated properties.

Supported mappings

The following table details the mappings between RudderStack and Bing Ads properties:

RudderStack propertyBing Ads propertyDescription
properties.event_action
message.type
eventEvent action.
properties.ecomm_pagetype
properties.pagetype
ecomm_pagetypeViewed page type.
properties.products.$.product_id
properties.products.$.sku

If products array is absent, then:

properties.product_id
properties.sku
ecomm_prodidProduct identifier.
properties.querysearch_term
ecomm_query
Search query.
properties.ecomm_category
properties.category_id
ecomm_categoryCategory ID for the category browse page.
properties.total
properties.value
ecomm_totalvalueTotal value of all items in the transaction.
properties.transaction_id
properties.order_id
properties.checkout_id
transaction_idUnique ID for the transaction.
properties.products.$.product_id
properties.products.$.sku
properties.products.$.quantity
properties.products.$.price

If products array is absent, then:

properties.product_id
properties.sku
properties.quantity
properties.price
items

(id, quantity, price)
Product details like product ID, quantity, price.
warning

Note that:

  • RudderStack prioritizes properties.total over properties.revenue followed by properties.value, before mapping it to the Bing Ads’ revenue property.
  • Bing Ads accepts the following values for properties.ecomm_pagetype/properties.pagetype (mapped to ecomm_pagetype).
    • other (default value)
    • home
    • category
    • searchresults
    • product
    • cart
    • purchase
  • Bing Ads allows a maximum of 50 characters for the product_id/sku properties (mapped to ecomm_prodid).
  • You can override the default RudderStack mappings with the Bing Ads UET parameters by passing them directly in the event payload. For example, passing ecomm_totalvalue in the payload overrides the RudderStack properties properties.total/properties.value (mapped to ecomm_totalvalue). However, note that this functionality is not applicable for the items parameter.

For more information on the UET parameters, see the Bing Ads documentation.

A sample track call looks like the following:

rudderanalytics.track("Item Purchased", {
  category: "MyCategory",
  currency: "INR",
  total: 5,
  revenue: 125,
  value: 100,
})

Questions? Contact us by email or on Slack