Skip to content

Ignore-list filter for ad slots in an auction #960

Description

@aram356

Summary

Add the ability to filter which ad slots run in an auction via an ignore list. The auction should run against all matched slots except those on a configurable ignore list.

Allocating a 1x1 pixel slot as an Interstitial is one concrete example of the kind of slot handling this enables — but the primary ask is the general ad slot ignore-list filtering capability.

Motivation

Today the auction runs against whatever slots are matched for the page, with no way to exclude specific slots. We need an ignore list so operators can drop chosen ad slots from an auction without removing them from the page/config.

Example use case (illustrative): a slot declared with a 1x1 sentinel size should be allocated/treated as an Interstitial placement (e.g. for the example publisher). This is one thing slot-level filtering makes possible; the feature is the ignore list itself.

Current behavior (context)

Proposed behavior

  1. Ad slot ignore list (primary) — an auction runs against all matched slots except those on a configurable ignore list; ignored slots are dropped from the AuctionRequest.
  2. Interstitial allocation (example of slot handling) — as an illustrative case, a 1x1-sized slot can be allocated/classified as an Interstitial placement.

Open questions

  • What is the ignore list keyed on — slot IDs, size, media type, or a mix?
  • Where does the ignore list live — config ([[creative_opportunities.slot]] / a new [creative_opportunities] key), the incoming tsjs request, or the orchestrator?
  • Should the ignore list apply to both builders (convert_tsjs_to_auction_request and build_auction_request), or just one path?
  • For the interstitial example: is "Interstitial" a new MediaType, a slot-type field, or purely a 1x1-size convention?

Acceptance criteria

  • An auction excludes ad slots on a configurable ignore list.
  • Ignore-list filtering is covered by tests.
  • Example: a 1x1 slot can be allocated as an Interstitial.

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