From 40a1148630af8bd39d33c312c6b470637324185c Mon Sep 17 00:00:00 2001 From: Emmanuel Adebayo <38572355+adebayoea@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:45:39 +0100 Subject: [PATCH 01/20] update-li-sub-moduled-doc --- .../modules/userid-submodules/liveintent.md | 215 +++++++++--------- 1 file changed, 113 insertions(+), 102 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index e3756446e2..63e3a1b67a 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -5,15 +5,17 @@ description: LiveIntent nonID User ID sub-module useridmodule: liveIntentIdSystem --- +LiveIntent offers audience resolution by leveraging it's next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. The LiveIntent nonID is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. -LiveIntent offers audience resolution by leveraging our next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. The LiveIntent nonID is a user identifier tied to an active, encrypted email in our graph and functions in cookie-challenged environments and browsers. +Build your Prebid.js package to include the LiveIntent nonID using the standard version which lets publishers include the module with full functionalities, like hashing email addresses and identity resolution. -Build your Prebid.js package to include the LiveIntent nonID using the standard version which allows publishers to include the module with full functionalities, like hashing email addresses and identity resolution. +Add the complete functionalities of LiveIntent Identity module to your Prebid.js package with: -Add the **full** LiveIntent Identity module to your Prebid.js package with: +To add the complete functionality of LiveIntent Identity module to your Prebid.js package, use the following command: -{: .alert.alert-info :} +```bash gulp build --modules=userId,liveIntentIdSystem +``` The `request.userId.lipb` object would look like: @@ -28,24 +30,24 @@ The adapters can be implemented to use the lipbid as the identifier and segments ## LiveIntent ID Registration -Please register with us if you’re not already a LiveIntent customer: [www.liveintent.com/prebid-registration/](https://www.liveintent.com/prebid-registration/) - -LiveIntent’s privacy policies for the services rendered can be found at [www.liveintent.com/services-privacy-policy/](https://www.liveintent.com/services-privacy-policy/) +If you're not already a LiveIntent customer, feel free to [reach out](https://www.liveintent.com/prebid-registration/) and explore [LiveIntent’s privacy policies](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 - the 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 - the nonID. In order to provide resolution, one or more first-party cookies are used to create a stable identifier which are: -How does LiveIntent ID sub-module decide, which first-party cookies to use: +1. Default first-party cookie: 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. +2. Publisher defined first-part cookie: Publishers have the flexibility to configure and choose additional first-party cookies for use in conjunction with the LiveIntent first-party cookie. -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. -2. A publisher can also define in the configuration which additional first-party cookies should be used. These can be used in a combination with the LiveIntent first-party cookie. +### Generate nonID -The LiveIntent ID sub-module sends the defined identifiers to the identity graph, which processes them and creates a nonID. The parameters being sent are described [here](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) +The LiveIntent ID sub-module sends cookies to Liveintent's identity graph for creating a nonID - [(_see the query parameters description_).](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) -For the identity resolution the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and the audience segment(s) a user belongs to. The nonID and the segment ID are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to any buyers targeting the segment. +### Identity resolution -The first-party cookie generation and identity resolution functionality is provided by the LiveConnect JS library, included within the LiveIntent ID sub-module. LiveIntent has created a shared library that is open source, available at [www.npmjs.com/package/live-connect-js](https://www.npmjs.com/package/live-connect-js). +For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and the audience segment(s) of the user. The nonID and the segment ID are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the segment. + +The first-party cookie generation and identity resolution functionality is provided by [LiveConnect JS](https://www.npmjs.com/package/live-connect-js) - an open source JS library which is included within the LiveIntent ID sub-module. The LiveIntent ID sub-module follows the standard Prebid.js initialization based on the GDPR consumer opt-out choices. With regard to CCPA, the LiveConnect JS receives a us_privacy string from the Prebid US Privacy Consent Management Module and respects opt-outs. @@ -53,25 +55,32 @@ The LiveIntent ID sub-module follows the standard Prebid.js initialization based Attributes other than the nonID can be requested using the `requestedAttributesOverrides` configuration option. -For example, with the configuration below, the nonID as well as 'uid2', the 'medianet' id, the 'bidswitch' id and the 'magnite' id will be requested: +For example, with the configuration below, the nonID as well as 'uid2', the 'medianet' id, the 'bidswitch' ID and the 'magnite' ID will be requested: ```javascript pbjs.setConfig({ - userSync: { - userIds: [{ - "name": "liveIntentId", - "params": { - "publisherId": "12432415", - "requestedAttributesOverrides": {'uid2': true, 'medianet': true, 'bidswitch': true, 'magnite': true} - }, - }] - } + userSync: { + userIds: [ + { + name: "liveIntentId", + params: { + publisherId: "12432415", + requestedAttributesOverrides: { + uid2: true, + medianet: true, + bidswitch: true, + magnite: true, + }, + }, + }, + ], + }, }); ``` ### Multiple user ids -The attributes 'uid2', 'medianet', 'magnite', 'bidswitch' and 'index' are treated specially by LiveIntent's user id sub-module. Each of these four attributes will result in a separate id returned by the sub-module. +The attributes 'uid2', 'medianet', 'magnite', 'bidswitch' and 'index' are treated specially by LiveIntent's user ID sub-module. Each of these four attributes will result in a separate ID returned by the sub-module. For example, in case 'uid2' is configured to be requested - additionally to the nonID - the `request.userId` object would look like this: @@ -96,19 +105,21 @@ For the attributes 'lipbid' (nonID), 'uid2', 'medianet', 'magnite', 'bidswitch', ### Requesting uid2 -An attribute that requires special mention here is 'uid2'. If this attribute is resolved by the id sub-module, it will be exposed in the same format as from the Unified ID 2.0 user id module. If both the LiveIntent module and the uid2 module manage to resolve an uid2, the one from the uid2 module will be used. Enabling this option in addition to the uid2 module is an easy way to increase your uid2 resolution rates. Example configuration to enable uid2 resolution: +An attribute that requires special mention here is 'uid2'. If this attribute is resolved by the ID sub-module, it will be exposed in the same format as from the Unified ID 2.0 user ID module. If both the LiveIntent module and the uid2 module manage to resolve an uid2, the one from the uid2 module will be used. Enabling this option in addition to the uid2 module is an easy way to increase your uid2 resolution rates. Example configuration to enable uid2 resolution: ```javascript pbjs.setConfig({ - userSync: { - userIds: [{ - "name": "liveIntentId", - "params": { - "publisherId": "12432415", - "requestedAttributesOverrides": {'uid2': true}, - }, - }] - } + userSync: { + userIds: [ + { + name: "liveIntentId", + params: { + publisherId: "12432415", + requestedAttributesOverrides: { uid2: true }, + }, + }, + ], + }, }); ``` @@ -136,83 +147,83 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever | params.liCollectConfig.fpiExpirationDays |Optional| Number |The expiration time of an identifier created and updated by LiveConnect.By default, 730 days.|`729`| | params.liCollectConfig.collectorUrl |Optional| String |The parameter defines where the signal pixels are pointing to. The params and paths will be defined subsequently. If the parameter is not set, LiveConnect will by default emit the signal towards `https://rp.liadm.com`.|`'https://rp.liadm.com'`| | params.liCollectConfig.appId |Optional| String |LiveIntent's media business entity application id.|`'a-0012'`| -| storage | Required | Object | This object defines where and for how long the results of the call to get a user ID will be stored. | | -| storage.type | Required | String | This parameter defines where the resolved user ID will be stored (either `'cookie'` or `'html5'` localstorage).| `'cookie'` | -| storage.name | Required | String | The name of the cookie or html5 localstorage where the resolved user ID will be stored. | `'pbjs_li_nonid'` | -| storage.expires | Recommended | Integer | How long (in days) the user ID information will be stored. The recommended value is `1` | `1` | +| storage | Optional | Object | This object defines where and for how long the results of the call to get a user ID will be stored. | | +| storage.type | Optional | String | This parameter defines where the resolved user ID will be stored (either `'cookie'` or `'html5'` localstorage).| `'cookie'` | +| storage.name | Optional | String | The name of the cookie or html5 localstorage where the resolved user ID will be stored. | `'pbjs_li_nonid'` | +| storage.expires | Optional | Integer | How long (in days) the user ID information will be stored. The recommended value is `1` | `1` | ## LiveIntent ID examples 1. To receive the LiveIntent ID, the setup looks like this. - ```javascript - pbjs.setConfig({ - userSync: { - userIds: [{ - name: "liveIntentId", - params: { - publisherId: "9896876" - }, - storage: { - type: “cookie”, - name: “pbjs_li_nonid”, //create a cookie with this name - expires: 1 // cookie is stored for 1 day - } - }] - } - }) - ``` + ```javascript + pbjs.setConfig({ + userSync: { + userIds: [{ + name: "liveIntentId", + params: { + publisherId: "9896876" + }, + storage: { + type: “cookie”, + name: “pbjs_li_nonid”, //create a cookie with this name + expires: 1 // cookie is stored for 1 day + } + }] + } + }) + ``` 2. If you are passing additional identifiers that you want to resolve to the LiveIntent ID, add those under the `identifiersToResolve` array in the configuration parameters. - ```javascript - pbjs.setConfig({ - userSync: { - userIds: [{ - name: "liveIntentId", - params: { - 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 - } - }] - } - }) - ``` + ```javascript + pbjs.setConfig({ + userSync: { + userIds: [{ + name: "liveIntentId", + params: { + 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 + } + }] + } + }) + ``` 3. If all the supported configuration params are passed, then the setup looks like this. - ```javascript - pbjs.setConfig({ - userSync: { - userIds: [{ - name: "liveIntentId", - params: { - publisherId: "9896876", - distributorId: "did-0123", - identifiersToResolve: ["my-own-cookie"], - url: "https://publisher.liveintent.com/idex", - partner: "prebid", - ajaxTimeout: 1000, - liCollectConfig: { - fpiStorageStrategy: "cookie", - fpiExpirationDays: 730, - collectorUrl: "https://rp.liadm.com", - appId: "a-0012" - } - }, - storage: { - type: “cookie”, - name: “pbjs_li_nonid”, //create a cookie with this name - expires: 1 // cookie is stored for 1 day - } - }] - } - }) - ``` + ```javascript + pbjs.setConfig({ + userSync: { + userIds: [{ + name: "liveIntentId", + params: { + publisherId: "9896876", + distributorId: "did-0123", + identifiersToResolve: ["my-own-cookie"], + url: "https://publisher.liveintent.com/idex", + partner: "prebid", + ajaxTimeout: 1000, + liCollectConfig: { + fpiStorageStrategy: "cookie", + fpiExpirationDays: 730, + collectorUrl: "https://rp.liadm.com", + appId: "a-0012" + } + }, + storage: { + type: “cookie”, + name: “pbjs_li_nonid”, //create a cookie with this name + expires: 1 // cookie is stored for 1 day + } + }] + } + }) + ``` Please note: the distributorId will be ignored when liCollectConfig.appId is present. From bc03e2f47da1906b82f1025e1ccf394f0b409011 Mon Sep 17 00:00:00 2001 From: Emmanuel Adebayo <38572355+adebayoea@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:58:44 +0100 Subject: [PATCH 02/20] removed params.storage fro example config --- .../modules/userid-submodules/liveintent.md | 107 ++++++++---------- 1 file changed, 49 insertions(+), 58 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 63e3a1b67a..fe8b51a1e1 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -154,76 +154,67 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever ## LiveIntent ID examples -1. To receive the LiveIntent ID, the setup looks like this. +1. To receive the LiveIntent ID, the setup looks like the following example: ```javascript pbjs.setConfig({ - userSync: { - userIds: [{ - name: "liveIntentId", - params: { - publisherId: "9896876" - }, - storage: { - type: “cookie”, - name: “pbjs_li_nonid”, //create a cookie with this name - expires: 1 // cookie is stored for 1 day - } - }] - } - }) + userSync: { + userIds: [ + { + name: "liveIntentId", + params: { + publisherId: "9896876", + }, + }, + ], + }, + }); ``` -2. If you are passing additional identifiers that you want to resolve to the LiveIntent ID, add those under the `identifiersToResolve` array in the configuration parameters. +2. If you are passing additional identifiers that you want to resolve to the LiveIntent ID, add the ID under the `identifiersToResolve` array in the configuration parameters as shown in the following example: ```javascript pbjs.setConfig({ - userSync: { - userIds: [{ - name: "liveIntentId", - params: { - 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 - } - }] - } - }) + userSync: { + userIds: [ + { + name: "liveIntentId", + params: { + publisherId: "9896876", + identifiersToResolve: ["my-own-cookie"], + }, + }, + ], + }, + }); ``` -3. If all the supported configuration params are passed, then the setup looks like this. +3. If all the supported configuration params are passed, then the setup look as follows: ```javascript pbjs.setConfig({ - userSync: { - userIds: [{ - name: "liveIntentId", - params: { - publisherId: "9896876", - distributorId: "did-0123", - identifiersToResolve: ["my-own-cookie"], - url: "https://publisher.liveintent.com/idex", - partner: "prebid", - ajaxTimeout: 1000, - liCollectConfig: { - fpiStorageStrategy: "cookie", - fpiExpirationDays: 730, - collectorUrl: "https://rp.liadm.com", - appId: "a-0012" - } - }, - storage: { - type: “cookie”, - name: “pbjs_li_nonid”, //create a cookie with this name - expires: 1 // cookie is stored for 1 day - } - }] - } - }) + userSync: { + userIds: [ + { + name: "liveIntentId", + params: { + publisherId: "9896876", + distributorId: "did-0123", + identifiersToResolve: ["my-own-cookie"], + url: "https://publisher.liveintent.com/idex", + partner: "prebid", + ajaxTimeout: 1000, + liCollectConfig: { + fpiStorageStrategy: "cookie", + fpiExpirationDays: 730, + collectorUrl: "https://rp.liadm.com", + appId: "a-0012", + }, + }, + }, + ], + }, + }); ``` -Please note: the distributorId will be ignored when liCollectConfig.appId is present. +Please note: the _distributorId_ will be ignored when `liCollectConfig.appId` is present. From 3ef86a0bac860feb1f03fa96c2f59e5a455ef95a Mon Sep 17 00:00:00 2001 From: Emmanuel Adebayo <38572355+adebayoea@users.noreply.github.com> Date: Tue, 28 Nov 2023 13:28:26 +0100 Subject: [PATCH 03/20] removed redundant sentence --- dev-docs/modules/userid-submodules/liveintent.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index fe8b51a1e1..9993f8cd0c 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -9,8 +9,6 @@ LiveIntent offers audience resolution by leveraging it's next-generation identit Build your Prebid.js package to include the LiveIntent nonID using the standard version which lets publishers include the module with full functionalities, like hashing email addresses and identity resolution. -Add the complete functionalities of LiveIntent Identity module to your Prebid.js package with: - To add the complete functionality of LiveIntent Identity module to your Prebid.js package, use the following command: ```bash From d6589fd46cec7420bd4840bed3889b6a461a7505 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:56:06 +0100 Subject: [PATCH 04/20] Review session changes --- .../modules/userid-submodules/liveintent.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 9993f8cd0c..1106c4f70d 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -5,9 +5,9 @@ description: LiveIntent nonID User ID sub-module useridmodule: liveIntentIdSystem --- -LiveIntent offers audience resolution by leveraging it's next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. The LiveIntent nonID is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. +LiveIntent offers audience resolution by leveraging it's next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. -Build your Prebid.js package to include the LiveIntent nonID using the standard version which lets publishers include the module with full functionalities, like hashing email addresses and identity resolution. +The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. Along side with the `nonID`, LiveIntent's user ID module can resolve multiple other user identifers such as `UID2` and `pubmatic` - see the [Multiple userIDs]( #multiple-user-ids) section for more details. To add the complete functionality of LiveIntent Identity module to your Prebid.js package, use the following command: @@ -15,27 +15,27 @@ To add the complete functionality of LiveIntent Identity module to your Prebid.j gulp build --modules=userId,liveIntentIdSystem ``` -The `request.userId.lipb` object would look like: +This is an example of how the `request.userId.lipb` object which contains the resolution result would look like: ```json { "lipbid": "T7JiRRvsRAmh88", - "segments": ["999"] + "pubmatic": "9E76F017-86D2-444B-BB4B-9DB35347DB54", } ``` -The adapters can be implemented to use the lipbid as the identifier and segments to which that identifier is associated with. To enable identity resolution for a specific publisher, LiveIntent builds a model on the backend with data collected via an additional call issued on each page load. +To enable identity resolution, LiveIntent builds a model on the backend with data collected via an additional call issued on each page load. -## LiveIntent ID Registration +## LiveIntent Registration -If you're not already a LiveIntent customer, feel free to [reach out](https://www.liveintent.com/prebid-registration/) and explore [LiveIntent’s privacy policies](https://www.liveintent.com/services-privacy-policy/). +If you're not already a LiveIntent customer, feel free to [reach out](https://www.liveintent.com/get-in-touch/) and explore [LiveIntent’s privacy policies](https://www.liveintent.com/services-privacy-policy/). -## How does LiveIntent ID work +## How does LiveIntent user ID submodule work -The LiveIntent ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier - the nonID. In order to provide resolution, one or more first-party cookies are used to create a stable identifier which are: +The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier - the nonID. In order to provide resolution, one or more first-party cookies are used to create a stable identifier which are: 1. Default first-party cookie: 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. -2. Publisher defined first-part cookie: Publishers have the flexibility to configure and choose additional first-party cookies for use in conjunction with the LiveIntent first-party cookie. +2. Publisher defined first-party cookie: Publishers have the flexibility to configure and choose additional first-party cookies for use in conjunction with the LiveIntent first-party cookie. ### Generate nonID @@ -76,7 +76,7 @@ pbjs.setConfig({ }); ``` -### Multiple user ids +### Multiple user IDs The attributes 'uid2', 'medianet', 'magnite', 'bidswitch' and 'index' are treated specially by LiveIntent's user ID sub-module. Each of these four attributes will result in a separate ID returned by the sub-module. From 879e4fb260966237b556700fdf89ddd396a33f9a Mon Sep 17 00:00:00 2001 From: Emmanuel Adebayo <38572355+adebayoea@users.noreply.github.com> Date: Wed, 29 Nov 2023 06:43:26 +0100 Subject: [PATCH 05/20] Update liveintent.md --- dev-docs/modules/userid-submodules/liveintent.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 1106c4f70d..2b5b347fd6 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -5,9 +5,9 @@ description: LiveIntent nonID User ID sub-module useridmodule: liveIntentIdSystem --- -LiveIntent offers audience resolution by leveraging it's next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. +LiveIntent offers audience resolution by leveraging its next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. -The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. Along side with the `nonID`, LiveIntent's user ID module can resolve multiple other user identifers such as `UID2` and `pubmatic` - see the [Multiple userIDs]( #multiple-user-ids) section for more details. +The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. Alongside the `nonID`, LiveIntent's user ID module can resolve multiple other user identifiers such as `UID2` and `pubmatic` - see the [Multiple user IDs]( #multiple-user-ids) section for more details. To add the complete functionality of LiveIntent Identity module to your Prebid.js package, use the following command: From 809139ad19f2ffe31c0aefdc5bd2c85f85197383 Mon Sep 17 00:00:00 2001 From: Emmanuel Adebayo <38572355+adebayoea@users.noreply.github.com> Date: Wed, 29 Nov 2023 12:59:27 +0100 Subject: [PATCH 06/20] clarity and code font update --- .../modules/userid-submodules/liveintent.md | 215 +++++++++--------- 1 file changed, 108 insertions(+), 107 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 2b5b347fd6..657de1b3a0 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -7,7 +7,8 @@ useridmodule: liveIntentIdSystem LiveIntent offers audience resolution by leveraging its next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. -The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. Alongside the `nonID`, LiveIntent's user ID module can resolve multiple other user identifiers such as `UID2` and `pubmatic` - see the [Multiple user IDs]( #multiple-user-ids) section for more details. +The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in +cookie-challenged environments and browsers. Alongside the `nonID`, LiveIntent's user ID module can resolve multiple other user identifiers such as `UID2` and `pubmatic` - see the [Multiple user IDs]( #multiple-user-ids) section for more details. To add the complete functionality of LiveIntent Identity module to your Prebid.js package, use the following command: @@ -19,87 +20,87 @@ This is an example of how the `request.userId.lipb` object which contains the re ```json { - "lipbid": "T7JiRRvsRAmh88", - "pubmatic": "9E76F017-86D2-444B-BB4B-9DB35347DB54", +  "lipbid": "T7JiRRvsRAmh88", +  "pubmatic": "9E76F017-86D2-444B-BB4B-9DB35347DB54", } ``` -To enable identity resolution, LiveIntent builds a model on the backend with data collected via an additional call issued on each page load. +To enable identity resolution, LiveIntent builds a model on the backend with data collected through an additional call issued on each page load. ## LiveIntent Registration -If you're not already a LiveIntent customer, feel free to [reach out](https://www.liveintent.com/get-in-touch/) and explore [LiveIntent’s privacy policies](https://www.liveintent.com/services-privacy-policy/). +If you're not already a LiveIntent customer, feel free to [reach out](https://www.liveintent.com/get-in-touch/) to us. You can also explore the [LiveIntent’s privacy policies](https://www.liveintent.com/services-privacy-policy/). -## How does LiveIntent user ID submodule work +## How LiveIntent user ID submodule works -The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier - the nonID. In order to provide resolution, one or more first-party cookies are used to create a stable identifier which are: +The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier - the nonID. In order to provide resolution, one or more first-party cookies are used to create a stable identifier. The following first-party cookies are supported: -1. Default first-party cookie: 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. +1. Default first-party cookie: 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. 2. Publisher defined first-party cookie: Publishers have the flexibility to configure and choose additional first-party cookies for use in conjunction with the LiveIntent first-party cookie. ### Generate nonID -The LiveIntent ID sub-module sends cookies to Liveintent's identity graph for creating a nonID - [(_see the query parameters description_).](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) +The LiveIntent ID sub-module sends cookies to Liveintent's Identity Graph for creating a nonID - [(_see the query parameters description_)](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. ### Identity resolution -For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and the audience segment(s) of the user. The nonID and the segment ID are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the segment. +For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and additional user identifiers. The identifiers are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. The first-party cookie generation and identity resolution functionality is provided by [LiveConnect JS](https://www.npmjs.com/package/live-connect-js) - an open source JS library which is included within the LiveIntent ID sub-module. The LiveIntent ID sub-module follows the standard Prebid.js initialization based on the GDPR consumer opt-out choices. With regard to CCPA, the LiveConnect JS receives a us_privacy string from the Prebid US Privacy Consent Management Module and respects opt-outs. -## Configuring requested attributes +## Configure request attributes Attributes other than the nonID can be requested using the `requestedAttributesOverrides` configuration option. -For example, with the configuration below, the nonID as well as 'uid2', the 'medianet' id, the 'bidswitch' ID and the 'magnite' ID will be requested: +For example, the configuration below requests the `nonID` as well as `uid2`, the `medianet` ID, the `bidswitch` ID and the `magnite` ID: ```javascript pbjs.setConfig({ - userSync: { - userIds: [ - { - name: "liveIntentId", - params: { - publisherId: "12432415", - requestedAttributesOverrides: { - uid2: true, - medianet: true, - bidswitch: true, - magnite: true, - }, - }, - }, - ], - }, +  userSync: { +    userIds: [ +      { +        name: "liveIntentId", +        params: { +          publisherId: "12432415", +          requestedAttributesOverrides: { +            uid2: true, +            medianet: true, +            bidswitch: true, +            magnite: true, +          }, +        }, +      }, +    ], +  }, }); ``` ### Multiple user IDs -The attributes 'uid2', 'medianet', 'magnite', 'bidswitch' and 'index' are treated specially by LiveIntent's user ID sub-module. Each of these four attributes will result in a separate ID returned by the sub-module. +The attributes `uid2`, `medianet`, `magnite`, `bidswitch` and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. -For example, in case 'uid2' is configured to be requested - additionally to the nonID - the `request.userId` object would look like this: +For example, in case `uid2` is configured to be requested in addition to the nonID, the `request.userId` object would look like the following: ```javascript { - // ... - "lipb" : { - "lipbid": "sample-nonid-value", - "segments": ["999"], - "uid2" : "sample-uid2-value" - }, - "uid2" : { - "id" : "sample-uid2-value" - } - //... +    // ... +    "lipb" : { +        "lipbid": "sample-nonid-value", +        "segments": ["999"], +        "uid2" : "sample-uid2-value" +    }, +    "uid2" : { +        "id" : "sample-uid2-value" +    } +    //... } ``` -Note that 'uid2' is exposed as part of 'lipb' as well as separately as 'uid2'. 'medianet', 'magnite', 'bidswitch', 'index', 'pubmatic' and 'openx' behave the same way. +**Note:** `uid2` is exposed as part of 'lipb' as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `index`, `pubmatic` and `openx` behave the same way. -For the attributes 'lipbid' (nonID), 'uid2', 'medianet', 'magnite', 'bidswitch', 'index', 'pubmatic' and 'openx' there is also support for their conversion into OpenRTB EIDS format. Please refer to [userId.md](../userId.md) for more information on conversion and [eids.md](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. +For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `index`, `pubmatic` and `openx`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [userId.md](../userId.md) for more information on conversion and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. ### Requesting uid2 @@ -107,17 +108,17 @@ An attribute that requires special mention here is 'uid2'. If this attribute is ```javascript pbjs.setConfig({ - userSync: { - userIds: [ - { - name: "liveIntentId", - params: { - publisherId: "12432415", - requestedAttributesOverrides: { uid2: true }, - }, - }, - ], - }, +  userSync: { +    userIds: [ +      { +        name: "liveIntentId", +        params: { +          publisherId: "12432415", +          requestedAttributesOverrides: { uid2: true }, +        }, +      }, +    ], +  }, }); ``` @@ -154,65 +155,65 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever 1. To receive the LiveIntent ID, the setup looks like the following example: - ```javascript - pbjs.setConfig({ - userSync: { - userIds: [ - { - name: "liveIntentId", - params: { - publisherId: "9896876", - }, - }, - ], - }, - }); - ``` +   ```javascript +   pbjs.setConfig({ +     userSync: { +       userIds: [ +         { +           name: "liveIntentId", +           params: { +             publisherId: "9896876", +           }, +         }, +       ], +     }, +   }); +   ``` 2. If you are passing additional identifiers that you want to resolve to the LiveIntent ID, add the ID under the `identifiersToResolve` array in the configuration parameters as shown in the following example: - ```javascript - pbjs.setConfig({ - userSync: { - userIds: [ - { - name: "liveIntentId", - params: { - publisherId: "9896876", - identifiersToResolve: ["my-own-cookie"], - }, - }, - ], - }, - }); - ``` +   ```javascript +   pbjs.setConfig({ +     userSync: { +       userIds: [ +         { +           name: "liveIntentId", +           params: { +             publisherId: "9896876", +             identifiersToResolve: ["my-own-cookie"], +           }, +         }, +       ], +     }, +   }); +   ``` 3. If all the supported configuration params are passed, then the setup look as follows: - ```javascript - pbjs.setConfig({ - userSync: { - userIds: [ - { - name: "liveIntentId", - params: { - publisherId: "9896876", - distributorId: "did-0123", - identifiersToResolve: ["my-own-cookie"], - url: "https://publisher.liveintent.com/idex", - partner: "prebid", - ajaxTimeout: 1000, - liCollectConfig: { - fpiStorageStrategy: "cookie", - fpiExpirationDays: 730, - collectorUrl: "https://rp.liadm.com", - appId: "a-0012", - }, - }, - }, - ], - }, - }); - ``` +   ```javascript +   pbjs.setConfig({ +     userSync: { +       userIds: [ +         { +           name: "liveIntentId", +           params: { +             publisherId: "9896876", +             distributorId: "did-0123", +             identifiersToResolve: ["my-own-cookie"], +             url: "https://publisher.liveintent.com/idex", +             partner: "prebid", +             ajaxTimeout: 1000, +             liCollectConfig: { +               fpiStorageStrategy: "cookie", +               fpiExpirationDays: 730, +               collectorUrl: "https://rp.liadm.com", +               appId: "a-0012", +             }, +           }, +         }, +       ], +     }, +   }); +   ``` Please note: the _distributorId_ will be ignored when `liCollectConfig.appId` is present. From 28245f97473d0f2d166c39287f7a8b8ff3bfa9b6 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Wed, 29 Nov 2023 13:46:43 +0100 Subject: [PATCH 07/20] Editing session #2 --- .../modules/userid-submodules/liveintent.md | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 657de1b3a0..30121b2b74 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -7,10 +7,9 @@ useridmodule: liveIntentIdSystem LiveIntent offers audience resolution by leveraging its next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. -The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in -cookie-challenged environments and browsers. Alongside the `nonID`, LiveIntent's user ID module can resolve multiple other user identifiers such as `UID2` and `pubmatic` - see the [Multiple user IDs]( #multiple-user-ids) section for more details. +The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. Alongside the `nonID`, LiveIntent's user ID module can resolve multiple other user identifiers - called attributes - such as `uid2`, `pubmatic` and others. See the [Multiple user IDs](#multiple-user-ids) section for more details. -To add the complete functionality of LiveIntent Identity module to your Prebid.js package, use the following command: +To add the functionality of LiveIntent Identity module to your Prebid.js package, use the following command: ```bash gulp build --modules=userId,liveIntentIdSystem @@ -21,30 +20,28 @@ This is an example of how the `request.userId.lipb` object which contains the re ```json {   "lipbid": "T7JiRRvsRAmh88", -  "pubmatic": "9E76F017-86D2-444B-BB4B-9DB35347DB54", +  "pubmatic": "9E76F017-86D2-444B-BB4B-9DB35347DB54" } ``` -To enable identity resolution, LiveIntent builds a model on the backend with data collected through an additional call issued on each page load. - ## LiveIntent Registration If you're not already a LiveIntent customer, feel free to [reach out](https://www.liveintent.com/get-in-touch/) to us. You can also explore the [LiveIntent’s privacy policies](https://www.liveintent.com/services-privacy-policy/). ## How LiveIntent user ID submodule works -The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier - the nonID. In order to provide resolution, one or more first-party cookies are used to create a stable identifier. The following first-party cookies are supported: +The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier. In order to provide resolution, one or more first-party cookies are used to create this stable identifier. See the [(_query parameters description_)](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. + +The following first-party cookies are supported: 1. Default first-party cookie: 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. 2. Publisher defined first-party cookie: Publishers have the flexibility to configure and choose additional first-party cookies for use in conjunction with the LiveIntent first-party cookie. -### Generate nonID - -The LiveIntent ID sub-module sends cookies to Liveintent's Identity Graph for creating a nonID - [(_see the query parameters description_)](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. - ### Identity resolution -For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and additional user identifiers. The identifiers are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. +To enable identity resolution, LiveIntent builds a model on the backend with data collected through an additional call issued on each page load. + +For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and additional attributes. The identifiers and attributes are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. The first-party cookie generation and identity resolution functionality is provided by [LiveConnect JS](https://www.npmjs.com/package/live-connect-js) - an open source JS library which is included within the LiveIntent ID sub-module. @@ -79,16 +76,15 @@ pbjs.setConfig({ ### Multiple user IDs -The attributes `uid2`, `medianet`, `magnite`, `bidswitch` and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. +The attributes `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx` and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. -For example, in case `uid2` is configured to be requested in addition to the nonID, the `request.userId` object would look like the following: +For example, in case `uid2` is configured to be requested in addition to the `nonID`, the `request.userId` object would look like the following: ```javascript {     // ...     "lipb" : {         "lipbid": "sample-nonid-value", -        "segments": ["999"],         "uid2" : "sample-uid2-value"     },     "uid2" : { @@ -98,13 +94,15 @@ For example, in case `uid2` is configured to be requested in addition to the non } ``` -**Note:** `uid2` is exposed as part of 'lipb' as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `index`, `pubmatic` and `openx` behave the same way. +**Note:** `uid2` is exposed as part of `lipb` as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx` and `index` behave the same way. -For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `index`, `pubmatic` and `openx`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [userId.md](../userId.md) for more information on conversion and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. +For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx` and `index`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [userId.md](../userId.md) for more information on conversion and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. ### Requesting uid2 -An attribute that requires special mention here is 'uid2'. If this attribute is resolved by the ID sub-module, it will be exposed in the same format as from the Unified ID 2.0 user ID module. If both the LiveIntent module and the uid2 module manage to resolve an uid2, the one from the uid2 module will be used. Enabling this option in addition to the uid2 module is an easy way to increase your uid2 resolution rates. Example configuration to enable uid2 resolution: +An attribute that requires special mention here is 'uid2'. If this attribute is resolved by the ID sub-module, it will be exposed in the same format as from the Unified ID 2.0 user ID module. If both, the LiveIntent module and the uid2 module manage to resolve an uid2, the one with the highest priority according to the configuration will be used. See [User ID Module](../userId.md#prebid-multiple-identifiers-populated-by-user-id-submodule) documentation for more information. + +Enabling this option in addition to the uid2 module is an easy way to increase your uid2 resolution rates. Example configuration to enable uid2 resolution: ```javascript pbjs.setConfig({ @@ -137,7 +135,7 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever | params.ajaxTimeout |Optional| Number |This configuration parameter defines the maximum duration of a call to the IdentityResolution endpoint. By default, 5000 milliseconds.|`5000`| | params.partner | Optional| String |The name of the partner whose data will be returned in the response.|`'prebid'`| | params.identifiersToResolve |Optional| Array[String] |Used to send additional identifiers in the request for LiveIntent to resolve against the LiveIntent ID.|`['my-id']`| -| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to true will be added to the resolve list, while attributes set to false will be removed. Valid attributes are 'nonId', 'uid2', 'medianet', 'magnite', 'bidswitch', 'index', 'pubmatic' and 'openx'. | `{'uid2': true}` | +| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to true will be added to the resolve list, while attributes set to false will be removed. Valid attributes are 'nonId', 'uid2', 'medianet', 'magnite', 'bidswitch', 'pubmatic', 'openx' and 'index'. | `{'uid2': true}` | | params.emailHash |Optional| String |The hashed email address of a user. We can accept the hashes, which use the following hashing algorithms: md5, sha1, sha2.|`1a79a4d60de6718e8e5b326e338ae533`| | params.url | Optional| String |Use this to change the default endpoint URL if you can call the LiveIntent Identity Exchange within your own domain.|`'https://idx.my-domain.com'`| | params.liCollectConfig |Optional| Object |Container of all collector params.|| @@ -146,10 +144,6 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever | params.liCollectConfig.fpiExpirationDays |Optional| Number |The expiration time of an identifier created and updated by LiveConnect.By default, 730 days.|`729`| | params.liCollectConfig.collectorUrl |Optional| String |The parameter defines where the signal pixels are pointing to. The params and paths will be defined subsequently. If the parameter is not set, LiveConnect will by default emit the signal towards `https://rp.liadm.com`.|`'https://rp.liadm.com'`| | params.liCollectConfig.appId |Optional| String |LiveIntent's media business entity application id.|`'a-0012'`| -| storage | Optional | Object | This object defines where and for how long the results of the call to get a user ID will be stored. | | -| storage.type | Optional | String | This parameter defines where the resolved user ID will be stored (either `'cookie'` or `'html5'` localstorage).| `'cookie'` | -| storage.name | Optional | String | The name of the cookie or html5 localstorage where the resolved user ID will be stored. | `'pbjs_li_nonid'` | -| storage.expires | Optional | Integer | How long (in days) the user ID information will be stored. The recommended value is `1` | `1` | ## LiveIntent ID examples @@ -200,6 +194,7 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever              publisherId: "9896876",              distributorId: "did-0123",              identifiersToResolve: ["my-own-cookie"], + requestedAttributesOverrides: { uid2: true, magnite: true, bidswitch: true },              url: "https://publisher.liveintent.com/idex",              partner: "prebid",              ajaxTimeout: 1000, From 3502d3f5376a07f8fed51e317049bacaab87dac6 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Wed, 29 Nov 2023 13:49:41 +0100 Subject: [PATCH 08/20] Remove brackets and italic --- dev-docs/modules/userid-submodules/liveintent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 30121b2b74..f6310f11da 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -30,7 +30,7 @@ If you're not already a LiveIntent customer, feel free to [reach out](https://ww ## How LiveIntent user ID submodule works -The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier. In order to provide resolution, one or more first-party cookies are used to create this stable identifier. See the [(_query parameters description_)](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. +The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier. In order to provide resolution, one or more first-party cookies are used to create this stable identifier. See the [query parameters description](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. The following first-party cookies are supported: From 821c3b42fa0152d6b1bea5f18befc8c9ac11c0b0 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Wed, 29 Nov 2023 14:00:07 +0100 Subject: [PATCH 09/20] Rewrite the section --- dev-docs/modules/userid-submodules/liveintent.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index f6310f11da..1cf7a0396c 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -30,7 +30,9 @@ If you're not already a LiveIntent customer, feel free to [reach out](https://ww ## How LiveIntent user ID submodule works -The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier. In order to provide resolution, one or more first-party cookies are used to create this stable identifier. See the [query parameters description](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. +The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier. + +LiveIntent builds a model on the backend with data collected through an additional call issued on each page load. In order to provide resolution, one or more first-party cookies are used. See the [query parameters description](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. The following first-party cookies are supported: @@ -39,8 +41,6 @@ The following first-party cookies are supported: ### Identity resolution -To enable identity resolution, LiveIntent builds a model on the backend with data collected through an additional call issued on each page load. - For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and additional attributes. The identifiers and attributes are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. The first-party cookie generation and identity resolution functionality is provided by [LiveConnect JS](https://www.npmjs.com/package/live-connect-js) - an open source JS library which is included within the LiveIntent ID sub-module. From a58216996cbe01b6298d340b1e7f00cb36d563f9 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Thu, 30 Nov 2023 15:28:41 +0100 Subject: [PATCH 10/20] Clean-up --- .../modules/userid-submodules/liveintent.md | 122 +++++++++--------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 1cf7a0396c..afbe09377c 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -41,13 +41,13 @@ The following first-party cookies are supported: ### Identity resolution -For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and additional attributes. The identifiers and attributes are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. +For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and additional attributes. The identifier and attributes are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. The first-party cookie generation and identity resolution functionality is provided by [LiveConnect JS](https://www.npmjs.com/package/live-connect-js) - an open source JS library which is included within the LiveIntent ID sub-module. The LiveIntent ID sub-module follows the standard Prebid.js initialization based on the GDPR consumer opt-out choices. With regard to CCPA, the LiveConnect JS receives a us_privacy string from the Prebid US Privacy Consent Management Module and respects opt-outs. -## Configure request attributes +## Configure requested attributes Attributes other than the nonID can be requested using the `requestedAttributesOverrides` configuration option. @@ -76,7 +76,7 @@ pbjs.setConfig({ ### Multiple user IDs -The attributes `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx` and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. +The attributes `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. For example, in case `uid2` is configured to be requested in addition to the `nonID`, the `request.userId` object would look like the following: @@ -94,9 +94,9 @@ For example, in case `uid2` is configured to be requested in addition to the `no } ``` -**Note:** `uid2` is exposed as part of `lipb` as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx` and `index` behave the same way. +**Note:** `uid2` is exposed as part of `lipb` as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index` behave the same way. -For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx` and `index`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [userId.md](../userId.md) for more information on conversion and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. +For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [userId.md](../userId.md) for more information on conversion and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. ### Requesting uid2 @@ -135,7 +135,7 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever | params.ajaxTimeout |Optional| Number |This configuration parameter defines the maximum duration of a call to the IdentityResolution endpoint. By default, 5000 milliseconds.|`5000`| | params.partner | Optional| String |The name of the partner whose data will be returned in the response.|`'prebid'`| | params.identifiersToResolve |Optional| Array[String] |Used to send additional identifiers in the request for LiveIntent to resolve against the LiveIntent ID.|`['my-id']`| -| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to true will be added to the resolve list, while attributes set to false will be removed. Valid attributes are 'nonId', 'uid2', 'medianet', 'magnite', 'bidswitch', 'pubmatic', 'openx' and 'index'. | `{'uid2': true}` | +| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to true will be added to the resolve list, while attributes set to false will be removed. Valid attributes are 'nonId', 'uid2', 'medianet', 'magnite', 'bidswitch', 'pubmatic', 'openx', 'sovrn' and 'index'. | `{'uid2': true}` | | params.emailHash |Optional| String |The hashed email address of a user. We can accept the hashes, which use the following hashing algorithms: md5, sha1, sha2.|`1a79a4d60de6718e8e5b326e338ae533`| | params.url | Optional| String |Use this to change the default endpoint URL if you can call the LiveIntent Identity Exchange within your own domain.|`'https://idx.my-domain.com'`| | params.liCollectConfig |Optional| Object |Container of all collector params.|| @@ -149,66 +149,66 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever 1. To receive the LiveIntent ID, the setup looks like the following example: -   ```javascript -   pbjs.setConfig({ -     userSync: { -       userIds: [ -         { -           name: "liveIntentId", -           params: { -             publisherId: "9896876", -           }, -         }, -       ], -     }, -   }); -   ``` +```javascript +pbjs.setConfig({ +  userSync: { +    userIds: [ +      { +        name: "liveIntentId", +       params: { +         publisherId: "9896876", +     }, +      }, +    ], +  }, +}); +``` 2. If you are passing additional identifiers that you want to resolve to the LiveIntent ID, add the ID under the `identifiersToResolve` array in the configuration parameters as shown in the following example: -   ```javascript -   pbjs.setConfig({ -     userSync: { -       userIds: [ -         { -           name: "liveIntentId", -           params: { -             publisherId: "9896876", -             identifiersToResolve: ["my-own-cookie"], -           }, -         }, -       ], -     }, -   }); -   ``` +```javascript +pbjs.setConfig({ + userSync: { +    userIds: [ +      { +        name: "liveIntentId", +        params: { +          publisherId: "9896876", +          identifiersToResolve: ["my-own-cookie"], +        }, +      }, +    ], +  }, +}); +``` 3. If all the supported configuration params are passed, then the setup look as follows: -   ```javascript -   pbjs.setConfig({ -     userSync: { -       userIds: [ -         { -           name: "liveIntentId", -           params: { -             publisherId: "9896876", -             distributorId: "did-0123", -             identifiersToResolve: ["my-own-cookie"], - requestedAttributesOverrides: { uid2: true, magnite: true, bidswitch: true }, -             url: "https://publisher.liveintent.com/idex", -             partner: "prebid", -             ajaxTimeout: 1000, -             liCollectConfig: { -               fpiStorageStrategy: "cookie", -               fpiExpirationDays: 730, -               collectorUrl: "https://rp.liadm.com", -               appId: "a-0012", -             }, -           }, -         }, -       ], -     }, -   }); -   ``` +```javascript +pbjs.setConfig({ +  userSync: { +    userIds: [ +      { +        name: "liveIntentId", +        params: { +          publisherId: "9896876", +          distributorId: "did-0123", +          identifiersToResolve: ["my-own-cookie"], + requestedAttributesOverrides: { uid2: true, magnite: true, bidswitch: true }, +          url: "https://publisher.liveintent.com/idex", +          partner: "prebid", +          ajaxTimeout: 1000, +          liCollectConfig: { +            fpiStorageStrategy: "cookie", +            fpiExpirationDays: 730, +            collectorUrl: "https://rp.liadm.com", +            appId: "a-0012", +          }, +        }, +      }, +    ], +  }, +}); +``` Please note: the _distributorId_ will be ignored when `liCollectConfig.appId` is present. From c63d0307fd5630866fc996eec8fcffb97aa3626d Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Thu, 30 Nov 2023 15:44:46 +0100 Subject: [PATCH 11/20] Fix code examples --- .../modules/userid-submodules/liveintent.md | 104 +++++++++--------- 1 file changed, 49 insertions(+), 55 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index afbe09377c..dab070ad58 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -149,66 +149,60 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever 1. To receive the LiveIntent ID, the setup looks like the following example: -```javascript -pbjs.setConfig({ -  userSync: { -    userIds: [ -      { -        name: "liveIntentId", -       params: { -         publisherId: "9896876", -     }, -      }, -    ], -  }, -}); -``` + ```javascript + pbjs.setConfig({ + userSync: { +     userIds: [{ + name: "liveIntentId", + params: { + publisherId: "9896876" + } + }] + } + }); + ``` 2. If you are passing additional identifiers that you want to resolve to the LiveIntent ID, add the ID under the `identifiersToResolve` array in the configuration parameters as shown in the following example: -```javascript -pbjs.setConfig({ - userSync: { -    userIds: [ -      { -        name: "liveIntentId", -        params: { -          publisherId: "9896876", -          identifiersToResolve: ["my-own-cookie"], -        }, -      }, -    ], -  }, -}); -``` + ```javascript + pbjs.setConfig({ + userSync: { + userIds: [{ + name: "liveIntentId", + params: { + publisherId: "9896876", + identifiersToResolve: ["my-own-cookie"] + } + }] + } + }); + ``` 3. If all the supported configuration params are passed, then the setup look as follows: -```javascript -pbjs.setConfig({ -  userSync: { -    userIds: [ -      { -        name: "liveIntentId", -        params: { -          publisherId: "9896876", -          distributorId: "did-0123", -          identifiersToResolve: ["my-own-cookie"], - requestedAttributesOverrides: { uid2: true, magnite: true, bidswitch: true }, -          url: "https://publisher.liveintent.com/idex", -          partner: "prebid", -          ajaxTimeout: 1000, -          liCollectConfig: { -            fpiStorageStrategy: "cookie", -            fpiExpirationDays: 730, -            collectorUrl: "https://rp.liadm.com", -            appId: "a-0012", -          }, -        }, -      }, -    ], -  }, -}); -``` + ```javascript + pbjs.setConfig({ + userSync: { + userIds: [{ + name: "liveIntentId", + params: { + publisherId: "9896876", + distributorId: "did-0123", + identifiersToResolve: ["my-own-cookie"], + requestedAttributesOverrides: { uid2: true, magnite: true, bidswitch: true }, + url: "https://publisher.liveintent.com/idex", + partner: "prebid", + ajaxTimeout: 1000, + liCollectConfig: { + fpiStorageStrategy: "cookie", + fpiExpirationDays: 730, + collectorUrl: "https://rp.liadm.com", + appId: "a-0012" + } + } + }] + } + }); + ``` Please note: the _distributorId_ will be ignored when `liCollectConfig.appId` is present. From 2b3eeb68e4da0e3f94dc08f615418bfa2be80bc4 Mon Sep 17 00:00:00 2001 From: Emmanuel Adebayo <38572355+adebayoea@users.noreply.github.com> Date: Thu, 30 Nov 2023 16:06:49 +0100 Subject: [PATCH 12/20] updated code font and punctuations --- .../modules/userid-submodules/liveintent.md | 62 +++++++++---------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index dab070ad58..9421180170 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -7,9 +7,9 @@ useridmodule: liveIntentIdSystem LiveIntent offers audience resolution by leveraging its next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. -The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. Alongside the `nonID`, LiveIntent's user ID module can resolve multiple other user identifiers - called attributes - such as `uid2`, `pubmatic` and others. See the [Multiple user IDs](#multiple-user-ids) section for more details. +The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. Alongside the `nonID`, LiveIntent's user ID module can resolve multiple other user identifiers called _attributes_ - such as `uid2`, `pubmatic`, and others. See the [Multiple user IDs](#multiple-user-ids) section for more details. -To add the functionality of LiveIntent Identity module to your Prebid.js package, use the following command: +To add the functionality of LiveIntent Identity module to your _Prebid.js_ package, use the following command: ```bash gulp build --modules=userId,liveIntentIdSystem @@ -24,32 +24,28 @@ This is an example of how the `request.userId.lipb` object which contains the re } ``` -## LiveIntent Registration - If you're not already a LiveIntent customer, feel free to [reach out](https://www.liveintent.com/get-in-touch/) to us. You can also explore the [LiveIntent’s privacy policies](https://www.liveintent.com/services-privacy-policy/). -## How LiveIntent user ID submodule works - -The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier. +## How LiveIntent user ID sub-module works -LiveIntent builds a model on the backend with data collected through an additional call issued on each page load. In order to provide resolution, one or more first-party cookies are used. See the [query parameters description](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. +The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier. LiveIntent builds a model on the backend with data collected through an additional call issued on each page load. In order to provide ID resolution, the sub-module uses one or more first-party cookies. See the [query parameters description](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. The following first-party cookies are supported: -1. Default first-party cookie: 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. +1. Default first-party cookie: 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 sub-module. 2. Publisher defined first-party cookie: Publishers have the flexibility to configure and choose additional first-party cookies for use in conjunction with the LiveIntent first-party cookie. ### Identity resolution -For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a nonID and additional attributes. The identifier and attributes are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. +For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a `nonID` and additional attributes. The identifiers and attributes are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. The first-party cookie generation and identity resolution functionality is provided by [LiveConnect JS](https://www.npmjs.com/package/live-connect-js) - an open source JS library which is included within the LiveIntent ID sub-module. -The LiveIntent ID sub-module follows the standard Prebid.js initialization based on the GDPR consumer opt-out choices. With regard to CCPA, the LiveConnect JS receives a us_privacy string from the Prebid US Privacy Consent Management Module and respects opt-outs. +The LiveIntent ID sub-module follows the standard _Prebid.js_ initialization based on the GDPR consumer opt-out choices. With regard to CCPA, the LiveConnect JS receives a us_privacy string from the Prebid US Privacy Consent Management Module and respects opt-outs. -## Configure requested attributes +## Configure request attributes -Attributes other than the nonID can be requested using the `requestedAttributesOverrides` configuration option. +Attributes other than the `nonID` can be requested using the `requestedAttributesOverrides` configuration option. For example, the configuration below requests the `nonID` as well as `uid2`, the `medianet` ID, the `bidswitch` ID and the `magnite` ID: @@ -76,7 +72,7 @@ pbjs.setConfig({ ### Multiple user IDs -The attributes `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. +The attributes `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. For example, in case `uid2` is configured to be requested in addition to the `nonID`, the `request.userId` object would look like the following: @@ -94,15 +90,15 @@ For example, in case `uid2` is configured to be requested in addition to the `no } ``` -**Note:** `uid2` is exposed as part of `lipb` as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index` behave the same way. +NOTE: `uid2` is exposed as part of `lipb` as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, and `index` behave the same way. -For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [userId.md](../userId.md) for more information on conversion and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. +For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, and `index`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [User ID Module](../userId.md) documentation for more information on conversion, and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. -### Requesting uid2 +### Request uid2 -An attribute that requires special mention here is 'uid2'. If this attribute is resolved by the ID sub-module, it will be exposed in the same format as from the Unified ID 2.0 user ID module. If both, the LiveIntent module and the uid2 module manage to resolve an uid2, the one with the highest priority according to the configuration will be used. See [User ID Module](../userId.md#prebid-multiple-identifiers-populated-by-user-id-submodule) documentation for more information. +An attribute that requires special mention here is `uid2`. If this attribute is resolved by the ID sub-module, it will be exposed in the same format as from the Unified ID 2.0 user ID module. If both the LiveIntent module and the `uid2` module manage to resolve a `uid2`, the one with the highest priority according to the configuration will be used. See the [Prebid multiple identifiers populated by user id sub-module](../userId.md#prebid-multiple-identifiers-populated-by-user-id-sub-module) section of the User ID documentation for more information. -Enabling this option in addition to the uid2 module is an easy way to increase your uid2 resolution rates. Example configuration to enable uid2 resolution: +Enabling this option in addition to the `uid2` module is an easy way to increase your `uid2` resolution rates. The following is an example configuration of `uid2` resolution: ```javascript pbjs.setConfig({ @@ -123,27 +119,27 @@ pbjs.setConfig({ ## LiveIntent ID configuration {: .alert.alert-info :} -NOTE: For optimal performance, the LiveIntent ID module should be called at every opportunity. It is best not to use `params.storage` with this module as the module has its own optimal caching mechanism. +NOTE: For optimal performance, the LiveIntent ID sub-module should be called at every opportunity. It is best not to use `params.storage` with this sub-module as it has its own optimal caching mechanism. {: .table .table-bordered .table-striped } | Param under userSync.userIds[] | Scope | Type | Description | Example | | --- | --- | --- | --- | --- | -| name | Required | String | The name of this module. | `'liveIntentId'` | +| name | Required | String | The name of this module. | `liveIntentId` | | params | Required | Object | Container of all module params. || -| params.publisherId |Optional| String | The unique identifier for each publisher (for existing LiveIntent customers)|`'12432415'`| -| params.distributorId |Optional| String | The unique identifier for each distributor (for existing LiveIntent customers). Will be ignored if `params.liCollectConfig.appId` is provided. |`'did-0123'`| -| params.ajaxTimeout |Optional| Number |This configuration parameter defines the maximum duration of a call to the IdentityResolution endpoint. By default, 5000 milliseconds.|`5000`| -| params.partner | Optional| String |The name of the partner whose data will be returned in the response.|`'prebid'`| +| params.publisherId |Optional| String | The unique identifier for each publisher (for existing LiveIntent customers)|`12432415`| +| params.distributorId |Optional| String | The unique identifier for each distributor (for existing LiveIntent customers). Will be ignored if `params.liCollectConfig.appId` is provided. |`did-0123`| +| params.ajaxTimeout |Optional| Number |This configuration parameter defines the maximum duration of a call to the `IdentityResolution` endpoint. By default, 5000 milliseconds.|`5000`| +| params.partner | Optional| String |The name of the partner whose data will be returned in the response.|`prebid`| | params.identifiersToResolve |Optional| Array[String] |Used to send additional identifiers in the request for LiveIntent to resolve against the LiveIntent ID.|`['my-id']`| -| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to true will be added to the resolve list, while attributes set to false will be removed. Valid attributes are 'nonId', 'uid2', 'medianet', 'magnite', 'bidswitch', 'pubmatic', 'openx', 'sovrn' and 'index'. | `{'uid2': true}` | +| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to `true` will be added to the resolved list, while attributes set to `false` will be removed. Valid attributes are `nonId`, `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, and `index`. | `{'uid2': true}` | | params.emailHash |Optional| String |The hashed email address of a user. We can accept the hashes, which use the following hashing algorithms: md5, sha1, sha2.|`1a79a4d60de6718e8e5b326e338ae533`| -| params.url | Optional| String |Use this to change the default endpoint URL if you can call the LiveIntent Identity Exchange within your own domain.|`'https://idx.my-domain.com'`| +| params.url | Optional| String |Use this to change the default endpoint URL if you can call the LiveIntent Identity Exchange within your own domain.|`https://idx.my-domain.com`| | params.liCollectConfig |Optional| Object |Container of all collector params.|| -| params.liCollectConfig.fpiStorageStrategy |Optional| String |This parameter defines whether the first party identifiers that LiveConnect creates and updates are stored in a cookie jar, or in local storage. If nothing is set, default behaviour would be `cookie`. Allowed values: [`cookie`, `ls`, `none`]|`'cookie'`| +| params.liCollectConfig.fpiStorageStrategy |Optional| String |This parameter defines whether the first party identifiers that LiveConnect creates and updates are stored in a cookie jar, or in local storage. If nothing is set, default behaviour would be `cookie`. Allowed values: [`cookie`, `ls`, `none`]|`cookie`| | params.liCollectConfig.ajaxTimeout |Optional| Number |This configuration parameter defines the maximum duration of a call to the collector endpoint. By default, 5000 milliseconds.|`5000`| -| params.liCollectConfig.fpiExpirationDays |Optional| Number |The expiration time of an identifier created and updated by LiveConnect.By default, 730 days.|`729`| -| params.liCollectConfig.collectorUrl |Optional| String |The parameter defines where the signal pixels are pointing to. The params and paths will be defined subsequently. If the parameter is not set, LiveConnect will by default emit the signal towards `https://rp.liadm.com`.|`'https://rp.liadm.com'`| -| params.liCollectConfig.appId |Optional| String |LiveIntent's media business entity application id.|`'a-0012'`| +| params.liCollectConfig.fpiExpirationDays |Optional| Number |The expiration time of an identifier created and updated by LiveConnect. By default, 730 days.|`729`| +| params.liCollectConfig.collectorUrl |Optional| String |The parameter defines where the signal pixels are pointing to. The params and paths will be defined subsequently. If the parameter is not set, LiveConnect will by default emit the signal towards `https://rp.liadm.com`.| `https://rp.liadm.com`| +| params.liCollectConfig.appId |Optional| String |LiveIntent's media business entity application ID.|`a-0012`| ## LiveIntent ID examples @@ -178,7 +174,7 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever }); ``` -3. If all the supported configuration params are passed, then the setup look as follows: +3. If all the supported configuration params are passed, then the setup will look as follows: ```javascript pbjs.setConfig({ @@ -205,4 +201,4 @@ NOTE: For optimal performance, the LiveIntent ID module should be called at ever }); ``` -Please note: the _distributorId_ will be ignored when `liCollectConfig.appId` is present. +Please note: the `distributorId` will be ignored when `liCollectConfig.appId` is present. From da72b0f1042ffc576dc76fa943619bf21e6132b1 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Thu, 30 Nov 2023 16:41:51 +0100 Subject: [PATCH 13/20] Minor improvements --- dev-docs/modules/userid-submodules/liveintent.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 9421180170..598112b9c7 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -37,13 +37,13 @@ The following first-party cookies are supported: ### Identity resolution -For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a `nonID` and additional attributes. The identifiers and attributes are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. +For the identity resolution, the LiveIntent ID sub-module makes a request to LiveIntent’s identity resolution API, which returns a `nonID` and additional attributes. The identifier and attributes are then exposed by the Prebid User ID Module to Prebid adapters to be sent out in a bid request. An SSP can then make the impression opportunity available to buyers that would like to target the audience. The first-party cookie generation and identity resolution functionality is provided by [LiveConnect JS](https://www.npmjs.com/package/live-connect-js) - an open source JS library which is included within the LiveIntent ID sub-module. The LiveIntent ID sub-module follows the standard _Prebid.js_ initialization based on the GDPR consumer opt-out choices. With regard to CCPA, the LiveConnect JS receives a us_privacy string from the Prebid US Privacy Consent Management Module and respects opt-outs. -## Configure request attributes +## Configure requested attributes Attributes other than the `nonID` can be requested using the `requestedAttributesOverrides` configuration option. From ee673d9bbed398c354abb6cc910585595cef24b0 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Thu, 30 Nov 2023 16:49:32 +0100 Subject: [PATCH 14/20] Clean-up --- dev-docs/modules/userid-submodules/liveintent.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 598112b9c7..fa4f3df618 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -72,7 +72,7 @@ pbjs.setConfig({ ### Multiple user IDs -The attributes `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. +The attributes `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. For example, in case `uid2` is configured to be requested in addition to the `nonID`, the `request.userId` object would look like the following: @@ -90,9 +90,9 @@ For example, in case `uid2` is configured to be requested in addition to the `no } ``` -NOTE: `uid2` is exposed as part of `lipb` as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, and `index` behave the same way. +NOTE: `uid2` is exposed as part of `lipb` as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index` behave the same way. -For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, and `index`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [User ID Module](../userId.md) documentation for more information on conversion, and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. +For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [User ID Module](../userId.md) documentation for more information on conversion, and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. ### Request uid2 @@ -130,8 +130,8 @@ NOTE: For optimal performance, the LiveIntent ID sub-module should be called at | params.distributorId |Optional| String | The unique identifier for each distributor (for existing LiveIntent customers). Will be ignored if `params.liCollectConfig.appId` is provided. |`did-0123`| | params.ajaxTimeout |Optional| Number |This configuration parameter defines the maximum duration of a call to the `IdentityResolution` endpoint. By default, 5000 milliseconds.|`5000`| | params.partner | Optional| String |The name of the partner whose data will be returned in the response.|`prebid`| -| params.identifiersToResolve |Optional| Array[String] |Used to send additional identifiers in the request for LiveIntent to resolve against the LiveIntent ID.|`['my-id']`| -| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to `true` will be added to the resolved list, while attributes set to `false` will be removed. Valid attributes are `nonId`, `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, and `index`. | `{'uid2': true}` | +| params.identifiersToResolve |Optional| Array[String] |Used to send additional identifiers in the request for LiveIntent to resolve against the LiveIntent ID and additional attributes.|`['my-id']`| +| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to `true` will be added to the resolved list, while attributes set to `false` will be removed. Valid attributes are `nonId`, `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index`. | `{'uid2': true}` | | params.emailHash |Optional| String |The hashed email address of a user. We can accept the hashes, which use the following hashing algorithms: md5, sha1, sha2.|`1a79a4d60de6718e8e5b326e338ae533`| | params.url | Optional| String |Use this to change the default endpoint URL if you can call the LiveIntent Identity Exchange within your own domain.|`https://idx.my-domain.com`| | params.liCollectConfig |Optional| Object |Container of all collector params.|| From 10dfd9c42c4a98e8559c868c9c23126298ecc8ae Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Thu, 30 Nov 2023 16:54:20 +0100 Subject: [PATCH 15/20] Fix link --- dev-docs/modules/userid-submodules/liveintent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index fa4f3df618..6a67d9037b 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -96,7 +96,7 @@ For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, ### Request uid2 -An attribute that requires special mention here is `uid2`. If this attribute is resolved by the ID sub-module, it will be exposed in the same format as from the Unified ID 2.0 user ID module. If both the LiveIntent module and the `uid2` module manage to resolve a `uid2`, the one with the highest priority according to the configuration will be used. See the [Prebid multiple identifiers populated by user id sub-module](../userId.md#prebid-multiple-identifiers-populated-by-user-id-sub-module) section of the User ID documentation for more information. +An attribute that requires special mention here is `uid2`. If this attribute is resolved by the ID sub-module, it will be exposed in the same format as from the Unified ID 2.0 user ID module. If both the LiveIntent module and the `uid2` module manage to resolve a `uid2`, the one with the highest priority according to the configuration will be used. See the [Prebid multiple identifiers populated by user id sub-module](../userId.md#prebid-multiple-identifiers-populated-by-user-id-submodule) section of the User ID documentation for more information. Enabling this option in addition to the `uid2` module is an easy way to increase your `uid2` resolution rates. The following is an example configuration of `uid2` resolution: From 92da88acc267da3bf0193253260ceb2f9fa2b4b8 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Thu, 30 Nov 2023 16:56:27 +0100 Subject: [PATCH 16/20] Remove superflous commas --- .../modules/userid-submodules/liveintent.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 6a67d9037b..b86e767b78 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -61,12 +61,12 @@ pbjs.setConfig({             uid2: true,             medianet: true,             bidswitch: true, -            magnite: true, -          }, -        }, -      }, -    ], -  }, +            magnite: true +          } +        } +      } +    ] +  } }); ``` @@ -108,11 +108,11 @@ pbjs.setConfig({         name: "liveIntentId",         params: {           publisherId: "12432415", -          requestedAttributesOverrides: { uid2: true }, -        }, -      }, -    ], -  }, +          requestedAttributesOverrides: { uid2: true } +        } +      } +    ] +  } }); ``` From e766f468b248e2c5ea2fb58a42427a09fd2ef6f1 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Thu, 30 Nov 2023 17:02:37 +0100 Subject: [PATCH 17/20] Fix indent --- .../modules/userid-submodules/liveintent.md | 106 +++++++++--------- 1 file changed, 52 insertions(+), 54 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index b86e767b78..b44cbb6816 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -78,15 +78,15 @@ For example, in case `uid2` is configured to be requested in addition to the `no ```javascript { -    // ... -    "lipb" : { -        "lipbid": "sample-nonid-value", -        "uid2" : "sample-uid2-value" -    }, -    "uid2" : { -        "id" : "sample-uid2-value" -    } -    //... +  // ... +  "lipb" : { +    "lipbid": "sample-nonid-value", +    "uid2" : "sample-uid2-value" +  }, +  "uid2" : { +    "id" : "sample-uid2-value" +  } +  //... } ``` @@ -103,15 +103,13 @@ Enabling this option in addition to the `uid2` module is an easy way to increase ```javascript pbjs.setConfig({   userSync: { -    userIds: [ -      { -        name: "liveIntentId", -        params: { -          publisherId: "12432415", -          requestedAttributesOverrides: { uid2: true } -        } +    userIds: [{ +    name: "liveIntentId", +      params: { +        publisherId: "12432415", +        requestedAttributesOverrides: { uid2: true }       } -    ] +    }]   } }); ``` @@ -147,14 +145,14 @@ NOTE: For optimal performance, the LiveIntent ID sub-module should be called at ```javascript pbjs.setConfig({ - userSync: { -     userIds: [{ - name: "liveIntentId", - params: { - publisherId: "9896876" - } - }] - } + userSync: { +    userIds: [{ + name: "liveIntentId", + params: { + publisherId: "9896876" + } + }] + } }); ``` @@ -162,15 +160,15 @@ NOTE: For optimal performance, the LiveIntent ID sub-module should be called at ```javascript pbjs.setConfig({ - userSync: { - userIds: [{ - name: "liveIntentId", - params: { - publisherId: "9896876", - identifiersToResolve: ["my-own-cookie"] - } - }] - } + userSync: { + userIds: [{ + name: "liveIntentId", + params: { + publisherId: "9896876", + identifiersToResolve: ["my-own-cookie"] + } + }] + } }); ``` @@ -178,26 +176,26 @@ NOTE: For optimal performance, the LiveIntent ID sub-module should be called at ```javascript pbjs.setConfig({ - userSync: { - userIds: [{ - name: "liveIntentId", - params: { - publisherId: "9896876", - distributorId: "did-0123", - identifiersToResolve: ["my-own-cookie"], - requestedAttributesOverrides: { uid2: true, magnite: true, bidswitch: true }, - url: "https://publisher.liveintent.com/idex", - partner: "prebid", - ajaxTimeout: 1000, - liCollectConfig: { - fpiStorageStrategy: "cookie", - fpiExpirationDays: 730, - collectorUrl: "https://rp.liadm.com", - appId: "a-0012" - } - } - }] - } + userSync: { + userIds: [{ + name: "liveIntentId", + params: { + publisherId: "9896876", + distributorId: "did-0123", + identifiersToResolve: ["my-own-cookie"], + requestedAttributesOverrides: { uid2: true, magnite: true, bidswitch: true }, + url: "https://publisher.liveintent.com/idex", + partner: "prebid", + ajaxTimeout: 1000, + liCollectConfig: { + fpiStorageStrategy: "cookie", + fpiExpirationDays: 730, + collectorUrl: "https://rp.liadm.com", + appId: "a-0012" + } + } + }] + } }); ``` From 275ba3a5e183073d6e75c9b6d3a3d640d9f5ff52 Mon Sep 17 00:00:00 2001 From: 3link <34981284+3link@users.noreply.github.com> Date: Thu, 30 Nov 2023 17:04:50 +0100 Subject: [PATCH 18/20] Improve indent pt2 --- .../modules/userid-submodules/liveintent.md | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index b44cbb6816..4da21b95c7 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -52,20 +52,18 @@ For example, the configuration below requests the `nonID` as well as `uid2`, the ```javascript pbjs.setConfig({   userSync: { -    userIds: [ -      { -        name: "liveIntentId", -        params: { -          publisherId: "12432415", -          requestedAttributesOverrides: { -            uid2: true, -            medianet: true, -            bidswitch: true, -            magnite: true -          } +    userIds: [{ +      name: "liveIntentId", +      params: { +        publisherId: "12432415", +        requestedAttributesOverrides: { +          uid2: true, +          medianet: true, +          bidswitch: true, +          magnite: true         }       } -    ] +    }]   } }); ``` From 7e6c145d1e23187f61363eede5bd2da551a91eab Mon Sep 17 00:00:00 2001 From: Emmanuel Adebayo <38572355+adebayoea@users.noreply.github.com> Date: Thu, 30 Nov 2023 17:28:48 +0100 Subject: [PATCH 19/20] added punctuation --- .../modules/userid-submodules/liveintent.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index 4da21b95c7..a042ae0814 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -7,9 +7,9 @@ useridmodule: liveIntentIdSystem LiveIntent offers audience resolution by leveraging its next-generation identity solutions. The LiveIntent identity graph is built around a people-based set of data that is authenticated daily through active engagements with email newsletters and media across the web. -The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. Alongside the `nonID`, LiveIntent's user ID module can resolve multiple other user identifiers called _attributes_ - such as `uid2`, `pubmatic`, and others. See the [Multiple user IDs](#multiple-user-ids) section for more details. +The LiveIntent `nonID` is a user identifier tied to an active, encrypted email in the graph and functions in cookie-challenged environments and browsers. Alongside the `nonID`, LiveIntent's user ID sub-module can resolve multiple other user identifiers called _attributes_ - such as `uid2`, `pubmatic`, and others. See the [Multiple user IDs](#multiple-user-ids) section for more details. -To add the functionality of LiveIntent Identity module to your _Prebid.js_ package, use the following command: +To add the functionality of LiveIntent Identity sub-module to your _Prebid.js_ package, use the following command: ```bash gulp build --modules=userId,liveIntentIdSystem @@ -70,7 +70,7 @@ pbjs.setConfig({ ### Multiple user IDs -The attributes `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. +The attributes `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn`, and `index` are treated specially by LiveIntent's user ID sub-module. Each of these attributes will result in a separate ID returned by the sub-module. For example, in case `uid2` is configured to be requested in addition to the `nonID`, the `request.userId` object would look like the following: @@ -88,13 +88,13 @@ For example, in case `uid2` is configured to be requested in addition to the `no } ``` -NOTE: `uid2` is exposed as part of `lipb` as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index` behave the same way. +NOTE: `uid2` is exposed as part of `lipb` as well as separately as `uid2`. `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn`, and `index` behave the same way. -For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [User ID Module](../userId.md) documentation for more information on conversion, and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. +For the attributes `lipbid` (nonID), `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn`, and `index`, there is also support for their conversion into OpenRTB EIDS format. Please refer to [User ID Module](../userId.md) documentation for more information on conversion, and [Example of eids array generated by UserId Module](https://github.com/prebid/Prebid.js/blob/master/modules/userId/eids.md) for output format examples. ### Request uid2 -An attribute that requires special mention here is `uid2`. If this attribute is resolved by the ID sub-module, it will be exposed in the same format as from the Unified ID 2.0 user ID module. If both the LiveIntent module and the `uid2` module manage to resolve a `uid2`, the one with the highest priority according to the configuration will be used. See the [Prebid multiple identifiers populated by user id sub-module](../userId.md#prebid-multiple-identifiers-populated-by-user-id-submodule) section of the User ID documentation for more information. +An attribute that requires special mention here is `uid2`. If this attribute is resolved by the ID sub-module, it will be exposed in the same format as from the Unified ID 2.0 user ID module. If both the LiveIntent sub-module and the `uid2` module manage to resolve a `uid2`, the one with the highest priority according to the configuration will be used. See the [Prebid multiple identifiers populated by user id sub-module](../userId.md#prebid-multiple-identifiers-populated-by-user-id-submodule) section of the User ID documentation for more information. Enabling this option in addition to the `uid2` module is an easy way to increase your `uid2` resolution rates. The following is an example configuration of `uid2` resolution: @@ -120,18 +120,18 @@ NOTE: For optimal performance, the LiveIntent ID sub-module should be called at {: .table .table-bordered .table-striped } | Param under userSync.userIds[] | Scope | Type | Description | Example | | --- | --- | --- | --- | --- | -| name | Required | String | The name of this module. | `liveIntentId` | +| name | Required | String | The name of this sub-module. | `liveIntentId` | | params | Required | Object | Container of all module params. || | params.publisherId |Optional| String | The unique identifier for each publisher (for existing LiveIntent customers)|`12432415`| -| params.distributorId |Optional| String | The unique identifier for each distributor (for existing LiveIntent customers). Will be ignored if `params.liCollectConfig.appId` is provided. |`did-0123`| +| params.distributorId |Optional| String | The unique identifier for each distributor (for existing LiveIntent customers). It will be ignored if `params.liCollectConfig.appId` is provided. |`did-0123`| | params.ajaxTimeout |Optional| Number |This configuration parameter defines the maximum duration of a call to the `IdentityResolution` endpoint. By default, 5000 milliseconds.|`5000`| | params.partner | Optional| String |The name of the partner whose data will be returned in the response.|`prebid`| | params.identifiersToResolve |Optional| Array[String] |Used to send additional identifiers in the request for LiveIntent to resolve against the LiveIntent ID and additional attributes.|`['my-id']`| -| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to `true` will be added to the resolved list, while attributes set to `false` will be removed. Valid attributes are `nonId`, `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn` and `index`. | `{'uid2': true}` | +| params.requestedAttributesOverrides | Optional | Object | Object containing booleans used to override the default resolution. Attributes set to `true` will be added to the resolved list, while attributes set to `false` will be removed. Valid attributes are `nonId`, `uid2`, `medianet`, `magnite`, `bidswitch`, `pubmatic`, `openx`, `sovrn`, and `index`. | `{'uid2': true}` | | params.emailHash |Optional| String |The hashed email address of a user. We can accept the hashes, which use the following hashing algorithms: md5, sha1, sha2.|`1a79a4d60de6718e8e5b326e338ae533`| | params.url | Optional| String |Use this to change the default endpoint URL if you can call the LiveIntent Identity Exchange within your own domain.|`https://idx.my-domain.com`| | params.liCollectConfig |Optional| Object |Container of all collector params.|| -| params.liCollectConfig.fpiStorageStrategy |Optional| String |This parameter defines whether the first party identifiers that LiveConnect creates and updates are stored in a cookie jar, or in local storage. If nothing is set, default behaviour would be `cookie`. Allowed values: [`cookie`, `ls`, `none`]|`cookie`| +| params.liCollectConfig.fpiStorageStrategy |Optional| String |This parameter defines whether the first-party identifiers that LiveConnect creates and updates are stored in a cookie jar, or in local storage. If nothing is set, default behaviour would be `cookie`. Allowed values: [`cookie`, `ls`, `none`]|`cookie`| | params.liCollectConfig.ajaxTimeout |Optional| Number |This configuration parameter defines the maximum duration of a call to the collector endpoint. By default, 5000 milliseconds.|`5000`| | params.liCollectConfig.fpiExpirationDays |Optional| Number |The expiration time of an identifier created and updated by LiveConnect. By default, 730 days.|`729`| | params.liCollectConfig.collectorUrl |Optional| String |The parameter defines where the signal pixels are pointing to. The params and paths will be defined subsequently. If the parameter is not set, LiveConnect will by default emit the signal towards `https://rp.liadm.com`.| `https://rp.liadm.com`| From c674dc9881b655863a12cb10e841455dd602b0b6 Mon Sep 17 00:00:00 2001 From: Emmanuel Adebayo <38572355+adebayoea@users.noreply.github.com> Date: Mon, 4 Dec 2023 13:29:05 +0100 Subject: [PATCH 20/20] fixed url Co-authored-by: Wiem Zine El Abidine --- dev-docs/modules/userid-submodules/liveintent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-docs/modules/userid-submodules/liveintent.md b/dev-docs/modules/userid-submodules/liveintent.md index a042ae0814..3e7a97dfce 100644 --- a/dev-docs/modules/userid-submodules/liveintent.md +++ b/dev-docs/modules/userid-submodules/liveintent.md @@ -28,7 +28,7 @@ If you're not already a LiveIntent customer, feel free to [reach out](https://ww ## How LiveIntent user ID sub-module works -The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier. LiveIntent builds a model on the backend with data collected through an additional call issued on each page load. In order to provide ID resolution, the sub-module uses one or more first-party cookies. See the [query parameters description](https://github.com/liveintent-berlin/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. +The LiveIntent user ID sub-module resolves the identity of audiences by connecting impression opportunities to a stable identifier. LiveIntent builds a model on the backend with data collected through an additional call issued on each page load. In order to provide ID resolution, the sub-module uses one or more first-party cookies. See the [query parameters description](https://github.com/LiveIntent/live-connect/blob/HEAD/COLLECTOR_PARAMS.md) for more details. The following first-party cookies are supported: