Programmatic Bidding ecosystem DMP DSP SSP "The programmatic ecosystem" To not make it a 10 pages articles, I am only going to focus on the mainstream use case for programmatic advertising: display.
Social, Search, Mobile and Video will share similarities but will of course have their specificities (eg: use of the Mobile Advertising ID in place of cookies, Facebook Custom audience, etc). I'll address those in time in later articles

For those not familiar with the programmatic advertising ecosystem and the many acronyms, here is a short glossary before we get started. If you want to skip that part, click here

  • Ad Server: server used to host and deliver the ads. It performs other tasks like reporting, tracking and frequency capping notably. Quite often, it's a functionality offered by DSPs and SSPs. Note that an advertiser's ad server will be used for the delivery of a campaign across various publishers networks while a publisher's ad server will be used for the management of customers' campaigns across the publisher's inventory. Known vendors: DoubleClick for Publishers, OpenX Ad server, Ad Butler.
  • Ad Network: a company aggregating various publishers' inventory, to bundle and resell it to advertisers with a markup. Known Ad Networks: Google AdSense, RevContent, Infolinks.
  • Ad exchange: marketplace for advertisers and publishers to buy/sell impressions. Ad exchanges can be accessed via DSPs and SSPs. Known adEx: DoubleClick AdX, Appnexus, OpenX, Rubicon Project
  • SSP: Supply Side Platform. A technology platform allowing publishers to expose their inventory to buying platforms (DSP) to monetise their audience. Known vendors:Double Click for Publishers (DFP), AdForms, AppNexus.
  • DSP: Demand Side Platform. A technology platform used by advertisers to buy from the programmatic ecosystem across a wide range of inventory, SSPs, Ad networks, ad exchanges, etc. Known vendors: Adobe AdCloud, DoubleClick Bid Manager, MediaMath, The Trade Desk, etc
  • DMP: Data Management Platform. A technology platform centralising segment creation based on 1st, 2nd, 3rd party data that can be "activated" (ideally in real time) across all digital channels. Known Vendors: Adobe Audience Manager (AAM), Salesforce Krux, Oracle BlueKai, Lotame.
  • Agency trading desk (ATD): an agency within large media agencies in charge of the programmatic media buying for large customers. They will typically be at the command of the DSP. More and more though, customers are trying to get more transparency and control by owning the DSP and operating it in-house. Known ATD: Accuen (Omnicom), Xaxis (WPP), Vivaki (Publicis).
  • DCO: Dynamic Creative Optimisation. DCO is a technology usually paired with the Ad server allowing for "on the fly" composition of the ad creative. This can be done in the context of retargeting or to personalise the message for a specific segment. Known vendor: Adobe AdCloud DCO.

"Let's get started!" So the below aims to explain the underlying mechanic of the programmatic advertising focusing on the DSP/SSP/DMP handshakes. To simplify, we are assuming that the advertiser is using its own DSP, meaning he/she's not going through an ATD (Agency Trading desk) and that the DSP is plugged directly on the SSP and not on an intermediary ad exchange. Note as well that the plumbing might be slightly different from one platform to the other. In some case, the DSP and SSP will be one platform so there'll be a direct integration most likely.

I also want to call out that this article describes the situation at this point in time (Feb 2018). Why this precision? because it's a very fast moving and fragile environment who is being disrupted and threatened constantly by privacy laws, ad blockers, fraud/viewability issues and technology. When you think about it, this whole business is relying on a 25 years old technology and concept: cookies. Putting aside that mobile and browsers like Safari are not supporting 3d party cookies, it's just a matter of time before cookies are replaced by another more reliable technology that hopefully will allow end user to reclaim ownership of their data and their usage (ok I am a bit idealistic here).
Now I'll stop blabbering and without further due, will get to the meat of this article.

Programmatic Bidding ecosystem DMP DSP SSP "#1 The advertiser side" Let's start picturing an anonymous visitor coming to the advertiser website to consume some content or look at a specific product.
The advertiser's page contains the DMP container tag, meaning a piece of javascript that will control the subsequent calls to the 3d party servers. This DMP container can contain other tags that will be fired in the context of the ID sync exercise.

Programmatic Bidding ecosystem DMP DSP SSP "#2 UUID creation" Upon the visitor's browser loading the page, the DMP javascript container will call the advertiser's DMP to create a Universal Unique IDentifier (UUID) for that visitor, let's call it UUID#1. Once the newly created UUID is returned, the DMP container tag will create at least one cookie, a 3d party cookie with the UUID that will be leveraged by the Ad ecosystem. Certain DMP, like Adobe Audience Manager (AAM) will also create a 1st party cookie to stitch people across devices on the advertiser's domain.

Programmatic Bidding ecosystem DMP DSP SSP "#3 DSP call" Still within the same page load, the DMP container will load the DSP tag that will create another 3d party cookie containing a generated user ID for the DSP, let's call it DSPID#1.
Important to note that the DMP UUID, UUID#1, is also sent over to the DSP who stores it against its own DSPID#1 in some sort of mapping table.

Programmatic Bidding ecosystem DMP DSP SSP "#4 DMP/DSP server to server call" Now for the advertiser to be able to target a specific user, they will have to create a segment in the DMP, let's name it "ABC". This segment will be synchronised with the DSP through a server to server integration. It's important to note that this call can be made:

  • Real-time: when a user, through his behavior for example, now meets the segment's criteria, the updated list of UUIDs under that segment needs to be sent to the DSP for immediate retargeting potentially.
  • Batch: when you upload your CRM data via a batch process into the DMP to enrich your online traits, your segment's UUIDs list will be updated as new people will qualify for the segment or vice versa. Hence, the segment's UUIDs list will need to be sent to the DSP on the back of that process.
Once the segment is synchronised with the DSP, it can be used for targeting and remarketing.

Programmatic Bidding ecosystem DMP DSP SSP "#5 The publisher's site" Now, your visitor leaves the advertiser's site and endeavours on a publisher's site who's monetizing its traffic/audience. The publisher's site is tagged with the SSP's code that controls the different "Placements" for ads as well as the publisher's DMP code.

Programmatic Bidding ecosystem DMP DSP SSP "#6 triggering the bid" So just like when the visitor arrived on the advertiser's site, the publisher DMP's container tag will record the visit and traits of the visitor within the Publisher's DMP this time. Note that if it's the same DMP vendor, the cookie and DMP's UUID#1 will be passed to the publisher's DMP and used as the UUID.

Side note: the publisher and the advertiser will hence have some customers with the same UUID BUT their respective data sets will be well partitioned from one another. This is typically that ID sharing that underpines device co-ops network between advertisers and publishers, along with the ability to stitch IDs when a user is authenticating.

Coming back to the main topic. The SSP tag will then generate a SSPID, add its own 3d party cookie and trigger the bid process for the various placements on the page. A piggyback method is called on the back of the SSP call towards the DSP, passing along the 2 IDs DSPID#1 and the SSPID#1 for mapping purpose.

Programmatic Bidding ecosystem DMP DSP SSP "#7 The bid" Finally, the SSP is sending the request to bid various DSPs including our advertiser's DSP.

The Advertiser's DSP is receiving the bid request along with the SSPID#1. Through its matching tables, the DSP can tell that SSPID#1 = DSPID#1 = UUID#1 and and that UUID#1 is part of a high value segment defined by the advertiser on which it needs to bid in priority.
The loop is now closed, the advertiser's DSP places its bid on this high value visitor based on its budget optimisation strategy and threshold.

Liked this article?

Interested to read more on related topics?