Skip to content

Commit

Permalink
update id5 userid docs with new links, updated object structure
Browse files Browse the repository at this point in the history
  • Loading branch information
smenzer committed Sep 17, 2020
1 parent 48e4a06 commit 9023c4b
Showing 1 changed file with 36 additions and 28 deletions.
64 changes: 36 additions & 28 deletions dev-docs/modules/userId.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The User ID module supports multiple ways of establishing pseudonymous IDs for u
* **Lotame Panorama ID** - a people-based identifier available across all browsers -- including when third-party cookies are not available -- to connect and activate first, second, and third party data for programmatic advertising.
* **Parrable ID** - an encrypted pseudonymous ID that is consistent across all browsers and webviews on a device for every publisher the device visits. This module contacts Parrable to obtain the Parrable EID belonging to the specific device which can then be used by the bidder.
* **PubCommon ID** – an ID is generated on the user’s browser and stored for later use on this publisher’s domain.
* **Quantcast ID** - an ID independent of third-party cookies for publishers with Quantcast Measure tag.
* **Quantcast ID** - an ID independent of third-party cookies for publishers with Quantcast Measure tag.
* **Unified ID** – a simple cross-vendor approach – it calls out to a URL that responds with that user’s ID in one or more ID spaces (e.g. adsrvr.org).
* **netID** – provides an open, standardized, EU-GDPR compliant, IAB TCF aware, cross-device enabled Advertising Identifier Framework, which can be leveraged by publishers and advertisers (and vendors supporting them) to efficiently deliver targeted advertising bought through programmatic systems.

Expand Down Expand Up @@ -85,7 +85,7 @@ of sub-objects. The table below has the options that are common across ID system

### BritePool

