-
Notifications
You must be signed in to change notification settings - Fork 52
RFC: standard ad-tech targeting dimensions (os, browser, media_type, custom, key_value_pairs) #4239
Copy link
Copy link
Open
Labels
claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.Issue has been triaged by the Claude Code triage routine. Remove to re-triage.media-buyIssue concerns the media-buy protocol domainIssue concerns the media-buy protocol domainneeds-wg-reviewBlocked on a working-group decision — surface in WG meeting agendasBlocked on a working-group decision — surface in WG meeting agendasrfcProtocol change — auto-adds to roadmap boardProtocol change — auto-adds to roadmap boardschemaJSON Schema source-of-truth: definitions, codegen artifacts, validation, hygieneJSON Schema source-of-truth: definitions, codegen artifacts, validation, hygiene
Metadata
Metadata
Assignees
Labels
claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.Issue has been triaged by the Claude Code triage routine. Remove to re-triage.media-buyIssue concerns the media-buy protocol domainIssue concerns the media-buy protocol domainneeds-wg-reviewBlocked on a working-group decision — surface in WG meeting agendasBlocked on a working-group decision — surface in WG meeting agendasrfcProtocol change — auto-adds to roadmap boardProtocol change — auto-adds to roadmap boardschemaJSON Schema source-of-truth: definitions, codegen artifacts, validation, hygieneJSON Schema source-of-truth: definitions, codegen artifacts, validation, hygiene
Type
Projects
Status
No status
Background
Every major ad server (GAM, Kevel, Xandr, Triton, FreeWheel) supports five targeting dimensions that AdCP
TargetingOverlaydoes not yet expose. Adopters carry these as local extensions on their internal targeting class, which means spec-conformant buyer agents cannot use them — defeating the point of having them.device_type/device_type_excludealready landed as the precedent. This RFC bundles five sibling dimensions into one proposal modeled on it.Proposed additions to
TargetingOverlayos/os_excludelist[str]device_platform.browser/browser_excludelist[str]media_type/media_type_excludelist[str]customdict[str, list[str]]customTargetingparity.key_value_pairsdict[str, str]'key_value'as anActivationKey.typeliteral in signals — concept is recognized.Use case (real)
salesagent (Prebid AdCP reference implementation) carries all five locally. Filed as part of stale-annotation cleanup PR bokelley/salesagent#208 — the migration path is to use
ext.salesagent.<field>until this lands, then move to spec.Open questions
customshape — flat dict vs. nested? The dict-of-list shape covers the common "key in (a, b, c)" predicate; richer expressions could go through a future signals path.key_value_pairsaccess control — should it be marked managed-only onTargetingOverlay(e.g., overlay vs. server-only) or always-overlay?Filing as RFC. Happy to iterate.