Get performance report

Call this endpoint to retrieve performance analytics and metrics for affiliate campaigns. This endpoint returns aggregated performance data including clicks, impressions, , orders (last-touch, 14-day), GMV (last-touch, 14-day). conversions, and revenue metrics within a specified date range. Data can be aggregated at different levels based on the performanceBy parameter. For more details about the prerequisites and how to use API, refer to Walmart Sales Rewards and Attribution.

Aggregation Levels

  • CAMPAIGN: Metrics aggregated at campaign level
  • ADGROUP: Metrics aggregated at ad group level (includes campaign data)
  • CREATIVE (default): Metrics aggregated at creative/link level (includes campaign and ad group data)

Supported Filters

  • campaignId: Filter by specific campaign IDs
  • adGroupId (default): Filter by specific ad group IDs
  • creativeId: Filter by specific creative IDs

Date Range

  • Maximum date range: 90 days
  • Data available for the last 12 months

This page describes an example using only the required parameters and inputs to retrieve sales rewards performance report. For a full list of customization options and additional capabilities, refer to the Marketplace Attribution Reports API Reference.

Endpoint

POST https://marketplace.walmartapis.com/v3/advertising/wsr/attribution/performance-report

Retrieve performance report by campaign

This section demonstrates how to retrieve an attribution performance report aggregated by the specified CAMPAIGN level for a given date range, with optional filters, sorting, and pagination.

Sample request

curl -X POST "https://marketplace.walmartapis.com/v3/advertising/wsr/attribution/performance-report" \ -H "WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6" \ -H "WM_MARKET: US" \ -H "WM_SVC.NAME: Walmart Marketplace" \ -H "WM_SEC.ACCESS_TOKEN: eyJraWQiOi......" \ -H "WM_GLOBAL_VERSION: 3.1" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "performanceBy": "CAMPAIGN", "endDate": "2025-10-31", "filters": [ { "field": "campaignId", "values": [ "987654321" ] } ], "page": { "limit": 10, "offset": 0 }, "sort": { "field": "gmv", "order": "DESC" }, "startDate": "2025-10-01"
}'
import requests url = "https://marketplace.walmartapis.com/v3/advertising/wsr/attribution/performance-report" headers = { "WM_QOS.CORRELATION_ID": "b3261d2d-028a-4ef7-8602-633c23200af6", "WM_MARKET": "US", "WM_SVC.NAME": "Walmart Marketplace", "WM_SEC.ACCESS_TOKEN": "eyJraWQiOi......", "WM_GLOBAL_VERSION": "3.1", "Accept": "application/json", "Content-Type": "application/json"
} payload = { "performanceBy": "CAMPAIGN", "startDate": "2025-10-01", "endDate": "2025-10-31", "filters": [ { "field": "campaignId", "values": ["987654321"] } ], "page": { "limit": 10, "offset": 0 }, "sort": { "field": "gmv", "order": "DESC" }
} response = requests.post(url, headers=headers, json=payload) print(response.status_code)
print(response.json())

Modify your code

  • Use a unique WM_QOS.CORRELATION_ID for each request.
  • Replace WM_SEC.ACCESS_TOKEN with your valid access token obtained through authentication.

Sample response

The sample response lists details with the relevant identifiers, aggregation date, and metrics such as clicks, orders, GMV, and commissions.

{ "data": [ { "adGroupId": "null", "campaignId": "1234567890", "creativeId": "null", "metrics": { "clicks": 250, "gmv": 4000, "orders": 50, "otherCommission": 40, "wsrCommission": 360 } } ], "pagination": { "pageNo": 1, "pageSize": 10, "totalCount": 45, "totalPages": 5 }
}

Result

This call returns a 200 OK with a JSON body containing pagination and a data array. Each item includes the relevant identifier(s) based on performanceBy and metrics.

Rate limits

If you submit too many feeds in a short period of time, you may exceed Walmart’s rate limits and receive HTTP 429 (Too Many Requests) responses. For more details on throttling and best practices, refer to the Rate Limiting Guide.