Submits AI performance feedback for a media buy. The performance data is stored and made available to the ad server adapter and any signals agents configured for the tenant. Signals inform optimization decisions like pacing adjustments, creative rotation, and budget reallocation.
Category: Performance Authentication: Required
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
media_buy_id |
str |
Yes | – | The media buy to associate performance data with. |
performance_data |
list[dict] or None |
No | None |
List of performance signal objects. |
The schema is flexible to support different signals agents. Common fields:
| Field | Type | Description |
|---|---|---|
signal_type |
str |
Type of signal (e.g., brand_lift, attention, sentiment, conversion_propensity). |
value |
float |
Numeric signal value. |
confidence |
float |
Confidence score (0.0 - 1.0). |
timestamp |
str (ISO 8601) |
When the signal was measured. |
dimensions |
dict or None |
Breakdown dimensions (e.g., {"creative_id": "cr_001", "geo": "US-NY"}). |
metadata |
dict or None |
Additional context. |
| Field | Type | Description |
|---|---|---|
media_buy_id |
str |
Echo of the media buy ID. |
signals_accepted |
int |
Signals successfully ingested. |
signals_rejected |
int |
Signals rejected. |
errors |
list[str] |
Details for rejected signals. |
| Error | Cause |
|---|---|
AdCPNotFoundError (404) |
Media buy does not exist or is not owned by the caller. |
AdCPAuthorizationError (403) |
Principal not authorized for this media buy. |
AdCPValidationError (400) |
Invalid performance_data entries. |
Request:
{
"media_buy_id": "mb_a1b2c3d4",
"performance_data": [
{
"signal_type": "brand_lift",
"value": 0.12,
"confidence": 0.85,
"timestamp": "2025-04-10T00:00:00Z",
"dimensions": {"creative_id": "cr_video_001"},
"metadata": {"survey_sample_size": 500, "metric": "ad_recall"}
},
{
"signal_type": "attention",
"value": 7.3,
"confidence": 0.92,
"timestamp": "2025-04-10T14:00:00Z",
"dimensions": {"creative_id": "cr_video_001"},
"metadata": {"unit": "attention_seconds"}
}
]
}
Response:
{
"media_buy_id": "mb_a1b2c3d4",
"signals_accepted": 2,
"signals_rejected": 0,
"errors": []
}