Skip to content

RFC: sort/limit negotiation for automatic breakdowns (creative, keyword, catalog_item) #6623

Description

@bokelley

Problem

reporting_dimensions gives buyers limit + sort_by (+ sort_direction per #6622) on the negotiated breakdown dimensions (geo, device_type, device_platform, audience, demographic, placement, format per #6616). But three breakdowns — by_creative, by_keyword, by_catalog_item — are returned automatically when the seller supports them and are not controlled by this object (request schema's own words). They have no limit, no sort_by, and no by_X_truncated disclosure.

Consequence: "top creatives by completion" — arguably the single most common buyer reporting question — is only answerable if the seller happens to return all creative rows. A seller with 500 creatives that returns 50 rows has no way to say which 50 or whether the list is complete, and the buyer has no way to ask for the top 50 by quartile_100 (sortable as of #6618).

Proposed direction

Add optional creative, keyword, catalog_item keys to reporting_dimensions with the standard {limit, sort_by, sort_direction} shape, plus by_creative_truncated / by_keyword_truncated / by_catalog_item_truncated and the applied-sort echo per the #6622 pattern.

The design wrinkle that makes this an RFC rather than a rider: these breakdowns are automatic today, so the semantics of omitting the new request key must stay "seller returns what it returns" (backward compatible), while presence upgrades the contract to negotiated limit/sort/truncation-disclosure. That presence/absence dual contract is new — every existing dimension is opt-in from scratch.

Relationship

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.creativemedia-buyIssue concerns the media-buy protocol domainneeds-wg-reviewBlocked on a working-group decision — surface in WG meeting agendasrfcProtocol change — auto-adds to roadmap board

    Type

    No type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions