Get Campaign-level performance report
Use the Campaigns Performance Report API to retrieve comprehensive performance metrics for all your SEM campaigns in a paginated and sorted format. You can specify the maximum number of campaigns to return, the sorting order, and the filtering criteria, such as the field by which to filter the results. The detailed summary allows you to analyze key performance metrics based on specified filtering and sorting criteria.
Throttling
Request limits: 10 calls per minute per seller. You may receive an HTTP 429 error if you exceed this limit.
Endpoint
POST /v3/advertising/sem/campaigns/performance-summary
Sample request
curl --location 'https://marketplace.walmartapis.com/v3/advertising/sem/campaigns/performance-summary' \
--header 'WM_SVC.NAME: Search Engine Marketing' \
--header 'WM_QOS.CORRELATION_ID: 49373061-ec28-4b2f-8e5d-87c139d605b9' \
--header 'WM_SEC.ACCESS_TOKEN: **********' \
--header 'Content-Type: application/json' \
--data '{ "page": { "offset": 0, "limit": 10 }, "sort": { "field": "gmv", "order": "DESC" }
}'
import requests
import json url = 'https://marketplace.walmartapis.com/v3/advertising/sem/campaigns/performance-summary' headers = { 'WM_SVC.NAME': 'Search Engine Marketing', 'WM_QOS.CORRELATION_ID': '49373061-ec28-4b2f-8e5d-87c139d605b9', 'WM_SEC.ACCESS_TOKEN': '**********', 'Content-Type': 'application/json'
} data = { "page": { "offset": 0, "limit": 10 }, "sort": { "field": "gmv", "order": "DESC" }
} response = requests.post(url, headers=headers, data=json.dumps(data)) print(response.status_code)
print(response.text)
Modify your code
- Use your unique
WM_QOS.CORRELATION_ID
for each request. - Use your unique
WM_SEC.ACCESS_TOKEN
obtained from the Token API. - Optionally, you can update these parameters:
offset
- Replace 0 with a positive number to specify the starting point for fetching the records.limit
- Replace 10 with a positive number to specify the maximum number of records to display per page. This value cannot exceed 200.sort
- Replace gmv with a field by which to sort the data.- You can sort fields by: [impressions, clicks, ad spend, gmv, roas, cpc, ctr].
- You can filter values by: [product name, duration, category name].
order
- Replace DESC with an order of sorting. For example, DESC for descending order and ASC for ascending order.
Sample response
{ "pagination": { "pageNo": 0, "pageSize": 10, "totalCount": 2, "totalPages": 1 }, "data": [ { "campaignId": "123456790", "name": "Valentines Day Campaign", "startDate": "2025-02-01", "endDate": "2025-02-28", "totalBudget": 2000.0, "targetRoas": 3.5, "status": "COMPLETED", "createdDate": "2025-01-20", "traffic": { "impressions": 5000, "clicks": 250, "ctr": 0.05, "adspend": 150.0, "cpc": 0.6, "gmv": 600.0, "roas": 4.0 } }, { "campaignId": "123456789", "name": "New Year Campaign", "startDate": "2025-01-01", "endDate": "2025-01-31", "totalBudget": 1000.0, "targetRoas": 3.0, "status": "RUNNING", "createdDate": "2024-12-20", "traffic": { "impressions": 4000, "clicks": 200, "ctr": 0.05, "adspend": 120.0, "cpc": 0.6, "gmv": 420.0, "roas": 3.5 } } ]
}
Result
You'll get a detailed performance report for all of your SEM campaigns.
Updated about 17 hours ago