validate_property_delivery
AdCP 3.0 Proposal - This task is under development for AdCP 3.0.
- Property compliance: Did my impressions land on properties in my list?
- Supply path authorization: Was the sales agent authorized to sell that inventory?
Use Cases
- Post-campaign validation: Verify that impressions were delivered to compliant properties
- Supply path verification: Confirm sales agents were authorized by publishers
- Real-time monitoring: Check compliance rate during campaign execution
- Audit trails: Generate compliance reports for regulatory or brand safety reviews
Request
Parameters
Response
Response Fields
Summary Fields
The summary provides raw counts - consumers calculate rates as needed:Validation Statuses
Understanding not_covered vs unidentified
These two statuses distinguish different types of “unknown” scenarios:not_covered - The governance agent recognized the identifier (e.g., it’s a valid domain) but doesn’t have data for that specific property. This happens when:
- A property is too new to be in the agent’s database
- The property exists but hasn’t been evaluated yet
- The agent’s coverage doesn’t include that property category
unidentified - The governance agent couldn’t recognize the identifier at all. This happens when:
- Client-side detection failed to capture the property
- The identifier type isn’t supported (e.g., agent handles domains but received an app ID)
- The identifier value is malformed or invalid
Optional Aggregate Metrics
Governance agents can optionally return computed metrics in theaggregate field:
The
aggregate field is optional and agent-specific. Consumers should not assume a particular format - always check methodology_url for interpretation.
Calculating Your Own Rates
The response always includes raw counts. Calculate rates as needed:- Compliant impressions: 103
- Non-compliant impressions: 47
- not_covered + unidentified impressions: 50 (excluded)
- Compliance rate: 103 / (200 - 50) = 103 / 150 = 68.7%
Violation Codes
Feature Violation Details
When a property fails a feature requirement, the violation includes the feature details:feature_id and requirement fields are optional - they’re included when the violation is due to a feature requirement filter.
Supply Path Authorization
Whensales_agent_url is provided in delivery records, the governance agent validates that the sales agent is authorized to sell the property by checking the publisher’s adagents.json.
Request with Authorization
Response with Authorization
When authorization is validated, each result includes anauthorization field:
Authorization Statuses
Authorization Violation Codes
Two Independent Checks
Property compliance and authorization are independent checks. A record can be:
Both checks use the same “unknown excludes from rate” pattern - you cannot penalize for detection gaps.
Best Practices
Batch Validation
For large-scale validation, batch records up to the 10,000 limit:Sampling Strategy
For real-time monitoring during campaign execution, validate a statistical sample rather than all records:Handling Unknown Records
Track unknown rates separately to identify detection gaps:Related Tasks
- create_property_list - Create the list to validate against
- get_property_list - Retrieve current list membership
- get_adcp_capabilities - Discover available filter features