Skip to content

Floxis Bid Adapter: add first-party fallback id at user.ext.floxisId#1

Closed
floxis-admin wants to merge 1 commit into
floxis-adapter-body-ext-syncfrom
floxis-adapter-first-party-id
Closed

Floxis Bid Adapter: add first-party fallback id at user.ext.floxisId#1
floxis-admin wants to merge 1 commit into
floxis-adapter-body-ext-syncfrom
floxis-adapter-first-party-id

Conversation

@floxis-admin

Copy link
Copy Markdown
Owner

Summary

Mints a first-party UUID in the publisher's page context (localStorage + cookie, ~30 days) as an identity-of-last-resort for cookieless browsers where the third-party __fxId cookie is blocked. The id is placed at user.ext.floxisId in the OpenRTB request.

  • Additive only: injected via mergeDeep; never overwrites an existing user.ext.floxisId from ortb2 FPD
  • Storage-gated: uses getStorageManager through Prebid's storageManager, respecting deviceAccess config and GDPR purpose-1 consent under gvlid 1609
  • Publisher opt-in required: pbjs.bidderSettings = { floxis: { storageAllowed: true } } — without it, no id is generated (safe no-op)
  • Backend priority: backend applies processedCookieUserId (__fxId) .orElse(clientFloxisId) — unchanged behavior when the third-party cookie is present

Changes

  • modules/floxisBidAdapter.jsgetStorageManager, getOrCreateFloxisId, and mergeDeep(req, {user:{ext:{floxisId}}}) in the ortbConverter request hook
  • modules/floxisBidAdapter.md — First-Party Fallback Id section documenting storage scope, backend priority, consent, and publisher opt-in
  • test/spec/modules/floxisBidAdapter_spec.js — 8 new cases: mint/reuse/localStorage-fallback/malformed-regenerate/no-storage/throw-guard/FPD-coexist/no-overwrite

🤖 Generated with Claude Code

Mints a first-party UUID in the publisher's page context (localStorage + cookie, ~30d) as an identity-of-last-resort for cookieless browsers where the third-party __fxId cookie is blocked. Additive via mergeDeep; never overwrites an existing user.ext.floxisId; degrades to a safe no-op when storage access is disallowed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Claude-Session: https://claude.ai/code/session_01LroYxzKYQwfC21pPcUNhjn
@floxis-admin

Copy link
Copy Markdown
Owner Author

Superseded by the upstream PR to prebid/Prebid.js — this change belongs upstream, not fork-internal. See prebid#15295

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant