Skip to content

Auction bidstream decoration #543

@aram356

Description

@aram356

Parent epic

#532

Description

Inject EC identity data into outbound OpenRTB bid requests for publishers with bidstream_enabled = true partners.

Scope: Auction handler (Mode B path in existing auction code)

Acceptance criteria

  • user.id set to ec_context.ec_value when EC present and consent granted. No fallback — when no EC, user.id is omitted.
  • user.eids populated with one entry per bidstream_enabled partner with a synced UID, using partner.source_domain and partner.openrtb_atype.
  • user.consent set to ec_context.consent.raw_tc_string when present.
  • No EID entry for partners with no synced UID.
  • KV read failure → user.eids omitted (empty); user.id still set from EC; auction proceeds (no 5xx).
  • No EC present → user.id omitted; user.eids empty. Auction still runs.
  • X-Synthetic-* headers not present (removed in PR Rename Synthetic ID to Edge Cookie (EC) and simplify generation #479). Only X-ts-ec set.
  • Schema changes: UserInfo.ec_value, Eid/EidUid types, user.eids, user.consent in OpenRTB, remove synthetic fields.
  • Unit tests cover EID structure, consent string threading, KV-degraded path, no-EC path.

Spec ref

docs/internal/ssc_technical_spec.md §12

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions