Skip to content

DigiTrust for Exchanges

Sam Tingleff edited this page Jul 11, 2019 · 2 revisions

The overall objective of a DigiTrust integration for an exchange is to allow for DSP bidding without the need for point-to-point user sync.

We expect that this would necessitate

  1. Integration into the exchange user sync systems in order to associate a DigiTrust user ID with every user record (achieve scale)
  2. Client integration with the DigiTrust js API within prebid.js adapters and other browser-based clients (maximize match rates)
  3. Sending an unencrypted DigiTrust ID in bid requests to authorized DSPs

User Sync

An exchange-side user sync is used to achieve the goal of high scale on outbound bid requests to authorized DSPs.

Most exchanges have a server-side user database to store DSP identities (buyeruid values in AdCOM/OpenRTB speak). Exchanges are expected to user sync with DigiTrust in much the same way with the difference that DigiTrust does not operate a high scale sync service.

Instead, we will assign a .digitru.st subdomain (exchange-name.digitru.st) via DNS CNAME to self-managed infrastructure. On this subdomain the exchange has direct read and write access to cookies and can transfer ID values into an existing user store.

References

Client Integrations

We hope that exchanges will (1) use the DigiTrust API when present to read DTID values pre ad request; as well as (2) work with their publisher base to broadly deploy DigiTrust javascript.

let dtid = '', dtkeyv = '';
if (DigiTrust && DigiTrust.getUser) {
  const r = DigiTrust.getUser({'member':'test'});
  if (r && r.success && r.identity) {
    dtid = r.identity.id; // encrypted user ID
    dtkeyv = r.identity.keyv; // key version used for encryption
  }
}
// include both as query parameters in an ad request

Prebid.js bid adapters may use either this API (which is exposed by our prebid module) or our prebid User ID module directly. See the PR for the Rubicon Project adapter as an example.

References

  • See the Integration Guide for further details on the javascript API.
  • See the ID Encryption page for ID encryption details.
  • Request access to the private member-area github project for the key versions API.

RTB

Exchanges are expected to send an unencrypted user ID value in bid requests to authorized DSPs.

{
 ...
 "user":{
  "ext":{
   "digitrust": {
     "id": "oIB0sw9b77k="
    }
  }
 }
}

References

  • See the OpenRTB Extension page
  • Request access to the private member-area github project for the API listing DSPs authorized to received unencrypted DTID values.
Clone this wiki locally