From 6c22e8de70cc3260c33992bc58c8eb8d61dbed90 Mon Sep 17 00:00:00 2001 From: illiamilshtein Date: Thu, 26 Mar 2026 12:07:10 +0200 Subject: [PATCH 1/5] Docs: Add build instructions and module details to Start.io ID system documentation --- modules/startioIdSystem.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/modules/startioIdSystem.md b/modules/startioIdSystem.md index 5c3de1bf96..325f0154c1 100644 --- a/modules/startioIdSystem.md +++ b/modules/startioIdSystem.md @@ -4,6 +4,36 @@ The Start.io User ID submodule generates and persists a unique user identifier b For integration support, contact prebid@start.io. +## Build + +To build Prebid.js with the Start.io User ID submodule and bid adapter, include the following modules: + +```bash +gulp build --modules=startioBidAdapter,userId,startioIdSystem +``` + +For production environments with consent management: + +```bash +gulp build --modules=startioBidAdapter,userId,startioIdSystem,consentManagementTcf,consentManagementGpp,consentManagementUsp +``` + +### Required Modules + +| Module | Description | +| --- | --- | +| `startioBidAdapter` | Start.io bid adapter | +| `startioIdSystem` | Start.io User ID submodule | +| `userId` | Core User ID module (required by `startioIdSystem`) | + +### Optional Modules + +| Module | Description | +| --- | --- | +| `consentManagementTcf` | TCF/GDPR consent management (recommended for EU traffic) | +| `consentManagementGpp` | GPP consent management | +| `consentManagementUsp` | US Privacy/CCPA consent management (recommended for US traffic) | + ### Prebid Params Enabling User Sync To enable iframe-based user syncing for Start.io, include the `filterSettings` configuration in your `userSync` setup: From 23d11573ed3737b7153018b596068dbfd499a426 Mon Sep 17 00:00:00 2001 From: illiamilshtein Date: Thu, 26 Mar 2026 13:43:20 +0200 Subject: [PATCH 2/5] Docs: Simplify build instructions and module details in Start.io ID system documentation --- modules/startioIdSystem.md | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/modules/startioIdSystem.md b/modules/startioIdSystem.md index 325f0154c1..b41f8629f8 100644 --- a/modules/startioIdSystem.md +++ b/modules/startioIdSystem.md @@ -8,32 +8,10 @@ For integration support, contact prebid@start.io. To build Prebid.js with the Start.io User ID submodule and bid adapter, include the following modules: -```bash -gulp build --modules=startioBidAdapter,userId,startioIdSystem -``` - -For production environments with consent management: - ```bash gulp build --modules=startioBidAdapter,userId,startioIdSystem,consentManagementTcf,consentManagementGpp,consentManagementUsp ``` -### Required Modules - -| Module | Description | -| --- | --- | -| `startioBidAdapter` | Start.io bid adapter | -| `startioIdSystem` | Start.io User ID submodule | -| `userId` | Core User ID module (required by `startioIdSystem`) | - -### Optional Modules - -| Module | Description | -| --- | --- | -| `consentManagementTcf` | TCF/GDPR consent management (recommended for EU traffic) | -| `consentManagementGpp` | GPP consent management | -| `consentManagementUsp` | US Privacy/CCPA consent management (recommended for US traffic) | - ### Prebid Params Enabling User Sync To enable iframe-based user syncing for Start.io, include the `filterSettings` configuration in your `userSync` setup: From 9b5e2e71e011d455ea4e7c48a388c0913a63d9ed Mon Sep 17 00:00:00 2001 From: illiamilshtein Date: Thu, 26 Mar 2026 14:55:52 +0200 Subject: [PATCH 3/5] Docs: Add build instructions for Start.io Bid Adapter in documentation --- modules/startioBidAdapter.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/startioBidAdapter.md b/modules/startioBidAdapter.md index b727acd319..965a8bfaee 100644 --- a/modules/startioBidAdapter.md +++ b/modules/startioBidAdapter.md @@ -10,6 +10,14 @@ Maintainer: prebid@start.io The Start.io Bid Adapter enables publishers to integrate with Start.io's demand sources for banner, video and native ad formats. The adapter supports OpenRTB standards and processes bid requests efficiently using the Prebid.js framework. +# Build + +To build Prebid.js with the Start.io User ID submodule and bid adapter, include the following modules: + +```bash +gulp build --modules=startioBidAdapter,userId,startioIdSystem,consentManagementTcf,consentManagementGpp,consentManagementUsp +``` + # Test Parameters ``` var adUnits = [ From 2c36216c993e46eb81be5f0546241c83dfec5e1c Mon Sep 17 00:00:00 2001 From: illiamilshtein Date: Thu, 26 Mar 2026 14:56:13 +0200 Subject: [PATCH 4/5] Enhance: Set `buyeruid` using Start.io eids in Start.io Bid Adapter and add tests --- modules/startioBidAdapter.js | 5 +++ test/spec/modules/startioBidAdapter_spec.js | 35 +++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/modules/startioBidAdapter.js b/modules/startioBidAdapter.js index e5a24ea086..55699cb092 100644 --- a/modules/startioBidAdapter.js +++ b/modules/startioBidAdapter.js @@ -51,6 +51,11 @@ const converter = ortbConverter({ request.regs.ext.us_privacy = bidderRequest.uspConsent; } + const startioEid = request.user?.ext?.eids?.find(eid => eid.source === 'start.io'); + if (startioEid?.uids?.[0]?.id) { + request.user.buyeruid = startioEid.uids[0].id; + } + request.bcat = ortb?.bcat || bidParams?.bcat; request.badv = ortb?.badv || bidParams?.badv; request.bapp = ortb?.bapp || bidParams?.bapp; diff --git a/test/spec/modules/startioBidAdapter_spec.js b/test/spec/modules/startioBidAdapter_spec.js index 1541007cc7..59de436848 100644 --- a/test/spec/modules/startioBidAdapter_spec.js +++ b/test/spec/modules/startioBidAdapter_spec.js @@ -259,6 +259,41 @@ describe('Prebid Adapter: Startio', function () { expect(request.regs.coppa).to.equal(1); }); + it('should set buyeruid from start.io eid', function () { + let bidderRequest = deepClone(DEFAULT_BIDDER_REQUEST); + bidderRequest.ortb2 = { + user: { + ext: { + eids: [ + { source: 'start.io', uids: [{ id: 'test-startio-id', atype: 1 }] } + ] + } + } + }; + + const request = spec.buildRequests([DEFAULT_REQUEST_DATA], bidderRequest)[0].data; + + expect(request.user).to.exist; + expect(request.user.buyeruid).to.equal('test-startio-id'); + }); + + it('should not set buyeruid when start.io eid is absent', function () { + let bidderRequest = deepClone(DEFAULT_BIDDER_REQUEST); + bidderRequest.ortb2 = { + user: { + ext: { + eids: [ + { source: 'other.com', uids: [{ id: 'other-id', atype: 1 }] } + ] + } + } + }; + + const request = spec.buildRequests([DEFAULT_REQUEST_DATA], bidderRequest)[0].data; + + expect(request.user?.buyeruid).to.not.exist; + }); + it('should provide blocked parameters', function () { let bidRequest = deepClone(DEFAULT_REQUEST_DATA); let bidderRequest = deepClone(DEFAULT_BIDDER_REQUEST); From beb89c3f0d504a9b57d8bd283edab031ca00adfb Mon Sep 17 00:00:00 2001 From: Illia Date: Thu, 26 Mar 2026 16:28:54 +0200 Subject: [PATCH 5/5] Update modules/startioBidAdapter.md Co-authored-by: Matan Arbel --- modules/startioBidAdapter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/startioBidAdapter.md b/modules/startioBidAdapter.md index 965a8bfaee..1030999868 100644 --- a/modules/startioBidAdapter.md +++ b/modules/startioBidAdapter.md @@ -15,7 +15,7 @@ The Start.io Bid Adapter enables publishers to integrate with Start.io's demand To build Prebid.js with the Start.io User ID submodule and bid adapter, include the following modules: ```bash -gulp build --modules=startioBidAdapter,userId,startioIdSystem,consentManagementTcf,consentManagementGpp,consentManagementUsp +gulp build --modules=startioBidAdapter,userId,startioIdSystem,consentManagementTcf,consentManagementGpp,consentManagementUsp,... ``` # Test Parameters