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 levelADGROUP: 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 IDsadGroupId(default): Filter by specific ad group IDscreativeId: 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_IDfor each request. - Replace
WM_SEC.ACCESS_TOKENwith 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.
Updated about 9 hours ago
