Hawaiʻi's Technology Community

Real Time Bidding in Online Advertising

The motivation behind this blog was a question on how different online advertising partners identify you and coordinate their ad efforts in real time bidding ("RTB") for a slice of your attention when they show you an ad. This is meant to explain a technique called "UUID synching". However, that got me thinking I should frame the discussion by first explaining the world of RTB. In this blog, I use household brand name companies merely for illustrative purposes. Please note I do not know if mentioned companies or sites actually use RTB specifically.

When you visit a major site on the Internet, have you ever wondered who or what decides what ads to show you at the top or side banners? Once upon a time, this was a very simple process. The site operator had business arrangements with some advertisers and they'd show their ads on site for a set amount of time. Everybody visiting the site would see the same ads. Over time, advertisers and site operators grew more sophisticated and began to either directly observe or infer things about you and your behavior. They might know things like your gender, ethnicity, zip code, age, or household income. Using this profile, they target ads at you that are more relevant to you and maximizes the chance of you clicking or buying something from their advertising partner. But how do advertisers determine how much money they should pay the site operator for your impression or your click?

As you can imagine, the process for determining impression pricing also started simple and grew quite sophisticated with time. Today, many of your online eyeballs are actually bid on by several interested advertisers and negotiated almost instantly with your impression going to the highest bidder. For example, let's say you visit and it knows you are a female in her mid-20s with disposable income living in Hawaii in the summer. Yahoo turns around and asks its advertisers who is interested in this potential consumer and how much do you want to pay for this impression right here right now? Coca Cola Bottling Company fires back saying "$0.20"; Amazon says "$1.00!"; Capital One says "$1.25!" You then see a Capital One credit card commercial at the top of Yahoo. This happens over a span of milliseconds and is imperceptible to you. The process is known as "real time bidding", or "RTB" for short. RTB makes up about a quarter of digital ad spending these days. This translates to about a $4.5 billion industry in the United States alone for 2014.* By 2017, some estimate U.S. RTB spending to grow to about $20.8 billion worldwide.* It is projected to continue to grow and eventually comprise as much of 80% of online advertising dollars by 2022 around the world.*

Of course, for something like this to be done in milliseconds means there is a lot of machinery going on in the background which is usually outsourced to another entity, even amongst large multinationals. Furthermore, as an advertiser you want to maximize your reach but don't want the onerous task of forming relationships with countless site operators around the world. As a site operator, you also want to maximize the number of potential advertisers with you but not carry the onerous burden of forming relationships with countless advertisers around the world. So of course, there are companies that specialize in each. A Demand Side Platform (DSP) specializes in aggregating advertisers. They have the technical and business expertise to attract advertisers and allow them to setup their automated RTB online marketing campaigns. A basic campaign may look like, "I want to spend $.20 per click over the summer for young females with disposable income. I want to spend $.10 for mid-aged people in the winter on the west coast." DSPs process advertisers' campaign rules and bid in real-time on their behalf and will usually offer monitoring and reports on how well their campaigns are doing. The same is true for the other side. A Supply Side Platform (SSP) specializes in aggregating site operators allowing them to register their site, specify what type of impressions they supply, and amongst other parameters, possible bounds on how little they are willing to sell impressions for. SSPs then relay impressions from their sites to multiple DSPs for real-time ad bidding.

This is where this blog post gets technical. Clearly, a DSP would like to be able to uniquely identify your browser, so that the next time an ad is being requested, they will know that it's you and make better ad selection decisions, such as by analyzing ads they served to you in the past and how you responded. This unique identifier is cookie-based and known as a "universally unique identifier", or "UUID". In RTB however, SSPs are ultimately what interact with your browser so they manage the cookies on your browser containing their own UUID representing you. Because of security measures built into all browsers however, a site can't access the cookies of another domain. Therefore a DSP can't readily know the UUID of the SSP and vice versa, but yet during bid negotiation both sides need to have synched their UUIDs representing you to do their jobs most effectively. That way when an SSP sends an ad request to DSPs for bidding, it can tell the DSP that it is coming from you.

So, what to do? DSPs and SSPs need to uniquely identify you through cookies with their own UUIDs but can't readily synchronize them due to cross-domain cookie restrictions. One way is to display an invisible image (ex. one transparent pixel) served from the other party's domain with your UUID appended to it. For example, let's say your brother is visiting Yahoo.

  1. Yahoo's SSP (SSP1) sends your impression out for bid with their UUID of you: "Young male with moderate income (uuid: ssp-abcde) is visiting Yahoo. How much do you want to pay for this impression?"
  2. DSPs connected to this SSP receive the bid and respond on behalf of their clients with bid amount.
  3. DSP1 wins the impression, looks up in their own database of SSP UUIDs but does not find "ssp-abcde".
  4. They serve a Nike ad on Yahoo to your brother and set a cookie on your brother's browser tagging it with uuid "dsp-xyzhe".
  5. Here's the trick. DSP1 also writes a one pixel invisible image along with the ad but served off and their "dsp-xyzhe" UUID appended to the url. SSP1 receives this image call and now knows that their "ssp-abcde" is the same person (or at least browser) as DSP1's "dsp-xyzhe". They update their internal mappings accordingly.
  6. Next time your brother visits Yahoo again, SSP1 sends that impression out to bid but tagged as "uuid: dsp-xyzhe" to DSP1 who now knows that they served a Nike ad to him in the past. He clicked on it, so maybe they should send more shoe ads on behalf of their clients.

This process is widely used in industry and known as "UUID synching". The steps above are a simplified case but hopefully serves to illustrate the inner workings of UUID synching well. So the next time you peek under the hood of your browser and see calls made out to seemingly random addresses, you can attribute some of that to the whirling cogs of a global machine pushing many millions of dollars of ad inventory around everyday.

Views: 333


You need to be a member of TechHui to add comments!

Join TechHui

Comment by Joseph Lui on September 16, 2014 at 3:45pm

Lol... how will they know what to sell you then?

Comment by David Chung on August 11, 2014 at 3:27pm

This is why I try to limit my exposure online. All my browsing sessions are done in a volatile environment (private/incognito), I religiously use DuckDuckGo for web search queries, and I always keep ad-blockers turned on.

Very interesting industry though.


web design, web development, localization

© 2022   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service