BritePool ID, provided by [BritePool](https://britepool.com) is a Universal Identity resolution which does not depend on 3rd party cookies.
BritePool ID, provided by [BritePool](https://britepool.com) is a Universal Identity resolution which does not depend on 3rd party cookies.

Add it to your Prebid.js package with:

Expand All @@ -94,7 +94,7 @@ gulp build --modules=britepoolIdSystem

#### BritePool Registration

Please reach out to [prebid@britepool.com](mailto:prebid@britepool.com) and request your `api_key`.
Please reach out to [prebid@britepool.com](mailto:prebid@britepool.com) and request your `api_key`.

The BritePool privacy policy is at [https://britepool.com/services-privacy-notice/](https://britepool.com/services-privacy-notice/).

Expand Down Expand Up @@ -201,7 +201,7 @@ pbjs.setConfig({

### ID5 Universal ID

The ID5 Universal 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. The ID5 Universal ID is designed to respect users' privacy choices and publishers’ preferences throughout the advertising value chain. For more information about the ID5 Universal ID and detailed integration docs, please visit [our documentation](https://console.id5.io/docs/public/prebid). We also recommend that you sign up for our [release notes](https://id5.io/universal-id/release-notes) to stay up-to-date with any changes to the implementation of the ID5 Universal ID in Prebid.
The ID5 Universal 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. The ID5 Universal ID is designed to respect users' privacy choices and publishers’ preferences throughout the advertising value chain. For more information about the ID5 Universal ID and detailed integration docs, please visit [our documentation](https://wiki.id5.io/x/BIAZ). We also recommend that you sign up for our [release notes](https://id5.io/universal-id/release-notes) to stay up-to-date with any changes to the implementation of the ID5 Universal ID in Prebid.

#### ID5 Universal ID Registration

Expand All @@ -224,7 +224,7 @@ The following configuration parameters are available:
| name | Required | String | The name of this module: `"id5Id"` | `"id5Id"` |
| params | Required | Object | Details for the ID5 Universal ID. | |
| params.partner | Required | Number | This is the ID5 Partner Number obtained from registering with ID5. | `173` |
| params.pd | Optional | String | Publisher-supplied data used for linking ID5 IDs across domains. See [our documentation](https://wiki.id5.io/display/PD/Prebid.js+UserId+Module) for details on generating the string. Omit the parameter or leave as an empty string if no data to supply | `"MT1iNTBjY..."` |
| params.pd | Optional | String | Publisher-supplied data used for linking ID5 IDs across domains. See [our documentation](https://wiki.id5.io/x/BIAZ) for details on generating the string. Omit the parameter or leave as an empty string if no data to supply | `"MT1iNTBjY..."` |

{: .alert.alert-info :}
**NOTE:** The ID5 Universal 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.refreshInSeconds` to `8` hours (`8*3600` seconds) 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.
Expand Down Expand Up @@ -261,7 +261,11 @@ pbjs.setConfig({
userSync: {
userIds: [{
name: "id5Id",
value: { "id5id": "ID5-8ekgswyBTQqnkEKy0ErmeQ1GN5wV4pSmA-RE4eRedA" }
value: {
id5id: {
uid: "ID5-8ekgswyBTQqnkEKy0ErmeQ1GN5wV4pSmA-RE4eRedA"
}
}
}]
}
});
Expand Down Expand Up @@ -429,11 +433,11 @@ The adapters can be implemented to use the lipibid as the identifier and segment

Please register with us if you’re not a LiveIntent customer already: [https://www.liveintent.com/prebid-registration/](https://www.liveintent.com/prebid-registration/)

When adding LiveIntent’s ID to your Prebid.js package, you disclose or make available Personal Information to LiveIntent. This information made available to LiveIntent is used to (i) connect with and reference data that already exists in LiveIntent’s graph (the “LiveIntent Graph”), and (ii) authenticate and validate data in aggregate to improve the performance of the services LiveIntent provides. By activating LiveIntent’s module, you hereby confirm that with regard to all individuals to whom Personal Information relates, you have, at or before the point of collecting Personal Information or making Personal Information available to LiveIntent, provided any legally required notices, obtained any legally required consents, and provided individuals with an opportunity to opt-out of the sharing of Personal Information, if such an opt-out is required under applicable laws, such that LiveIntent can provide service to you as described here and in LiveIntent’s privacy policies for the services which can be found at [https://www.liveintent.com/services-privacy-policy/](https://www.liveintent.com/services-privacy-policy/)
When adding LiveIntent’s ID to your Prebid.js package, you disclose or make available Personal Information to LiveIntent. This information made available to LiveIntent is used to (i) connect with and reference data that already exists in LiveIntent’s graph (the “LiveIntent Graph”), and (ii) authenticate and validate data in aggregate to improve the performance of the services LiveIntent provides. By activating LiveIntent’s module, you hereby confirm that with regard to all individuals to whom Personal Information relates, you have, at or before the point of collecting Personal Information or making Personal Information available to LiveIntent, provided any legally required notices, obtained any legally required consents, and provided individuals with an opportunity to opt-out of the sharing of Personal Information, if such an opt-out is required under applicable laws, such that LiveIntent can provide service to you as described here and in LiveIntent’s privacy policies for the services which can be found at [https://www.liveintent.com/services-privacy-policy/](https://www.liveintent.com/services-privacy-policy/)

#### How does LiveIntent ID work

The LiveIntent ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier (nonID). In order to provide resolution one or more first-party cookies are used to create a stable identifier.
The LiveIntent ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier (nonID). In order to provide resolution one or more first-party cookies are used to create a stable identifier.

How does LiveIntent ID sub-module decide, which first-party cookies to use:
1. By default LiveIntent ID sub-module generates its own first-party identifier on the publisher’s domain. Publishers have the option to disable the cookie generation when configuring the LiveIntent ID sub-module.
Expand Down Expand Up @@ -481,11 +485,11 @@ pbjs.setConfig({
params: {
publisherId: "9896876"
},
storage: {
type: “cookie”,
name: “pbjs_li_nonid”, //create a cookie with this name
expires: 1 // cookie is stored for 1 day
}
storage: {
type: “cookie”,
name: “pbjs_li_nonid”, //create a cookie with this name
expires: 1 // cookie is stored for 1 day
}
}]
}
})
Expand All @@ -501,11 +505,11 @@ pbjs.setConfig({
publisherId: "9896876",
identifiersToResolve: ["my-own-cookie"]
},
storage: {
type: “cookie”,
name: “pbjs_li_nonid”, //create a cookie with this name
expires: 1 // cookie is stored for 1 day
}
storage: {
type: “cookie”,
name: “pbjs_li_nonid”, //create a cookie with this name
expires: 1 // cookie is stored for 1 day
}
}]
}
})
Expand All @@ -530,11 +534,11 @@ pbjs.setConfig({
appId: "a-0012"
}
},
storage: {
type: “cookie”,
name: “pbjs_li_nonid”, //create a cookie with this name
expires: 1 // cookie is stored for 1 day
}
storage: {
type: “cookie”,
name: “pbjs_li_nonid”, //create a cookie with this name
expires: 1 // cookie is stored for 1 day
}
}]
}
})
Expand Down Expand Up @@ -753,17 +757,17 @@ pbjs.setConfig({

### Shared ID User ID Submodule

Shared ID User ID Module generates a UUID that can be utilized to improve user matching.This module enables timely synchronization which handles sharedId.org optout. This module does not require any registration.
Shared ID User ID Module generates a UUID that can be utilized to improve user matching.This module enables timely synchronization which handles sharedId.org optout. This module does not require any registration.

#### Building Prebid with Shared Id Support
Your Prebid build must include the modules for both **userId** and **sharedId** submodule.
Your Prebid build must include the modules for both **userId** and **sharedId** submodule.
Add it to your Prebid.js package with:

ex: $ gulp build --modules=userId,sharedIdSystem

#### Prebid Params

Individual params may be set for the Shared ID User ID Submodule.
Individual params may be set for the Shared ID User ID Submodule.
```
pbjs.setConfig({
usersync: {
Expand Down Expand Up @@ -909,8 +913,12 @@ Bidders that want to support the User ID module in Prebid.js, need to update the
| --- | --- | --- | --- | --- | --- |
| BritePool ID | BritePool | bidRequest.userId.britepoolid | `"1111"` |
| CriteoID | Criteo | bidRequest.userId.criteoId | `"1111"` |
<<<<<<< HEAD
| ID+ | Zeotap | bidRequest.userId.IDP | `"1111"` |
| ID5 ID | ID5 | bidRequest.userId.id5id | `"1111"` |
=======
| ID5 ID | ID5 | bidRequest.userId.id5id | `{ uid: "1111", ext: { linkType: 2 } }` |
>>>>>>> 12ba25f7... update id5 userid docs with new links, updated object structure
| IdentityLink | Trade Desk | bidRequest.userId.idl_env | `"1111"` |
| LiveIntent ID | Live Intent | bidRequest.userId.lipb.lipbid | `"1111"` |
| IntentIQ ID | IntentIQ | bidRequest.userId.intentiqid | `"1111"` |
Expand Down Expand Up @@ -1028,7 +1036,7 @@ pbjs.getUserIds() // returns object like bidRequest.userId. e.g. {"pubcid":"1111

You can use `getUserIdsAsEids()` to get the user IDs stored by Prebid User ID module in ORTB Eids format. Refer [eids.md](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format.
```
pbjs.getUserIdsAsEids() // returns userIds in ORTB Eids format. e.g.
pbjs.getUserIdsAsEids() // returns userIds in ORTB Eids format. e.g.
[
{
source: 'pubcid.org',
Expand All @@ -1049,7 +1057,7 @@ pbjs.getUserIdsAsEids() // returns userIds in ORTB Eids format. e.g.
}]
}
]
```
```

## Passing UserIds to Google Ad Manager for targeting

Expand Down

0 comments on commit 9023c4b

Please sign in to comment.