Prebid.js Configuration of the ID5 ID

In this section, we will describe what the ID5 Universal ID is and how to configure Prebid to use it.

What is the ID5 Universal ID?

The ID5 ID is a neutral, universal identifier for digital advertising that can be used by publishers, brands and ad tech platforms (SSPs, DSPs, DMPs, Data Providers, etc.) to eliminate the need for cookie matching. Publishers can activate the ID5 ID directly in Prebid.js with a simple configuration, as described below.

Registration

The ID5 ID is free to use, but requires a simple registration with us. If you don’t already have an account with ID5, please visit id5.io/prebid to sign up and request your ID5 Partner Number to get started.

How does the ID5 ID work?

By using a universal ID, ad tech platforms can eliminate the need to sync their platform-specific IDs with their partners - the equivalent of needing a translator to help two people speaking different languages understand each other. When all platforms are using the same universal ID to transact against, it’s like they’re all speaking the same, common language. After configuring your Prebid.js setup to pull the ID5 ID, your demand partners configured in Prebid can retrieve the ID and pass it on to their server side RTB partners (typically DSPs). This allows the DSP to target the user, manage frequency and recency capping, and apply additional data, even when cookies are not supported.

What will happen if I turn on the ID5 ID on my page?

By activating the ID5 ID, the following will take place:

  1. When a user is on your page, Prebid will make an asynchronous call to ID5 to retrieve the ID5 ID.
  2. ID5 returns the ID5 ID to Prebid, which will then store the result in a 1st party cookie with an expiration set by your config.
  3. On subsequent page loads, if the ID is already present in the cookie, there will be no need to call ID5 to retrieve the ID again, so there is minimal latency impact on your page
  4. Bid adapters that you have configured can choose to listen to the ID5 ID wihtin their adapter. If they do, they can pass the ID to their server.
  5. The bid adapter’s server can then include the ID5 ID in any RTB bid requests as a separate field in the bid request
  6. The buyer can then use the ID5 ID to lookup the user in their database and perform any targeting or capping that their campaigns require.

Setup Instructions

Below are step by step instructions for installing and configuring the Prebid.js User ID Module with the ID5 ID. The instructions below assume a basic understanding of building Prebid.js and editing its page-level configuration; for more detailed instructions, getting started guides, and more, please visit the Prebid.org website.

Step 1: Build Prebid.js with the User ID Module

Starting with v2.21.0 of Prebid.js, the ID5 ID is available as part of the userId module:

gulp build –modules=userId

Step 2: Configure the User ID Module in the page configuration

Within the pbjs.setConfig() function, add the following configuration:

pbjs.setConfig({
    usersync: {
        userIds: [{
            name: "id5Id",
            params: {
                partner: 173         // change to the Partner Number you received from ID5
            },
            storage: {
                type: "cookie",
                name: "pbjs-id5id",  // create a cookie with this name
                expires: 5           // cookie can last for 5 days to ensure it is
                                     // encrypted with the latest key from ID5
            }
        }],
        syncDelay: 1000              // 1 second after the first bidRequest()
    }
});

Important Notice About ID5 ID Encryption
The ID5 ID that is delivered to Prebid will be encrypted by ID5 with a rotating key to avoid unauthorized usage and to enforce privacy requirements. Therefore, we strongly recommend setting storage.expires to 5 days to ensure all demand partners receive an ID that has been encrypted with the latest key, has up-to-date privacy signals, and allows them to transact against it.

GDPR Support

The ID5 ID is a privacy-by-design implementation of a universal ID and fully supports the GDPR. When the ID5 ID is requested by Prebid in a GDPR-relevant country, ID5 will ensure the user has consented to processing by ID5 for “Information storage and access”. If not, ID5 will provide a blank ID back to Prebid and not attempt to set a cookie. In doing so, no platform will receive an ID for the impression, thus respecting the user’s preferences.

To enable GDPR support within Prebid, you will need to include the GDPR ConsentManagement module when you build Prebid:

gulp build –modules=userId,consentManagement

You will also need to ensure you add the appropriate configuration to your setConfig() function:

pbjs.setConfig({
    usersync: {
        userIds: [{
            name: "id5Id",
            params: {
                partner: 173         // change to the Partner Number you received from ID5
            },
            storage: {
                type: "cookie",
                name: "pbjs-id5id",  // create a cookie with this name
                expires: 5           // cookie can last for 5 days to ensure it is
                                     // encrypted with the latest key from ID5
            }
        }],
        syncDelay: 1000              // 1 second after the first bidRequest()
    },
    consentManagement: {
        cmpApi: 'iab',
        timeout: 8000,
        allowAuctionWithoutConsent: false
    }
});