Implement Bing Universal Event Tracking Or Be Left In The Dust

By , Associate Director of Services at Hanapin Marketing


Back in November I put together my predictions for Bing PPC in 2015. While we’re still early in 2015, some of the predictions are already in motion including:


  • Firefox utilizing Yahoo search
  • More complete attribution
  • Audience targeting


In order to take advantage of many of the new Bing Ads features, first you must be using the new Universal Event Tracking (UET).


What is Universal Event Tracking?


UET will be replacing Bing Ads campaign analytics and will allow you to create custom events, goals, and revenue by placing a snippet of code on all pages in your site. After you’ve placed the tracking code, you will be able to track conversion actions across accounts, campaigns and devices directly in the Bing Ads UI.


For example, you can track the number of people who click on your ad and make a purchase, or spend longer than 5 minutes on your webpage. The UET uses a last click attribution model that will allow you to track conversions dating back 90 days. UET also lays the groundwork for audience based targeting (remarketing).


Now that you understand what UET is and how it works, next we will discuss 3 reasons why you need to get the ball moving and start implementing the tracking right away.


1. Legacy Bing Tracking Will Not Be Supported After April 2015


Bing mentions on the blog that any tracking that was created before July 2013 will no longer be supported after April 2015. If your Bing account has been around for a while and you are using Bing conversion tracking for optimizations, your account is due for an upgrade.


2. Remarketing – Audience Based Targeting


Bing states “UET lays the groundwork necessary for audience based remarketing scenarios (coming soon!) such as bid boosting by providing the ability to define custom audience segments and specifically target them.”


While Remarketing is not officially available yet, we have a very strong feeling this feature will be available soon. Remarketing will only be available to users that are using UET.


Don’t forget that remarketing campaigns take time to build users, so the sooner you get the UET pixel placed, the better. Don’t wait and end up behind the curve once this feature becomes available!


3. Campaign and Account Tracking Attribution


Once UET tracking has been enabled in your account, you will then have access to attribution across accounts, campaigns and devices. This feature will allow you to optimize attributes that are supporting your account goal funnel directly in the Bind Ads UI. By having all this information at your fingertips, you should have a greater ability to drive incremental conversions for your business as whole.


How To Set Up UET


Create An Event Goal In Bing Ads


  • Click on Campaign Tab
  • Shared Libraries (left panel)
  • Click View Goals, then Create goal
  • Enter the name of your Goal
  • Select Conversion event you wish to track (destination, duration, pages/screens per visit, or event.)
  • Fill in the appropriate values for your event goal (Thank you page url, ect.)
  • You can also assign a goal value and track back to 90 days before conversion event.
  • *If you need to track dynamic revenue you will need to create a custom variable to be included in the pixel.
  • Next you will create a tag name and save

Create Goal

Access The UET Pixel


  • Go to main Goals Page, select the goal you need the pixel for
  • Click View Tag, copy tag
  • Paste the tag anywhere into the body of your pages


Using a Tag Management Platform? No Problem!


Bing UET works with Google Tag Manager, Adobe Dynamic Tag Management, and Qubit Opentag. Here is a guide that will walk you through how to place the UET pixel using tag management.


What About Event Tracking?


Setting up event tracking is a little more complex and requires an additional snippet of code to be placed in addition to the UET pixel. Let’s say you want to track when someone clicks a button on your site and count that as a conversion event. You would first need to create the Event goal (button click), place that UET pixel on all your pages along with the additional script below:


var uetq = uetq | | [ ]; uetq.push({‘ec’ : ‘Event category’, ‘ea’: ‘Event action’, ‘el’ : ‘Event label’, ‘ev’ : ‘Event value’ });  </script>


The code for events consists of four values you can use to define a user’s interaction. None of the parameters are mandatory, but you must define at least one value:


  • Event category (ec): The object you want to track (e.g., “button”).
  • Event action (ea): The type of interaction the user takes with the object from your event category (e.g. “click”).
  • Event label (el): Useful field for you to label details about the event (e.g. “purchase button”).
  • Event value (ev): Use this field to associate a monetary value, or other numerical data, with the goal (e.g. “5”, representing $5).


Tracking Dynamic Revenue with UET


When creating a UET goal you are able to set a constant variable for revenue but for most ecommerce accounts that probably won’t cut it. Most ecommerce accounts require dynamic revenue tracking in order to optimize to ROAS/ROI at the product sku level. Similar to the event tracking with UET, tracking dynamic revenue will require a little more technical savvy with the pixel creation and placement. To set up dynamic revenue advertisers will need to use custom values for destination and event goals. Below is the script set up for Destination and Events goals.


Destination Goals


Assign a variable to ‘gv’:


