The ID5 ID is a shared, neutral identifier that publishers and ad tech platforms can use to recognise users even in environments where 3rd party cookies are not available or blocked. ID5 enables publishers to create and distribute a shared 1st party identifier to the entire ecosystem. Ad tech platforms that connect with ID5 can decrypt the ID5 ID and improve their user recognition capabilities. The ID5 ID is designed to respect users' privacy choices and publishers preferences throughout the advertising value chain.
If the ID5 ID is available, the bidRequest
object, which is available in the bid adapter module, will contain both a userId
object and a userIdAsEids
array. The bidder adapter code should listen to this object and pass it along to its server in the ad call.
We strongly recommend adapters leverage the
bidRequest.userIdAsEids
, rather than retrieving frombidRequest.userId
, as it contains a pre-formatted version of the eids array needed to pass on to DSPs.
NOTE: ID5 provides extra data about the user id in the extension object which is important to send to DSPs.
userIdAsEids
ExampleAn example implementation in the bid adapter using bidRequest.userIdAsEids
might look like this:
const SUPPORTED_EIDS = [ 'id5-sync.com' ];
if (bidRequest.userIdAsEids) {
adCallData.eids = bidRequest.userIdAsEids.filter(eid => {
return SUPPORTED_EIDS.indexOf(eid.source) !== -1;
});
}
userId
ExampleAn example implementation in the bid adapter using bidRequest.userId
might look like this:
if (bidRequest.userId && bidRequest.userId.id5id && bidRequest.userId.id5id.uid) {
adCallData.id5Id = bidRequest.userId.id5id.uid;
adCallData.id5IdExt = bidRequest.userId.id5id.ext || {};
}
Additional information about retrieving the ID5 ID can be found in the Prebid documentation.
If the publisher has integrated the ID5 API, the SSP can retrieve the ID5 ID directly. This can be used by the SSP in other header bidding integrations or where the SSP has tags directly on page.
adCallData.id5Id = id5Status.getUserId();
adCallData.id5IdLinkType = id5Status.getLinkType();
For more details about the ID5 API or how to retrieve the ID5 ID, take a look at our documentation on Github.
SSPs may pass the ID5 ID within the OpenRTB bid request to DSPs. While OpenRTB still hasn’t standardized the location for the ID5 ID (or other identity provider IDs), the user.ext.eids array is recommended (but should be agreed upon with your DSP partners):
{
"user": {
"id": "SSP_UID", // remains unchanged
"buyeruid": "DSP_UID", // remains unchanged
"ext": {
"eids": [{
"source": "id5-sync.com",
"uids": [{
"id": "ID5-abc123", // the ID5 ID
"ext": {
// see https://wiki.id5.io/en/identitycloud/id5-id-metadata for more info
"linkType": 2
}
}]
}]
}
}}
NOTE: ID5 provides extra data about the user id in the
ext
object which is important to send to DSPs.
ID5 encrypts the ID in order to enforce the privacy preferences of the consumer and the publisher. To learn more about how to decrypt the ID, please visit Decrypting the ID5 ID (login required).
Before getting started with the using ID5 ID (Integration Phase 2), we need to make sure you have an ID5 Partner account. If you are not already integrated with ID5, reach out to contact@id5.io and we’ll get you set up right away.
ID5 has built a privacy-by-design shared ID service for publishers and ad tech vendors. Our service leverages the IAB’s Transparency and Consent Framework (TCF) and US Privacy Framework to capture the user’s privacy preferences.
As a shared ID provider, ID5 acts as a Controller of the ID5 ID, and thus, we must receive a valid legal basis to process requests. When we receive a request for the ID5 ID, we check that we have a legal basis to store our user ID in a cookie before proceeding; if we don’t have one, we do not read our cookie or write to it as part of the HTTP response.
When ID5 returns an ID to the page, the value is encrypted in such a way that only platforms that have authorization to process data (based on the consumer’s and publisher’s privacy preferences) are able to decrypt the string back to a stable ID. By doing so, ID5 enforces privacy preferences and regulations, ensuring that no downstream party can understand the ID without the proper legal basis to do so. When the ID is non-decryptable, the request is truly anonymized, preventing any personal data from being retrieved or processed.
For our Platform Privacy Policy, please visit https://id5.io/platform-privacy-policy.