Skip to main content
This endpoint enables Retail Media DSP partners to retrieve a transaction-level log of every purchase event attributed to their campaigns. Each row represents a single attributed transaction and captures the product advertised, the product purchased, the attribution rule applied, and the time elapsed between ad delivery and purchase.
This is not a performance report. Aggregated metrics — impressions, clicks, spend, attributed sales totals — are not available here. Use POST /reports/performance for those.
Primary audience: Data scientists and analysts auditing attribution methodology, understanding cross-sell and halo effects, or analyzing purchase behavior at the transaction level. Not a day-to-day campaign monitoring workflow. The endpoint supports asynchronous report generation. Submit a request, poll for status, and download the output when ready.

Request

POST /2026-07/retail-media/reports/attributed-transactions

Required fields

Exactly one of campaignId or lineItemId must be provided.
FieldTypeDescription
campaignIdstringReturn attributed transactions for all line items under this campaign. Mutually exclusive with lineItemId.
lineItemIdstringReturn attributed transactions for this line item. Mutually exclusive with campaignId.

Optional fields

FieldTypeDescription
startDatestringStart of the reporting period. ISO 8601 date (YYYY-MM-DD). Based on ad delivery date (advDate).
endDatestringEnd of the reporting period. ISO 8601 date (YYYY-MM-DD).
timezonestringTimezone for date fields. IANA format (e.g. America/New_York). Defaults to UTC.
attributionWindowstringLookback window for attribution. Format: C{days}V{days} (e.g. C14V07 = 14-day click, 7-day view). Defaults to the line item’s attribution window setting.

Example request

POST /2026-07/retail-media/reports/attributed-transactions
Authorization: Bearer {token}
Content-Type: application/json

{
  "data": {
    "type": "RetailMediaReportRequest",
    "attributes": {
      "campaignId": "123456",
      "startDate": "2026-05-01",
      "endDate": "2026-05-07"
    }
  }
}

Response

A successful request returns 202 Accepted with a reportId. Poll for status until status is success or failure:
GET /2026-07/retail-media/reports/{reportId}/status
Authorization: Bearer {token}
Download the output when status is success:
GET /2026-07/retail-media/reports/{reportId}/output
Authorization: Bearer {token}
Each row in the report output represents one attributed purchase event.

Response schema

Ad delivery fields

FieldTypeDescriptionExample
advDatestringDate the ad was delivered.2026-05-03
advHourintegerHour the ad was delivered (0–23).14
advEngagementstringType of engagement that triggered attribution: imp (impression) or click.click

Attribution fields

FieldTypeDescriptionExample
attributionWindowstringLookback window applied to this transaction. Format: C{days}V{days}.C14V07
daysDifferenceintegerDays between ad delivery and the attributed purchase.2
advToPurchasedProductRelationshipstringAttribution rule that connected the ad to the purchase: same sku, same parent sku, same taxonomy, same brand, same seller.same brand

Advertised product fields

FieldTypeDescription
advProductIdstringID of the product that was advertised. References the Catalogs product ID.
advProductNamestringName of the advertised product.
advProductCategorystringCategory of the advertised product. Standardized categories.
advProductGtinstringGTIN/EAN/UPC of the advertised product, if available.
advProductMpnstringManufacturer Part Number of the advertised product, if available.

Purchased product fields

FieldTypeDescription
purchasedDatestringDate the attributed purchase occurred.
purchasedHourintegerHour the attributed purchase occurred (0–23).
purchasedProductIdstringID of the product that was purchased.
purchasedProductNamestringName of the purchased product.
purchasedProductCategorystringCategory of the purchased product. Standardized categories.
purchasedProductGtinstringGTIN/EAN/UPC of the purchased product, if available.
purchasedProductMpnstringManufacturer Part Number of the purchased product, if available.

Attribution result fields

FieldTypeDescriptionExample
attributedSalesnumberRevenue attributed to this transaction in the account’s reporting currency.8.68
attributedUnitsintegerUnits sold in this attributed transaction.1
salesChannelstringChannel through which the purchase was made: online or offline.online

Context fields

FieldTypeDescription
campaignIdstringCampaign ID.
campaignNamestringCampaign name.
lineItemIdstringLine item ID.
lineItemNamestringLine item name.
retailerNamestringRetailer where the line item served.
pageTypeNamestringType of retailer page where the ad rendered: home, search, productDetail, category, confirmation, checkout, merchandising, deals.
keywordstringKeyword on the search page where the ad rendered, if applicable.
activitySellerIdstringID of the seller responsible for the advertising event.
activitySellerNamestringName of the seller responsible for the advertising event.
saleSellerIdstringID of the seller responsible for the sale.
saleSellerNamestringName of the seller responsible for the sale.

Understanding the advertised vs. purchased product fields

The advertised product (advProduct*) and purchased product (purchasedProduct*) are often the same — but not always. When the attribution rule is same brand, same taxonomy, or same seller, the ad may have driven a purchase of a related product rather than the exact item advertised. Example: An ad for a camping jacket is served. The shopper purchases a different jacket from the same brand. The row will show:
  • advProductId: the advertised jacket
  • purchasedProductId: the purchased jacket
  • advToPurchasedProductRelationship: same brand
This bilateral product structure makes this endpoint useful for cross-sell and halo analysis — you can see exactly which advertised products drove purchases of which other products, and under which attribution rule.

Migrating from reportType: attributedTransactions

Replace your existing call on /reports/campaigns or /reports/line-items with a call to this endpoint. The response schema is unchanged. Endpoint change:
POST /reports/campaigns   →   POST /reports/attributed-transactions
POST /reports/line-items  →   POST /reports/attributed-transactions
Remove the reportType: attributedTransactions field from your request body — it is not accepted on this endpoint. All other request parameters remain the same.