Performance snapshot reports
Generate historical Display performance reports with customizable metrics and date ranges.
Overview
Performance Snapshots generate CSV reports containing campaign delivery, attribution, sales, and other report-specific metrics.
Use this endpoint to configure the reporting period, report type, and metrics needed for reporting and analytics workflows.
Availability
Supported for Onsite Display and Offsite Display (Walmart DSP only). Availability varies by report type and metric.
Report type availability
reportType | Description | Onsite | Offsite |
|---|---|---|---|
campaign | Aggregated campaign performance | ✅ | ✅ |
lineitem | Ad group-level performance | ✅ | ✅ |
tactic | Performance by targeting tactic | ✅ | ❌ |
sku | Item-level performance by sales channel | ✅ | ✅ |
bid | Bid performance for Onsite auction campaigns | ✅ | ❌ |
newBuyer | New buyer and purchase-frequency reporting | ✅ | ✅ |
creative | Creative-level performance | ✅ | ❌ |
basketAnalysis | Shows the top 10 online and top 10 in-store categories and sub-categories most frequently purchased together with advertised items in shopper baskets. | ✅ | ❌ |
ivtViewability | Provides MRC accredited Invalid Traffic & Viewability metrics. | ✅ | ❌ |
salesLift | Measures incrementality of sales after campaign exposure. | ✅ | ✅ |
For available metrics and additional report types, see Report Types.
How it works
The Create Performance Snapshot endpoint submits an asynchronous reporting job.
A successful request returns a snapshotId. Use this identifier with the Retrieve Snapshots API to check processing status and obtain the generated file.
For the shared creation, retrieval, and download workflow, see Snapshot Reporting.
Before you begin
- Valid
advertiserIdand reporting access - Supported
reportTypefor the advertiser's media solution - Reporting date range
- Required metrics and any report-specific parameters
- Latest available reporting date, verified using Get Latest Report Date
Endpoint
POST /api/v1/snapshot/report
POST /api/v1/snapshot/reportRequest details
How this request is used
Use this endpoint to create a performance report for an advertiser, reporting period, and selected report type.
Key fields and behaviors
startDate
Defines the beginning of the reporting periodendDate
Defines the end of the reporting period.reportType
Determines the reporting breakdown and available metrics.reportMetrics
Specifies which metrics to return. If omitted, all available metrics for the report type will be returned.scope
Controls report scope where applicable.attributionWindow
Report-specific attribution window, used for supported report types as such as the SKU report.itemsetType
Selects Featured or Halo measurement where supportedsalesChannel
Selects the applicable sales channel for supported report types.
Select a report type
The reportType determines the level of detail returned.
For example:
campaignprovides campaign-level reporting.lineitemprovides ad group-level reporting.skuprovides item-level performance.creativeprovides creative-level reporting.tacticprovides targeting tactic performance.
Use the Report Types guide to review available report types and supported metrics.
Select reporting metrics
Use reportMetrics to request specific metrics instead of returning every available metric for the selected report type. If omitted, the API returns all available metrics for that report type.
Metric availability depends on the selected report type and media solution.
For field definitions and availability, see Dimensions and Metrics.
Configure the reporting period
Use startDate and endDate to define the reporting window.
Performance reporting data is refreshed daily and is typically available through T-1, subject to processing completion.
Check the latest processed reporting date before creating a snapshot.
SKU reporting considerations
SKU reports can produce large files, particularly for advertisers with extensive product catalogs.
Use smaller reporting windows for SKU performance reports to reduce file size and processing time.
- Use date ranges under 15 days.
- Reduce the date range further for large Item Sets.
- Allow additional processing time for large requests.
Sample requests
Basic report request
curl -X POST \ 'https://developer.api.us.stg.walmart.com/api-proxy/service/display/api/v1/api/v1/snapshot/report' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <auth_token>' \ --header 'WM_SEC.AUTH_SIGNATURE: <signature>' \ --header 'WM_SEC.KEY_VERSION: 1' \ --header 'WM_CONSUMER.ID: <consumer_id>' \ --header 'WM_CONSUMER.intimestamp: <timestamp>' \ --data '{ "advertiserId": 600001, "startDate": "2024-07-19", "endDate": "2024-07-24", "reportType": "sku" }'Request selected campaign metrics
{ "advertiserId": 678961, "startDate": "2024-07-19", "endDate": "2024-07-24", "reportType": "campaign", "reportMetrics": [ "haloPickupAttributedOrders14days", "featuredStoreAttributedSales14days", "haloDeliveryAttributedSales30days" ]
}Request Featured SKU reporting
{ "reportType": "sku", "advertiserId": 600001, "attributionWindow": "days14", "itemsetType": "featured", "salesChannel": "online", "startDate": "2025-11-01", "endDate": "2025-11-10"
}Response details
What this response returns
A successful request creates an asynchronous snapshot generation job.
code
Indicates if submission was successfulsnapshotId
Identifier used to retrieve the snapshot job (save to use later).jobStatus
Current processing statusdetails
Additional information associated with the request.
Sample response
Snapshot request accepted
[ { "code": "success", "snapshotId": "17", "details": "", "jobStatus": "pending" }
]A successful creation response does not mean the report file is ready.
Common issues
- Requesting a report type unavailable for the advertiser's media solution
- Requesting metrics unsupported by the selected
reportType - Selecting dates that have not completed reporting processing
- Using unnecessarily large reporting windows for SKU reports
- Requesting all metrics when only a subset is needed
- Assuming the creation response contains the completed report
What happens next
Store the returned snapshotId and use Retrieve Snapshots to check job status and obtain the generated file.
When jobStatus=done, download the CSV output using the file URL returned in details.
Related pages
Updated about 1 hour ago
