POST /api/v2/buyer/advertisers/{advertiserId}/measurement-data/sync
Advertisers or MMPs call this to provide performance data instead of the Conversion API. Accepts time-series measurement points keyed by campaign, media buy, package, and/or creative. Up to 1,000 measurements per call; deduplicates on external_row_id.
Request
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
measurements | array | Yes | 1–1000 measurement points |
measurements[].start_time | string | Yes | ISO 8601 with timezone offset |
measurements[].end_time | string | Yes | ISO 8601 with timezone offset |
measurements[].metric_id | enum | Yes | revenue, incremental_revenue, conversions, incremental_conversions, page_view_count, add_to_cart_count, purchase_count, ltv_1d, ltv_7d, ltv_30d |
measurements[].metric_value | number | Yes | Measured value |
measurements[].unit | enum | Yes | currency, count, ratio, percentage |
measurements[].currency | string | Conditional | ISO 4217 (^[A-Z]{3}$). Required when unit is currency |
measurements[].campaign_id | string | No | Attach to a campaign (max 255) |
measurements[].media_buy_id | string | No | Attach to a media buy (max 255) |
measurements[].package_id | string | No | Attach to a package (max 255) |
measurements[].creative_id | string | No | Attach to a creative (max 255) |
measurements[].source | enum | No | advertiser, mmp, measurement_partner |
measurements[].source_platform | string | No | Originating platform (max 255) |
measurements[].source_metric_name | string | No | Raw partner metric name (max 255) |
measurements[].external_row_id | string | No | Idempotency key for re-syncs (max 255) |
Response
index in the request array and an action of created, updated, unchanged, or failed. Failed rows include an error string.
Errors
400 VALIDATION_ERROR— missing required field,start_timenot beforeend_time, missingcurrencywhenunitiscurrency, or more than 1,000 measurements.
Related
Measurement tasks
All measurement operations
Measurement overview
Pipeline, belief state, and concepts
Upload measurement records
Batch per-geo outcome records
Get measurement freshness
Confirm data is arriving