GET /api/v2/storefront/reporting/metrics
Returns reporting metrics for every media buy the Merchandising Agent participates in through your storefront’s inventory sources. The storefront does not own these media buys — reporting is visible because the Merchandising Agent is the ADCP party to the transactions. The hierarchy is advertiser → media buy → package; there is no campaign level.
Request
curl
Parameters
Response
The example below uses illustrative, non-zero
conversionValue, cpa, and
roas values to show the response shape. See the note below the field table
for how these fields behave when a seller has not reported conversion data.metrics carries raw counts (impressions, spend, clicks, views, completedViews, conversions, leads, videoCompletions, conversionValue) and calculated rates (ecpm, cpc, ctr, completionRate, cpa, roas, each nullable when undefined). conversionValue is the seller-reported revenue from conversions, always net (this surface never applies a buyer fee). cpa (spend / conversions) is null when there are no conversions. roas (conversionValue / spend) is null when spend is zero, or when there is no conversion signal at all — zero conversions and zero attributed value; it reports a true 0 only when conversions are real but their attributed value is zero.
For view=timeseries, every row includes inventorySourceIds, the sorted,
distinct source IDs carried by the delivery facts aggregated into that row.
The existing inventorySourceId remains the deterministic legacy source. With
sourceBreakdown=true, each row is source-grained, so inventorySourceId is
the contributing source and inventorySourceIds contains that same single ID.
These fields depend on the seller reporting conversion data. Where a seller reports none, conversionValue is 0 and cpa and roas are null.
Errors
400 VALIDATION_ERROR— malformed date, ordaysoutside1–90.401 UNAUTHORIZED— missing or invalid API key.
Related
Activity tasks
All activity operations
Inventory sources
Scope reporting by source
List activity
Configuration audit feed