Floxis Bid Adapter (backport kit): add first-party fallback id at user.ext.floxisId#2
Merged
floxis-admin merged 1 commit intoJul 2, 2026
Conversation
…r.ext.floxisId Ports 9ee83dd from floxis-adapter-first-party-id to the backport kit for Prebid 8.52-10.29. Same logic: getStorageManager + generateUUID from old-core paths; getOrCreateFloxisId with localStorage-first / cookie fallback; mergeDeep into user.ext.floxisId if not already set by FPD. getStorageManager({bidderCode}) API is identical on 8.52.2-10.29.1 cores (verified). Tested on Prebid 8.52.2 + node 20: 106 tests passed (second karma run), 0 failed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ports the first-party fallback id feature (
9ee83ddaefromfloxis-adapter-first-party-id) into the backport kit for old-wrapper publishers running Prebid.js 8.52–10.29 (G4G and similar).Same mechanism: the adapter mints a random v4 UUID in the publisher's page context (localStorage + cookie, scoped to the publisher's origin) and places it at
user.ext.floxisIdwhen no id is already present via ortb2 FPD. Degrades to a no-op when storage access is disallowed (consent,deviceAccess, orbidderSettings.floxis.storageAllowednot set).Old-core API compatibility
getStorageManager({ bidderCode })andgenerateUUIDwere verified against old-core sources (commitfbb71ad1c, circa Prebid 7.x) — both APIs are identical across 8.52.2–10.29.1. No adaptation was needed; the{moduleType:'bidder', moduleName}verbose form is NOT required.Build + test (Prebid 8.52.2, node 20)
Karma results (second run — definitive per kit docs):
Changes
floxis-backport-kit/modules/floxisBidAdapter.js—getStorageManager,getOrCreateFloxisId, andmergeDeep(req,{user:{ext:{floxisId}}})in the ortbConverter request hookfloxis-backport-kit/modules/floxisBidAdapter.md— First-Party Fallback Id section (mirrors main adapter)floxis-backport-kit/test/spec/modules/floxisBidAdapter_spec.js— 8 new cases (identical to main spec): mint/reuse/localStorage-fallback/malformed-regenerate/no-storage/throw-guard/FPD-coexist/no-overwritefloxis-backport-kit/INTEGRATION.md— new Section 5: "Enable first-party fallback id" documenting thestorageAllowed: trueopt-in, storage scope, and backend priority🤖 Generated with Claude Code