Identify and Extract EID Data from ID5 Endpoint Response
The necessary EID data in the ID5 response is extracted from the ids object.
Example ID5 Response:
{
"signature": "ID5_AoPiwhPFUccYOQLCwfbQTEbMTk85rQD10hAZYixkNlZeozXos46w4uqpJqq",
"created_at": "2025-11-14T16:12:20.968Z",
"original_uid": "ID5*KDdqfh7p46U_Eb_xD8-9lWYkX2xsHEQqpJP2YNzKqC7__",
"universal_uid": "ID5*1Ls3HtzGAldqduMJjmL2CcyuGOw9JArVgXc_LS34MC7__",
"privacy": {
"jurisdiction": "gdpr",
"id5_consent": true
},
"ids": {
"id5id": {
"eid": {
"source": "id5-sync.com",
"uids": [
{
"id": "ID5*1Ls3HtzGAldqduMJjmL2CcyuGOw9JArVgXc_LS34MC7__",
"atype": 1,
"ext": {
"linkType": 2,
"pba": "Fhqkw5e7uf4ei8WEIXviXDGQnqqkVeEgVWijP20OAngDPxw=="
}
}
]
}
},
"euid": {
"eid": {
"source": "euid.eu",
"uids": [
{
"id": "E4AAAAezwMkyH6T4wJwiMRLR7C7I77M2VyI8q_pQSzPLdIsfffl86arrL3FKC4T",
"atype": 3,
"ext": {
"provider": "id5-sync.com"
}
}
]
}
}
}
}
You should extract the entire EID objects for ID5 ID and any other IDs provided (e.g., EUID).
- ID5 ID EID: Is found under
response.ids.id5id.eid
- EUID EID: Is found under
response.ids.euid.eid
Example EID Data Structure:
{
"source": "id5-sync.com",
"uids": [
{
"id": "ID5*1Ls3HtzGAldqduMJjmL2CcyuGOw9JArVgXc_LS34MC7__",
"atype": 1,
"ext": {
"linkType": 2,
"pba": "Fhqkw5e7uf4ei8WEIXviXDGQnqqkVeEgVWijP20OAngDPxw=="
}
}
]
}
ID5 provides extra data about the user ID in theextobject. For more information, see our metadata documentation.
Enriching an OpenRTB 2.6 Request
In OpenRTB 2.6, the eids array is a direct field within the user object.
To enrich the request:
- Collect all relevant EID objects (e.g., the ID5 ID EID and EUID EID).
- Insert these objects as elements into the
eidsarray, placed under theuserobject.
OpenRTB 2.6 Request Snippet (user.eids)
{
"user": {
"id": "SSP_UID",
"buyeruid": "DSP_UID",
"eids": [
{
"source": "id5-sync.com",
"uids": [
{
"id": "ID5*1Ls3HtzGAldqduMJjmL2CcyuGOw9JArVgXc_LS34MC7__",
"atype": 1,
"ext": {
"linkType": 2,
"pba": "Fhqkw5e7uf4ei8WEIXviXDGQnqqkVeEgVWijP20OAngDPxw=="
}
}
]
},
{
"source": "euid.eu",
"uids": [
{
"id": "E4AAAAezwMkyH6T4wJwiMRLR7C7I77M2VyI8q_pQSzPLdIsfffl86arrL3FKC4T",
"atype": 3,
"ext": {
"provider": "id5-sync.com"
}
}
]
}
// *** INSERT OTHER EID OBJECTS HERE ***
]
}
}
Enriching an OpenRTB 2.5 Request
In OpenRTB 2.5, the eids array is an extended field within the user object (user.ext).
To enrich the request:
- Collect all relevant EID objects.
- Insert these objects as elements into the
eidsarray, placed within theextobject of theuserobject.
OpenRTB 2.5 Request Snippet (user.ext.eids)
{
"user": {
"id": "SSP_UID",
"buyeruid": "DSP_UID",
"ext": {
"eids": [
{
"source": "id5-sync.com",
"uids": [
{
"id": "ID5*1Ls3HtzGAldqduMJjmL2CcyuGOw9JArVgXc_LS34MC7__",
"atype": 1,
"ext": {
"linkType": 2,
"pba": "Fhqkw5e7uf4ei8WEIXviXDGQnqqkVeEgVWijP20OAngDPxw=="
}
}
]
},
{
"source": "euid.eu",
"uids": [
{
"id": "E4AAAAezwMkyH6T4wJwiMRLR7C7I77M2VyI8q_pQSzPLdIsfffl86arrL3FKC4T",
"atype": 3,
"ext": {
"provider": "id5-sync.com"
}
}
]
}
// *** INSERT OTHER EID OBJECTS HERE ***
]
}
}
}ATTENTION
It is recommended to verify the SSP/DSP integration specifications to see if they support OpenRTB 2.6 or still require OpenRTB 2.5 formatting. Placing the EID structure in the correct location is crucial for proper processing by the demand partner.
Accessing EIDs with the ID5 JS API
If you are using the ID5 JS API, the library provides a convenient method to retrieve all available EIDs, including the ID5 ID, already formatted as an array of OpenRTB EID objects.
The method:getUserIdsAsEids(), retrieves the necessary EID objects that can be directly added to an OpenRTB bid request's eids array.
Output Array Example
The array returned by getUserIdsAsEids() can contain multiple EID objects depending on the integration. For instance, an integration that has enabled the Guarded Publisher ID (GPID) will return both the ID5's EID and the GPID EID.
This output array perfectly matches the required structure for the OpenRTB eids field.
[
// ID5 EID
{
"source": "id5-sync.com",
"uids": [{
"id": "ID5*1Ls3HtzGAldqduMJjmL2CcyuGOw9JArVgXc_LS34MC7__",
"atype": 1,
"ext": {
"linkType": 2,
"pba": "Fhqkw5e7uf4ei8WEIXviXDGQnqqkVeEgVWijP20OAngDPxw=="
}
}]
},
// EUID EID
{
"source": "euid.eu",
"uids": [{
"id": "E4AAAAezwMkyH6T4wJwiMRLR7C7I77M2VyI8q_pQSzPLdIsfffl86arrL3FKC4T",
"atype": 3,
"ext": {
"provider": "id5-sync.com"
}
}]
},
// EID example when using Guarded Publisher ID (GPID)
{
"source": "gpid.id5-sync.com",
"uids": [{
"id": "m4nzI8tQ3iZ-XuHRu3Bd47Y3AUDNGykf58sOwXehqnIfvK35LIb1DlHXJ-",
"atype": 1
}]
},
// EID example when using ID5's Real-Time Bid Enrichment Service
{
"source": "ssp-domain.com",
"matcher": "id5-sync.com",
"mm": 5,
"inserter": "publisher-domain.com",
"uids": [{
"id": "uid-value",
"atype": 1
}]
}
]
For additional information about ID5's JS API, see our public GitHub documentation.