Skip to content

DigiTrust for DMPs

Sam Tingleff edited this page May 6, 2019 · 3 revisions

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

We expect that this would necessitate

  1. Integration into 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 for data collection events (maximize match rates)
  3. Exchanging data with eligible partners using an unencrypted DigiTrust ID

User Sync

User sync is used to achieve the goal of high match rates on eligible devices.

Most DMPs have a server-side user database to store partner identities. DMPs 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 (or have an inventory footprint for initiation).

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

References

Client Integrations

We hope that DMPs will (1) use the DigiTrust API when present to read DTID values when present; 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 a data event

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.

Data Exchange

Within a bulk data transfer process, simply use an un-encrypted DTID value as a user primary key.

[
 {
  "user":"oIB0sw9b77k=",
  "segments": [
   1234, 5678, 9012, 3456, 7890
  ]
 }
]

References

  • Request access to the private member-area github project for the API listing platforms authorized to received unencrypted DTID values.

Clone this wiki locally