function computeDiscount(discount, price) {  return price – (discount / 100) * price; } </script>
var uetq = uetq || [];  uetq.push({ ‘gv’: amount }); // Pass the computed goal value </script>


Directly call a function and assign to ‘gv’:


function computeDiscount(discount, price) {  return price – (discount / 100) * price; }  </script>
var uetq = uetq || [];  uetq.push({ ‘gv’: computeDiscount(40, 100) }); // Compute and pass the computed goal value  </script>


NoScript version:


If you opted to implement Bing Ads Universal Event Tracking using NoScript, simply pass your goal value (gv) in the URL section of a NoScript version of the tag as shown in the format below:


<img src=”//″ height=”0″ width=”0″ style=”display:none; visibility:hidden;” />


Event Goals


Assign a variable to ‘gv’:


function computeDiscount(discount, price) {  return price – (discount / 100) * price; }  var amount = computeDiscount(20, 100); // Compute the goal value   </script>
var uetq = uetq || [];   // Pass the computed goal value  uetq.push({ ‘ec’:’Event category’, ‘ea’:’Event action’, ‘el’:’Event label’, ‘ev’:’Event value’, ‘gv’:amount });  </script>


NoScript version:


If you opted to implement Bing Ads Universal Event Tracking using NoScript, simply pass your goal value (gv) in the URL section of a NoScript version of the tag as shown in the format below:


<img src=”//″ height=”0″ width=”0″ style=”display:none; visibility:hidden;” />


Closing Thoughts


For more information on implementing Bing UET for your account, review the Bing UET implementation guide. UET is laying the groundwork for lots of cool new features and ways to view conversion data in Bing. Don’t fall behind the curve by waiting to get started using Bing UET! Anyone else using Bing UET tracking in your accounts?


Twitter Facebook LinkedIn Google+ Email Print More

6 thoughts on “Implement Bing Universal Event Tracking Or Be Left In The Dust

  1. sergiuserimon

    Hi Cassie, thanks for the clear and to-the-point explanation. I’ve actually been looking for a resource like this.
    I have one question though. Maybe you can help me understand this.
    I want to track 2 events on one of my pages (2 button clicks – each has its own goal set up). Do I need to add the UET pixel for both goals, or just one of them? And should I add them on all pages of my site, or just the page where the events are happening?

  2. paulruben

    And for the destination tracking, which one of the two should we be using?

    Assign a variable to ‘gv’
    Directly call a function and assign to ‘gv’

    It would be helpful if you could give an example of what to fill in in those pieces of code. What do I replace with what? Say I’ve got only 1 product and it’s price is 19$. Where do I fill in “19”? Is it ‘price’ or ‘gv’ that I replace with the number 19?

    For now I’m just using the noscript version.

  3. Ben McCarty

    This is a great overview article, but the destination goal script for dynamic ecommerce order value (as taken from the Bing help page) isn’t very helpful to the majority of situations I’d imagine. Can you provide a straightforward example where you’re just capturing the order total variable and there’s no need to work a calculation into the process? Thank you!

  4. Jordan McClements

    Am I the only one who thinks this totally sucks compared to the old Bing Ads tracking?

    Not only is it unnecessarily complicated, it forces one of my clients to have multiple UET tags on every page of their web site as they have separate Bing Ads accounts and I’ve been told categorically there is no way to link them or any other way to do it in any sensible shape or form.

    With the old way it was just a question of having more than one conversion code on the ‘sale confirmed’ page (in this case).

    Bing ads is just so illogical sometimes.

    Bing ads should maybe just start copying everything Google does exactly as they do it and save everyone a lot of hassle.

    I’m going off topic a bit here, but how about this one? You have an international company and want to show shopping ads in the UK and USA from your existing European account. Fairly straightforward you would think (it is with AdWords). But NO – you must set up 2 completely new accounts, one with a billing address in the USA and one with a billing address in the UK. Not only that, but if you want to get shopping ads working in the UK then you have to wait approximately one month (if you are lucky) for their absolutely awful support (it used to be good, have they fired all the knowledgeable people?) to help you sort out the problems (which could probably be sorted in 10 minutes with a few phone calls from someone who knew what they were talking about).

  5. Derek Cavaliero

    Hey guys,

    Just a heads up, your event tracking code example has multiple syntax errors. You have an extra space between your “||” and “[]”.

    A few members on my team have been using your example and wondering why the event tracking isn’t working and after looking into it further it was due to them copying the example and changing the values.

    1. Cassie OumedianCass_Oumedian

      Hey Derek, Thanks for the heads up! I had just copied that code from the Bing Ads Help but it looks like the page has been updated since. Great catch and hopefully your tracking is working now. Thanks for reading!


Leave a Reply

Your email address will not be published. Required fields are marked *