What kind of change?
Change a field's type or shape
Which section?
5.2 — Inventory composition
Field(s) involved
properties.available[]
Current text
properties.available[] items are { id, name, domains, supported_formats }.
Proposed text
Add an app identity to the property object, and require at least one of domains or apps:
{ id, name,
domains?: [...],
apps?: [{ store: ios | android | roku | fire_tv | samsung_tv | ..., store_id, bundle_id, developer_domain? }],
supported_formats }
Note in the field description that authorisation for app inventory resolves through app-ads.txt (published on the developer domain from the store listing), not through the property's domains.
Why
environments already enumerates app_mobile and ctv, but the only identity a property can carry is a web domain. In-app and CTV-app inventory is identified by store id / bundle id — that is what AdCOM, app-ads.txt, sellers.json and every DSP keying on the bid request use. Without it a buying agent cannot match an app line item to its brand-safety lists, run its app-ads.txt check, or join its own historical performance data, and the downstream OpenRTB app.bundle / Deals API line cannot be pre-filled from the proposal.
Knock-on effects
- §2.1 summary representation lists "property names"; it should list the app identifier too.
- Partly answers open question 7 (
environments[] validation): app_mobile and ctv need app identity to be validatable at all.
Would this break an implementation already built to this draft?
No — additive; domains keeps working for web properties.
Alternatives you considered and rejected
- Putting the bundle id in
content_detail or external_references[]: both are free-form, so buyers could not key on them reliably.
- A separate
app_properties field: splits one concept in two and forces the no-inheritance rule to be restated for each.
Concrete scenario
A CTV line item lists property { id: "weather-app", domains: ["exampleweather.com"] }. The buyer's agent runs its app-ads.txt check against the Roku channel id and has nothing to key on; the same line item, once agreed, cannot be handed to the DSP as an app.bundle deal.
You are commenting as
SSP — an in-app supply-side exchange (mobile + CTV) selling preferred-deal / private-auction / open-market inventory to buyer agents over AAMP and AdCP; we run the seller side of both today.
Before you submit
What kind of change?
Change a field's type or shape
Which section?
5.2 — Inventory composition
Field(s) involved
properties.available[]Current text
properties.available[]items are{ id, name, domains, supported_formats }.Proposed text
Add an app identity to the property object, and require at least one of
domainsorapps:Note in the field description that authorisation for app inventory resolves through
app-ads.txt(published on the developer domain from the store listing), not through the property'sdomains.Why
environmentsalready enumeratesapp_mobileandctv, but the only identity a property can carry is a web domain. In-app and CTV-app inventory is identified by store id / bundle id — that is what AdCOM, app-ads.txt, sellers.json and every DSP keying on the bid request use. Without it a buying agent cannot match an app line item to its brand-safety lists, run its app-ads.txt check, or join its own historical performance data, and the downstream OpenRTBapp.bundle/ Deals API line cannot be pre-filled from the proposal.Knock-on effects
environments[]validation):app_mobileandctvneed app identity to be validatable at all.Would this break an implementation already built to this draft?
No — additive;
domainskeeps working for web properties.Alternatives you considered and rejected
content_detailorexternal_references[]: both are free-form, so buyers could not key on them reliably.app_propertiesfield: splits one concept in two and forces the no-inheritance rule to be restated for each.Concrete scenario
A CTV line item lists property
{ id: "weather-app", domains: ["exampleweather.com"] }. The buyer's agent runs its app-ads.txt check against the Roku channel id and has nothing to key on; the same line item, once agreed, cannot be handed to the DSP as anapp.bundledeal.You are commenting as
SSP — an in-app supply-side exchange (mobile + CTV) selling preferred-deal / private-auction / open-market inventory to buyer agents over AAMP and AdCP; we run the seller side of both today.
Before you submit