Skip to content

Snapshot Reports v2

Overview

API to generate and retrieve file-based snapshots of all the performance reports by entity, for a given advertiser, asynchronously.

Notes

  • Snapshot IDs expire after 24 hours post generation
  • POST requests under Snapshots v2 endpoint will not be counted towards Rate Limits
  • The reports are snapshots at day level
  • POST and GET requests are through Snapshot v2 endpoints
  • The look back period to retrieve Snapshot Reports via v2 endpoint is 90 Days

Details about ‘Request Header' and 'Authorization’ are available in the Authorization Guide

Create Report Snapshot

Description You can request a snapshot file for all performance reporting data available (until the date before current date) for a given advertiser using this method.

End Point: /api/v2/snapshot/report

HTTP Method: POST

Body Parameters

Parameter Description Type Required Possible Values
advertiserId The ID of the advertiser Integer Y Unique numeric identifier for the advertiser. This is the advertising account id. This parameter can take only one advertiser Id for each snapshot report request.
reportType The type of the performance report for which the snapshot should be generated. String Y Types of Report: keyword, adItem, platform, pageType, adGroup, brand, category, placement, videoCampaign, videoKeywords. This parameter can take one report type among the above possible report types in each snapshot report request.
reportMetrics Choose the format type for your snapshot String Y

Not all metrics are applicable to all report types. Each report requires at least one dimension to be included in the ‘reportMetrics’ parameter or else the report request will fail. This parameter can take one or more than one report metric among the possible report metrics in each snapshot report request.

Note: Possible reportMetrics values: Dimensions and Metrics that is accepted under reportMetrics, please refer to the table

reportDate The snapshot date for the report Date Y The date should be in “yyyy-MM-dd” format. This parameter can take only one report date for the last 90 days each snapshot report request.
startDate The first day to be considered in the performance report snapshot. It cannot be the current date. Date Y The date should be in “yyyy-MM-dd” format.
endDate The last day to be considered in the performance report snapshot. It cannot be the current date. Note: To fetch reports, please use either reportDate or Combination of startDate and endDate. Using both together will result in an error. However, one of these must be defined Date Y The date should be in “yyyy-MM-dd” format.

Notes on parameters:

  • POST requests under Snapshots v2 endpoint will not be counted towards Rate Limits
  • The reports are snapshots at day level
  • POST and GET requests are through Snapshot v2 endpoint
  • In Snapshot v2 endpoint, under reportMetrics, the user can pick and choose the dimensions and metrics as per their needs
  • Both Dimensions and Metrics are to be requested in reportMetrics parameter. Dimensions helps in defining the level of granularity at which the Metrics are to be retrieved
  • Each report requires at least one dimension to be included in the reportMetrics parameter else the report request will fail
  • To get report by campaigns, request report for adGroups and use the campaign ids returned in the report to aggregate the report by campaigns
  • The format of the report is CSV, and it will be enclosed in “GZIP” file format by default
  • Not all reportMetrics are applicable to all reportTypes
  • Report Type: temHealth is not part of Snapshots v2 endpoint
  • Report Type: itemKeyword is not part of Snapshots v2 endpoint. Item Keyword report will be available only on Snapshots v1 reports.
  • To fetch reports , please use either reportDate or Combination of startDate and endDate. Using both together will result in an error. However, one of these must be defined.

Definition for retrievable Snapshot Reports

  • keyword: The performance of keywords you’re bidding on (available in Manual/Keyword bidding campaigns only). Data will only be included in the Keyword Performance report if at least one of the following is true:

    1. Impressions are greater than 10
    2. Ad spend is greater than $0.00
    3. Attributed sales is greater than $0.00
  • adItem: The performance of ad items chosen in the ad groups in your campaign

  • platform: The performance of which device type the products in your campaign are displaying on

  • app – performance from the Sam's Club iOS and Android app
  • desktop – performance from the Samsclub.com website on desktop and tablets
  • mobile – performance from the Samsclub.com website on mobile web
  • others – performance from a platform we are unable to detect at the time

  • pageType: The performance of those page types where the items in your campaign are showing on. Example: Search Page, Browse Page, Item Page, Category page.

  • browse – sub-category pages with algorithmic item selection (example: selecting the “Monitors” category in the “Electronics & Office” department)
  • item – specific item pages
  • search – search pages based on a customer’s query (example: searching “bed sets”)
  • topic – custom curated search pages, found from searches outside of Samsclub.com(such as search engines) that lead back to Samsclub.com
  • category – category pages (example: selecting the “Feeding” category in the “Baby” department)
  • homepage - home page high visibility personalization carousels
    Note: This pageType report is only available for Auto Campaigns
  • other – any other pages not falling into the categories above or if our beacon was unable to track which page type the user was visiting

  • adGroup: The performance of individual ad groups within your campaign

  • brand: The Performance of the different brands within your campaign (available to Sam's Club suppliers only).

  • category: The performance of the categories of the items in your campaign (available to Sam's Club Suppliers only).

  • Placement: The performance report for placements: for both keyword and auto campaign Search In-grid

Note: Keyword Performance and Item Keyword reports both include data only if at least one of the following is true:

  • impressions are greater than 10
  • Ad spend is greater than $0.00
  • Attributed sale is greater than $0.00

Because of this you should expect a discrepancy between keyword reports and other reports so metrics should not be compared directly.

Sample Requests for Create Snapshot Response

Below are the sample request/response to generate Snapshot Report on different report types

Sample Request 1 for Report Type Keyword

This report indicates which keywords your advertised items are being served against. This information can help you optimize keyword bids and corresponding new-to-brand (NTB) metrics.

curl --location 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report' 
--header 'Content-Type: application/json' 
--header 'Authorization: Bearer ************' 
--data "{
    "advertiserId": 1234,
    "startDate":"2024-01-20T00:00:00",
    "endDate":"2024-06-25T00:00:00",
    "reportType": "keyword",
    "format": "zip",
    "reportMetrics": [
        "date",
        "keywordId",
        "searchedKeyword",
        "biddedKeyword",
        "matchType",
        "campaignName",
        "adGroupName",
        "campaignId",
        "adGroupId",
        "bid",
        "numAdsShown",
        "numAdsClicks",
        "adSpend",
        "directAttributedSales3days",
        "directAttributedSales14days",
        "directAttributedSales30days",
        "brandAttributedSales3days",
        "brandAttributedSales14days",
        "brandAttributedSales30days",
        "relatedAttributedSales3days",
        "relatedAttributedSales14days",
        "relatedAttributedSales30days",
        "attributedUnits3days",
        "attributedUnits14days",
        "attributedUnits30days",
        "attributedSales3days",
        "attributedSales14days",
        "attributedSales30days",
        "ntbUnits3days",
        "unitsSold3days",
        "inStoreUnitsSold3days",
        "ntbOrders3days",
        "attributedOrders3days",
        "inStoreOrders3days",
        "ntbRevenue3days",
        "revenue3days",
        "offlineAttributedSales3days"
    ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
"advertiserId": 1234,
"reportDate": "2022-10-01",
"reportType": "keyword",
"format": "zip",
"reportMetrics": 
  [
    "date",
    "keywordId",
    "searchedKeyword",
    "biddedKeyword",
    "matchType",
    "campaignName",
    "adGroupName",
    "campaignId",
    "adGroupId",
    "bid",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedSales14days",
    "directAttributedSales30days",
    "brandAttributedSales3days",
    "brandAttributedSales14days",
    "brandAttributedSales30days",
    "relatedAttributedSales3days",
    "relatedAttributedSales14days",
    "relatedAttributedSales30days",
    "attributedUnits3days",
    "attributedUnits14days",
    "attributedUnits30days",
    "attributedSales3days",
    "attributedSales14days",
    "attributedSales30days",
    "ntbUnits3days",
    "unitsSold3days",
    "inStoreUnitsSold3days",
    "ntbOrders3days",
    "attributedOrders3days",
    "inStoreOrders3days",
    "ntbRevenue3days",
    "revenue3days",
    "offlineAttributedSales3days"
  ]
}");
Request request = new Request.Builder()
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer ********")
  .build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2022-10-01",
  "reportType": "keyword",
  "format": "zip",
  "reportMetrics": [
    "date",
    "keywordId",
    "searchedKeyword",
    "biddedKeyword",
    "matchType",
    "campaignName",
    "adGroupName",
    "campaignId",
    "adGroupId",
    "bid",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedSales14days",
    "directAttributedSales30days",
    "brandAttributedSales3days",
    "brandAttributedSales14days",
    "brandAttributedSales30days",
    "relatedAttributedSales3days",
    "relatedAttributedSales14days",
    "relatedAttributedSales30days",
    "attributedUnits3days",
    "attributedUnits14days",
    "attributedUnits30days",
    "attributedSales3days",
    "attributedSales14days",
    "attributedSales30days",
    "ntbUnits3days",
    "unitsSold3days",
    "inStoreUnitsSold3days",
    "ntbOrders3days",
    "attributedOrders3days",
    "inStoreOrders3days",
    "ntbRevenue3days",
    "revenue3days",
    "offlineAttributedSales3days"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer ********'
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2022-10-01",
  "reportType": "keyword",
  "format": "zip",
  "reportMetrics": [
    "date",
    "keywordId",
    "searchedKeyword",
    "biddedKeyword",
    "matchType",
    "campaignName",
    "adGroupName",
    "campaignId",
    "adGroupId",
    "bid",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedSales14days",
    "directAttributedSales30days",
    "brandAttributedSales3days",
    "brandAttributedSales14days",
    "brandAttributedSales30days",
    "relatedAttributedSales3days",
    "relatedAttributedSales14days",
    "relatedAttributedSales30days",
    "attributedUnits3days",
    "attributedUnits14days",
    "attributedUnits30days",
    "attributedSales3days",
    "attributedSales14days",
    "attributedSales30days",
    "ntbUnits3days",
    "unitsSold3days",
    "inStoreUnitsSold3days",
    "ntbOrders3days",
    "attributedOrders3days",
    "inStoreOrders3days",
    "ntbRevenue3days",
    "revenue3days",
    "offlineAttributedSales3days"
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer *********'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Sample Request 2 for Report Type VideoKeywords

This report offers aggregated performance data for all sponsored videos campaign performance at keyword level, including standard Sponsored Search metrics, video engagement metrics, and view-based sales attribution metrics.

curl 
--location "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report" 
--header "Content-Type: application/json"
--header "Authorization: Bearer **************" 
--data "{
    "advertiserId": 1234,
    "reportDate": "2023-01-23T00:00:00",
    "reportType": "videoKeywords",
    "reportMetrics": [
        "date",
        "adSpend",
        "matchType",
        "adGroupId",
        "campaignId",
        "numAdsShown",
        "biddedKeyword",
        "numAdsClicks",
        "attributedSales3days",
        "attributedUnits3days",
        "attributedSales14days",
        "attributedUnits14days",
        "attributedSales30days",
        "attributedUnits30days",
        "attributedOrders3days",
        "attributedOrders14days",
        "attributedOrders30days",
        "videoImpressions",            
        "viewableImpressions",
        "viewThroughRate",
        "ctrForViews",
        "viewThroughSales3days",
        "viewThroughSales14days",
        "viewThroughSales30days",
        "viewThroughOrders3days",
        "viewThroughOrders14days",
        "viewThroughOrders30days",
        "viewThroughUnitsSold3days",
        "viewThroughUnitsSold14days",
        "viewThroughUnitsSold30days",
        "totalCompleteViewAttributedSales3days",
        "totalCompleteViewAttributedSales14days",
        "totalCompleteViewAttributedSales30days",
        "completeViewRevenue3days",
        "completeViewRevenue14days",
        "completeViewRevenue30days",
        "haloCompleteViewRevenue3days",
        "haloCompleteViewRevenue14days",
        "haloCompleteViewRevenue30days",
        "totalCompleteViewOrders3days",
        "totalCompleteViewOrders14days",
        "totalCompleteViewOrders30days",
        "totalCompleteViewUnits3days",
        "totalCompleteViewUnits14days",
        "totalCompleteViewUnits30days",
        "videoFirstQuartileViews",
        "videoMidpointViews",
        "videoThirdQuartileViews",
        "videoCompleteViews",
        "videoUnmutes",
        "video5SecondViews",
        "video5SecondViewRate"

    ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
    "advertiserId": 1234,
    "reportDate": "2023-01-23T00:00:00",
    "reportType": "videoKeywords",
    "reportMetrics":[
         "date",
        "adSpend",
        "matchType",
        "adGroupId",
        "campaignId",
        "numAdsShown",
        "biddedKeyword",
        "numAdsClicks",
        "attributedSales3days",
        "attributedUnits3days",
        "attributedSales14days",
        "attributedUnits14days",
        "attributedSales30days",
        "attributedUnits30days",
        "attributedOrders3days",
        "attributedOrders14days",
        "attributedOrders30days",
        "videoImpressions",            
        "viewableImpressions",
        "viewThroughRate",
        "ctrForViews",
        "viewThroughSales3days",
        "viewThroughSales14days",
        "viewThroughSales30days",
        "viewThroughOrders3days",
        "viewThroughOrders14days",
        "viewThroughOrders30days",
        "viewThroughUnitsSold3days",
        "viewThroughUnitsSold14days",
        "viewThroughUnitsSold30days",
        "totalCompleteViewAttributedSales3days",
        "totalCompleteViewAttributedSales14days",
        "totalCompleteViewAttributedSales30days",
        "completeViewRevenue3days",
        "completeViewRevenue14days",
        "completeViewRevenue30days",
        "haloCompleteViewRevenue3days",
        "haloCompleteViewRevenue14days",
        "haloCompleteViewRevenue30days",
        "totalCompleteViewOrders3days",
        "totalCompleteViewOrders14days",
        "totalCompleteViewOrders30days",
        "totalCompleteViewUnits3days",
        "totalCompleteViewUnits14days",
        "totalCompleteViewUnits30days",
        "videoFirstQuartileViews",
        "videoMidpointViews",
        "videoThirdQuartileViews",
        "videoCompleteViews",
        "videoUnmutes",
        "video5SecondViews",
        "video5SecondViewRate"

    ]}");
  Request request = new Request.Builder()
  .url("https://darpa.dev.sams.walmart.com/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer ****************").build();
  Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "videoKeywords",
  "reportMetrics": [
         "date",
        "adSpend",
        "matchType",
        "adGroupId",
        "campaignId",
        "numAdsShown",
        "biddedKeyword",
        "numAdsClicks",
        "attributedSales3days",
        "attributedUnits3days",
        "attributedSales14days",
        "attributedUnits14days",
        "attributedSales30days",
        "attributedUnits30days",
        "attributedOrders3days",
        "attributedOrders14days",
        "attributedOrders30days",
        "videoImpressions",            
        "viewableImpressions",
        "viewThroughRate",
        "ctrForViews",
        "viewThroughSales3days",
        "viewThroughSales14days",
        "viewThroughSales30days",
        "viewThroughOrders3days",
        "viewThroughOrders14days",
        "viewThroughOrders30days",
        "viewThroughUnitsSold3days",
        "viewThroughUnitsSold14days",
        "viewThroughUnitsSold30days",
        "totalCompleteViewAttributedSales3days",
        "totalCompleteViewAttributedSales14days",
        "totalCompleteViewAttributedSales30days",
        "completeViewRevenue3days",
        "completeViewRevenue14days",
        "completeViewRevenue30days",
        "haloCompleteViewRevenue3days",
        "haloCompleteViewRevenue14days",
        "haloCompleteViewRevenue30days",
        "totalCompleteViewOrders3days",
        "totalCompleteViewOrders14days",
        "totalCompleteViewOrders30days",
        "totalCompleteViewUnits3days",
        "totalCompleteViewUnits14days",
        "totalCompleteViewUnits30days",
        "videoFirstQuartileViews",
        "videoMidpointViews",
        "videoThirdQuartileViews",
        "videoCompleteViews",
        "videoUnmutes",
        "video5SecondViews",
        "video5SecondViewRate"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://darpa.dev.sams.walmart.com/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer **************'
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json
url = "https://darpa.dev.sams.walmart.com/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "videoKeywords",
  "reportMetrics": [
        "date",
        "adSpend",
        "matchType",
        "adGroupId",
        "campaignId",
        "numAdsShown",
        "biddedKeyword",
        "numAdsClicks",
        "attributedSales3days",
        "attributedUnits3days",
        "attributedSales14days",
        "attributedUnits14days",
        "attributedSales30days",
        "attributedUnits30days",
        "attributedOrders3days",
        "attributedOrders14days",
        "attributedOrders30days",
        "videoImpressions",            
        "viewableImpressions",
        "viewThroughRate",
        "ctrForViews",
        "viewThroughSales3days",
        "viewThroughSales14days",
        "viewThroughSales30days",
        "viewThroughOrders3days",
        "viewThroughOrders14days",
        "viewThroughOrders30days",
        "viewThroughUnitsSold3days",
        "viewThroughUnitsSold14days",
        "viewThroughUnitsSold30days",
        "totalCompleteViewAttributedSales3days",
        "totalCompleteViewAttributedSales14days",
        "totalCompleteViewAttributedSales30days",
        "completeViewRevenue3days",
        "completeViewRevenue14days",
        "completeViewRevenue30days",
        "haloCompleteViewRevenue3days",
        "haloCompleteViewRevenue14days",
        "haloCompleteViewRevenue30days",
        "totalCompleteViewOrders3days",
        "totalCompleteViewOrders14days",
        "totalCompleteViewOrders30days",
        "totalCompleteViewUnits3days",
        "totalCompleteViewUnits14days",
        "totalCompleteViewUnits30days",
        "videoFirstQuartileViews",
        "videoMidpointViews",
        "videoThirdQuartileViews",
        "videoCompleteViews",
        "videoUnmutes",
        "video5SecondViews",
        "video5SecondViewRate"
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer *************'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

Sample Request 3 for Report Type VideoCampaigns

This report offers aggregated performance data for all sponsored videos campaign performance at campaign level, including standard Sponsored Search metrics, video engagement metrics, and view-based sales attribution metrics.

curl 
--location "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report" 
--header "Content-Type: application/json"
--header "Authorization: Bearer **************" 
--data "{
    "advertiserId": 1234,
    "reportDate": "2023-01-23T00:00:00",
    "reportType": "videoCampaign",
    "reportMetrics": [
        "date",
        "adSpend",
        "adGroupId",
        "campaignId",
        "numAdsShown",
        "numAdsClicks",
        "attributedSales3days",
        "attributedUnits3days",
        "attributedSales14days",
         "attributedUnits14days",
        "attributedSales30days",
        "attributedUnits30days",
        "attributedOrders3days",
        "attributedOrders14days",
        "attributedOrders30days",          
        "videoImpressions",            
        "viewableImpressions",
        "viewThroughRate",
        "ctrForViews",
        "viewThroughSales3days",
        "viewThroughSales14days",
        "viewThroughSales30days",
        "viewThroughOrders3days",
        "viewThroughOrders14days",
        "viewThroughOrders30days",
        "viewThroughUnitsSold3days",
        "viewThroughUnitsSold14days",
        "viewThroughUnitsSold30days",
        "totalCompleteViewAttributedSales3days",
        "totalCompleteViewAttributedSales14days",
        "totalCompleteViewAttributedSales30days",
        "completeViewRevenue3days",
        "completeViewRevenue14days",
        "completeViewRevenue30days",
        "haloCompleteViewRevenue3days",
        "haloCompleteViewRevenue14days",
        "haloCompleteViewRevenue30days",
        "totalCompleteViewOrders3days",
        "totalCompleteViewOrders14days",
        "totalCompleteViewOrders30days",
        "totalCompleteViewUnits3days",
        "totalCompleteViewUnits14days",
        "totalCompleteViewUnits30days",
        "videoFirstQuartileViews",
        "videoMidpointViews",
        "videoThirdQuartileViews",
        "videoCompleteViews",
        "videoUnmutes",
        "video5SecondViews",
        "video5SecondViewRate"
    ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
    "advertiserId": 1234,
    "reportDate": "2023-01-23T00:00:00",
    "reportType": "videoCampaign",
    "reportMetrics":[
      "date",
        "adSpend",
        "adGroupId",
        "campaignId",
        "numAdsShown",
        "numAdsClicks",
        "attributedSales3days",
        "attributedUnits3days",
        "attributedSales14days",
         "attributedUnits14days",
        "attributedSales30days",
        "attributedUnits30days",
        "attributedOrders3days",
        "attributedOrders14days",
        "attributedOrders30days",          
        "videoImpressions",            
        "viewableImpressions",
        "viewThroughRate",
        "ctrForViews",
        "viewThroughSales3days",
        "viewThroughSales14days",
        "viewThroughSales30days",
        "viewThroughOrders3days",
        "viewThroughOrders14days",
        "viewThroughOrders30days",
        "viewThroughUnitsSold3days",
        "viewThroughUnitsSold14days",
        "viewThroughUnitsSold30days",
        "totalCompleteViewAttributedSales3days",
        "totalCompleteViewAttributedSales14days",
        "totalCompleteViewAttributedSales30days",
        "completeViewRevenue3days",
        "completeViewRevenue14days",
        "completeViewRevenue30days",
        "haloCompleteViewRevenue3days",
        "haloCompleteViewRevenue14days",
        "haloCompleteViewRevenue30days",
        "totalCompleteViewOrders3days",
        "totalCompleteViewOrders14days",
        "totalCompleteViewOrders30days",
        "totalCompleteViewUnits3days",
        "totalCompleteViewUnits14days",
        "totalCompleteViewUnits30days",
        "videoFirstQuartileViews",
        "videoMidpointViews",
        "videoThirdQuartileViews",
        "videoCompleteViews",
        "videoUnmutes",
        "video5SecondViews",
        "video5SecondViewRate"
    ]}");
  Request request = new Request.Builder()
  .url("https://darpa.dev.sams.walmart.com/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer ****************").build();
  Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "videoCampaign",
  "reportMetrics": [
    "date",
        "adSpend",
        "adGroupId",
        "campaignId",
        "numAdsShown",
        "numAdsClicks",
        "attributedSales3days",
        "attributedUnits3days",
        "attributedSales14days",
         "attributedUnits14days",
        "attributedSales30days",
        "attributedUnits30days",
        "attributedOrders3days",
        "attributedOrders14days",
        "attributedOrders30days",          
        "videoImpressions",            
        "viewableImpressions",
        "viewThroughRate",
        "ctrForViews",
        "viewThroughSales3days",
        "viewThroughSales14days",
        "viewThroughSales30days",
        "viewThroughOrders3days",
        "viewThroughOrders14days",
        "viewThroughOrders30days",
        "viewThroughUnitsSold3days",
        "viewThroughUnitsSold14days",
        "viewThroughUnitsSold30days",
        "totalCompleteViewAttributedSales3days",
        "totalCompleteViewAttributedSales14days",
        "totalCompleteViewAttributedSales30days",
        "completeViewRevenue3days",
        "completeViewRevenue14days",
        "completeViewRevenue30days",
        "haloCompleteViewRevenue3days",
        "haloCompleteViewRevenue14days",
        "haloCompleteViewRevenue30days",
        "totalCompleteViewOrders3days",
        "totalCompleteViewOrders14days",
        "totalCompleteViewOrders30days",
        "totalCompleteViewUnits3days",
        "totalCompleteViewUnits14days",
        "totalCompleteViewUnits30days",
        "videoFirstQuartileViews",
        "videoMidpointViews",
        "videoThirdQuartileViews",
        "videoCompleteViews",
        "videoUnmutes",
        "video5SecondViews",
        "video5SecondViewRate"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://darpa.dev.sams.walmart.com/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer **************'
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json
url = "https://darpa.dev.sams.walmart.com/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "videoCampaign",
  "reportMetrics": [
    "date",
        "adSpend",
        "adGroupId",
        "campaignId",
        "numAdsShown",
        "numAdsClicks",
        "attributedSales3days",
        "attributedUnits3days",
        "attributedSales14days",
         "attributedUnits14days",
        "attributedSales30days",
        "attributedUnits30days",
        "attributedOrders3days",
        "attributedOrders14days",
        "attributedOrders30days",          
        "videoImpressions",            
        "viewableImpressions",
        "viewThroughRate",
        "ctrForViews",
        "viewThroughSales3days",
        "viewThroughSales14days",
        "viewThroughSales30days",
        "viewThroughOrders3days",
        "viewThroughOrders14days",
        "viewThroughOrders30days",
        "viewThroughUnitsSold3days",
        "viewThroughUnitsSold14days",
        "viewThroughUnitsSold30days",
        "totalCompleteViewAttributedSales3days",
        "totalCompleteViewAttributedSales14days",
        "totalCompleteViewAttributedSales30days",
        "completeViewRevenue3days",
        "completeViewRevenue14days",
        "completeViewRevenue30days",
        "haloCompleteViewRevenue3days",
        "haloCompleteViewRevenue14days",
        "haloCompleteViewRevenue30days",
        "totalCompleteViewOrders3days",
        "totalCompleteViewOrders14days",
        "totalCompleteViewOrders30days",
        "totalCompleteViewUnits3days",
        "totalCompleteViewUnits14days",
        "totalCompleteViewUnits30days",
        "videoFirstQuartileViews",
        "videoMidpointViews",
        "videoThirdQuartileViews",
        "videoCompleteViews",
        "videoUnmutes",
        "video5SecondViews",
        "video5SecondViewRate"
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer *************'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

Sample Request 4 for Report Type Placement

This report provides key performance metrics for your campaigns by the placement the ads are served in.

curl --location
"https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report" 
--header "Content-Type: application/json" 
--header "Authorization: Bearer *********" 
--data "{
"advertiserId": 1234,
"reportDate": "2023-01-23T00:00:00",
"reportType": "placement",
"reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "placement",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "attributedOrders14days",
    "advertisedSkuSales14days",
    "otherSkuSales14days",
    "advertisedSkuUnits14days",
    "otherSkuUnits14days"
  ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "placement",
  "reportMetrics": [
      "date",
      "campaignId",
      "adGroupId",
      "placement",
      "numAdsShown"
      "numAdsClicks",
      "adSpend",
      "directAttributedSales14days",
      "directAttributedUnits14days",
      "attributedSales14days",
      "attributedUnits14days",
      "attributedOrders14days",
      "advertisedSkuSales14days",
      "otherSkuSales14days",
      "advertisedSkuUnits14days",
      "otherSkuUnits14days"   
    ]
}");
Request request = new Request.Builder()
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "************").build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "placement",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "placement",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "attributedOrders14days",
    "advertisedSkuSales14days",
    "otherSkuSales14days",
    "advertisedSkuUnits14days",
    "otherSkuUnits14days"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer ************'
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "placement",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "placement",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "attributedOrders14days",
    "advertisedSkuSales14days",
    "otherSkuSales14days",
    "advertisedSkuUnits14days",
    "otherSkuUnits14days"
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer ***********'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Sample Request 5 for Report Type AdGroup

The performance of individual ad groups within your campaign.

curl --location
"https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report" 
--header "Content-Type: application/json" 
--header "Authorization: Bearer *********" 
--data "{
"advertiserId": 1234,
"reportDate": "2023-01-23T00:00:00",
"reportType": "adGroup",
"reportMetrics": [
    "date",
    "campaignId",
    "adSpend",
    "numAdsShown",
    "numAdsClicks",
    "attributedOrders3days",
    "attributedOrders14days",
    "attributedOrders30days",
    "attributedUnits3days",
    "attributedUnits14days",
    "attributedUnits30days",
    "brandAttributedSales3days",
    "brandAttributedSales14days",
    "brandAttributedSales30days",
    "directAttributedSales3days",
    "directAttributedSales14days",
    "directAttributedSales30days",
    "relatedAttributedSales3days",
    "relatedAttributedSales14days",
    "relatedAttributedSales30days",
    "adGroupId"
  ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "adGroup",
  "reportMetrics": [
      "date",
      "campaignId",
      "adSpend",
      "numAdsShown",
      "numAdsClicks",
      "attributedOrders3days",
      "attributedOrders14days",
      "attributedOrders30days",
      "attributedUnits3days",
      "attributedUnits14days",
      "attributedUnits30days",
      "brandAttributedSales3days",
      "brandAttributedSales14days",
      "brandAttributedSales30days",
      "directAttributedSales3days",
      "directAttributedSales14days",
      "directAttributedSales30days",
      "relatedAttributedSales3days",
      "relatedAttributedSales14days",
      "relatedAttributedSales30days",
      "adGroupId"
    ]
}");
Request request = new Request.Builder()
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "************").build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "adGroup",
  "reportMetrics": [
      "date",
      "campaignId",
      "adSpend",
      "numAdsShown",
      "numAdsClicks",
      "attributedOrders3days",
      "attributedOrders14days",
      "attributedOrders30days",
      "attributedUnits3days",
      "attributedUnits14days",
      "attributedUnits30days",
      "brandAttributedSales3days",
      "brandAttributedSales14days",
      "brandAttributedSales30days",
      "directAttributedSales3days",
      "directAttributedSales14days",
      "directAttributedSales30days",
      "relatedAttributedSales3days",
      "relatedAttributedSales14days",
      "relatedAttributedSales30days",
      "adGroupId"
    ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer ************'
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "adGroup",
  "reportMetrics": [
      "date",
      "campaignId",
      "adSpend",
      "numAdsShown",
      "numAdsClicks",
      "attributedOrders3days",
      "attributedOrders14days",
      "attributedOrders30days",
      "attributedUnits3days",
      "attributedUnits14days",
      "attributedUnits30days",
      "brandAttributedSales3days",
      "brandAttributedSales14days",
      "brandAttributedSales30days",
      "directAttributedSales3days",
      "directAttributedSales14days",
      "directAttributedSales30days",
      "relatedAttributedSales3days",
      "relatedAttributedSales14days",
      "relatedAttributedSales30days",
      "adGroupId"
    ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer ***********'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Sample Request 6 for Report Type AdItem

This report provides key performance metrics for the items in all of your campaigns. This information can help you improve current and future Sponsored Products campaigns.

curl --location
"https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report" 
--header "Content-Type: application/json" 
--header "Authorization: Bearer *********" 
--data "{
"advertiserId": 1234,
"reportDate": "2023-01-23T00:00:00",
"reportType": "adItem",
"reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "itemId",
    "itemName",
    "itemImage",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "attributedOrders30days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days",
    "advertisedShpSales3days",
    "otherShpSales3days",
    "advertisedPndSales3days",
    "otherPndSales3days"
  ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "adItem",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "itemId",
    "itemName",
    "itemImage",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "attributedOrders30days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days",
    "advertisedShpSales3days",
    "otherShpSales3days",
    "advertisedPndSales3days",
    "otherPndSales3days"
  ]
}");
Request request = new Request.Builder()
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "************").build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "adItem",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "itemId",
    "itemName",
    "itemImage",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "attributedOrders30days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days",
    "advertisedShpSales3days",
    "otherShpSales3days",
    "advertisedPndSales3days",
    "otherPndSales3days"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer ************'
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "adItem",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "itemId",
    "itemName",
    "itemImage",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "attributedOrders30days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days",
    "advertisedShpSales3days",
    "otherShpSales3days",
    "advertisedPndSales3days",
    "otherPndSales3days"
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer ***********'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Sample Request 7 for Report Type Brand

The Performance of the different brands within your campaign available to Walmart suppliers (1p suppliers) only.

curl --location
"https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report" 
--header "Content-Type: application/json" 
--header "Authorization: Bearer *********" 
--data "{
"advertiserId": 1234,
"reportDate": "2023-01-23T00:00:00",
"reportType": "brand",
"reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "brand",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "directAttributedSales30days",
    "directAttributedUnits30days",
    "attributedSales30days",
    "attributedUnits30days",
    "attributedOrders3days",
    "attributedOrders14days",
    "attributedOrders30days",
    "attributedOrders3days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days",
    "attributedOrders14days",
    "advertisedSkuSales14days",
    "otherSkuSales14days",
    "advertisedSkuUnits14days",
    "otherSkuUnits14days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "brand",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "brand",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "directAttributedSales30days",
    "directAttributedUnits30days",
    "attributedSales30days",
    "attributedUnits30days",
    "attributedOrders3days",
    "attributedOrders14days",
    "attributedOrders30days",
    "attributedOrders3days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days",
    "attributedOrders14days",
    "advertisedSkuSales14days",
    "otherSkuSales14days",
    "advertisedSkuUnits14days",
    "otherSkuUnits14days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
}");
Request request = new Request.Builder()
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "************").build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "brand",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "brand",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "directAttributedSales30days",
    "directAttributedUnits30days",
    "attributedSales30days",
    "attributedUnits30days",
    "attributedOrders3days",
    "attributedOrders14days",
    "attributedOrders30days",
    "attributedOrders3days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days",
    "attributedOrders14days",
    "advertisedSkuSales14days",
    "otherSkuSales14days",
    "advertisedSkuUnits14days",
    "otherSkuUnits14days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer ************'
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "brand",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "brand",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "directAttributedSales30days",
    "directAttributedUnits30days",
    "attributedSales30days",
    "attributedUnits30days",
    "attributedOrders3days",
    "attributedOrders14days",
    "attributedOrders30days",
    "attributedOrders3days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days",
    "attributedOrders14days",
    "advertisedSkuSales14days",
    "otherSkuSales14days",
    "advertisedSkuUnits14days",
    "otherSkuUnits14days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer ***********'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Sample Request 8 for Report Type Category

The performance of the categories of the items in your campaign. Available to Walmart suppliers (1p advertiser) only

curl --location
"https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report" 
--header "Content-Type: application/json" 
--header "Authorization: Bearer *********" 
--data "{
"advertiserId": 1234,
"reportDate": "2023-01-23T00:00:00",
"reportType": "category",
"reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "category",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales30days",
    "directAttributedUnits30days",
    "attributedSales30days",
    "attributedUnits30days",
    "attributedOrders30days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "category",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "category",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales30days",
    "directAttributedUnits30days",
    "attributedSales30days",
    "attributedUnits30days",
    "attributedOrders30days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
}");
Request request = new Request.Builder()
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "************").build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "category",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "category",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales30days",
    "directAttributedUnits30days",
    "attributedSales30days",
    "attributedUnits30days",
    "attributedOrders30days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer ************'
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "category",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "category",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales30days",
    "directAttributedUnits30days",
    "attributedSales30days",
    "attributedUnits30days",
    "attributedOrders30days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer ***********'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Sample Request 9 for Report Type PageType

The performance of those page types where the items in your campaign are showing.

curl --location
"https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report" 
--header "Content-Type: application/json" 
--header "Authorization: Bearer *********" 
--data "{
"advertiserId": 1234,
"reportDate": "2023-01-23T00:00:00",
"reportType": "pageType",
"reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "pageType",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "attributedOrders3days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days"
  ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "pageType",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "pageType",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "attributedOrders3days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days"
  ]
}");
Request request = new Request.Builder()
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "************").build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "pageType",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "pageType",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "attributedOrders3days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer ************'
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "pageType",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "pageType",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales3days",
    "directAttributedUnits3days",
    "attributedSales3days",
    "attributedUnits3days",
    "attributedOrders3days",
    "advertisedSkuSales3days",
    "otherSkuSales3days",
    "advertisedSkuUnits3days",
    "otherSkuUnits3days"
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer ***********'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Sample Request 10 for Report Type Platform

The performance of which device type the products in your campaign are displaying on various platform like: APP, Desktop, Mobile and Others.

curl --location
"https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report" 
--header "Content-Type: application/json" 
--header "Authorization: Bearer *********" 
--data "{
"advertiserId": 1234,
"reportDate": "2023-01-23T00:00:00",
"reportType": "platform",
"reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "platform",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
}"
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "platform",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "platform",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
}");
Request request = new Request.Builder()
  .url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "************").build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let data = JSON.stringify({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "platform",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "platform",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer ************'
  },
  data : data
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot/report"

payload = json.dumps({
  "advertiserId": 1234,
  "reportDate": "2023-01-23T00:00:00",
  "reportType": "platform",
  "reportMetrics": [
    "date",
    "campaignId",
    "adGroupId",
    "platform",
    "numAdsShown",
    "numAdsClicks",
    "adSpend",
    "directAttributedSales14days",
    "directAttributedUnits14days",
    "attributedSales14days",
    "attributedUnits14days",
    "advertisedSkuSales30days",
    "otherSkuSales30days",
    "advertisedSkuUnits30days",
    "otherSkuUnits30days"
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer ***********'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Sample Responses for Create Snapshot Requests

Response

Element Description Type
code The response code can have following values: success, failure String
details Details of the error if value of response code is failure String
snapshotId ID of the snapshot String
jobStatus It is an indicator to confirm status of snapshot generation. The possible values of jobStatus are: pending, processing, done, failed, expired String

Sample Response 1

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",
    "jobStatus": "pending" 
  }
]

Sample Response 2

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",
    "jobStatus": "pending" 
  }
]

Sample Response 3

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",
    "jobStatus": "pending" 
  }
]

Sample Response 4

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",
    "jobStatus": "pending" 
  }
]

Sample Response 5

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",
    "jobStatus": "pending" 
  }
]

Sample Response 6

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",
    "jobStatus": "pending" 
  }
]

Sample Response 7

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",
    "jobStatus": "pending" 
  }
]

Sample Response 8

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",    
    "jobStatus": "pending" 
  }
]

Sample Response 9

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",
    "jobStatus": "pending" 
  }
]

Sample Response 10

[
  {
    "code": "success",
    "snapshotId": "**********************",
    "details": "",
    "jobStatus": "pending" 
  }
]

HTTP Status Code

Status Code Description Possible Error Messages
200 OK Report Type Brand/categorys is not available for Advertiser Type 3p
400 Bad request
  • Report Type validation failed. Please provide valid reportType. Possible values: adItem, adGroup, platform, pageType, keyword, Brand, category, placement, attributedPurchases
  • ReportDate Validation Failed: Reports are available till date : <reportRunDs>
  • ReportDate Validation Failed: Reports can only be requested for dates greater than 31/Mar/2015 12:00:00 AM
  • ReportDate Validation Failed: Please provide a valid reportDate in format yyyy-MM-dd
  • V2 Report startDate and endDate support not enabled
  • Invalid request body. Specify either a reportDate, or both a startDate and endDateStartDate Validation Failed: Please try a startDate before date: <reportRunDs>
  • StartDate Validation Failed : Reports can only be requested for startDate greater than 31/Mar/2015 12:00:00 AM
  • StartDate Validation Failed: Please provide a valid startDate in format yyyy-MM-dd
  • EndDate Validation Failed: Reports are available for endDate till date: <reportRunDs>
  • EndDate Validation Failed: Reports can only be requested for dates greater than 31/Mar/2015 12:00:00 AM
  • EndDate Validation Failed: Please provide a valid endDate in format yyyy-MM-dd
  • endDate is before startDate
  • <reportType> Report does not support input params startDate, endDate or reportDate.
  • Advertiser Id validation failed
  • ReportMetrics Validation failed. Please provide valid reportMetrics values
  • campaignId, startDate,endDate are mandatory metrics for <reportType> report
  • campaignId, startDate,endDate mandatory metrics for <reportType> report
  • <reportMetrices> is not valid metric for <reportType> report
  • ReportMetrics Validation failed. You cannot provide date along with startDate/endDate for <reportType> report
  • Metric name cannot be empty.
  • r <equestedMetric> not enabled for <reportType> report.
403 Forbidden
  • User not Authenticated
  • AdOps role does not access to any campaigns
  • You don't have access to this advertiser
429 Too many requests <Exception Message>
500 Internal Server Error There was an error processing the request

Retrieve Snapshot Reports

Description You can retrieve report snapshots by providing snapshot id and advertiser id for an advertiser

End Point:/api/v2/snapshot

HTTP Method: GET

Query Parameters

Parameter Description Type Required Possible Values
advertiserId The ID of the advertiser Integer Y Unique numeric identifier for the advertiser. This is the advertising account id. This parameter can take only one advertiser Id for each snapshot report request.
snapshotId ID of the snapshot Integer Y Unique String identifier for each snapshot report request.

Note:

  1. The format of the report is CSV, and it will be enclosed in “GZIP” file format by default.
  2. You can request the following type of snapshots:
  3. Reports for Search Brand Amplifier campaigns: Report snapshots provide Search Brand Amplifier campaign metrics like they do for non- Search Brand Amplifier, however, following are some rules that specifically govern metrics for Search Brand Amplifier campaigns:
    • Clicks and Impressions are attributed as per clicks and display for each item displayed in Search Brand Amplifier placement
    • Search Brand Amplifier placement is only available on Search page; hence its metrics are included in Search page only for page type report
    • Report Type: itemHealth/itemHealthV2 is not part of Snapshot v2 endpoint
    • Report Type: itemKeyword is not part of Snapshot v2 endpoint. Item Keyword report will be available only on Snapshot v1 reports

Sample Request

1
2
3
4
5
6
7
8
curl --location 
"https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot?advertiserId={advertiserId}&snapshotId={snapshotId}" 
--header 'Authorization: Bearer ************************' 
--header 'accept: application/json' 
--header 'WM_SEC.AUTH_SIGNATURE: ***********' 
--header 'WM_CONSUMER.ID: *******************' 
--header 'WM_CONSUMER.intimestamp: 1565309779' 
--header 'WM_CONSUMER.key_version: *' 
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot?advertiserId={advertiserId}&snapshotId={snapshotId}")
.method("GET", body)
.addHeader("Authorization", "Bearer *********************")
.addHeader("wm_consumer.id", "***********")
.addHeader("wm_sec.key_version", "2")
.addHeader("wm_sec.auth_signature", "***********")
.addHeader("wm_qos.correlation_id", "12345")
.addHeader("wm_consumer.intimestamp", "1700221256000").build();
Response response = client.newCall(request).execute();
const axios = require('axios'); 
let config = { 
method: 'get', 
maxBodyLength: Infinity, 

url: 'https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot?advertiserId={advertiserId}&snapshotId={snapshotId}', 

headers: {  
  'wm_consumer.id': '******************',  
  'wm_sec.key_version': '2',  
  'wm_sec.auth_signature': '****************
  'wm_qos.correlation_id': '12345',  
  'wm_consumer.intimestamp': '****************',  
  'Authorization': 'Bearer ******************' 
} 
}; 
axios.request(config) 
.then((response) => {
console.log(JSON.stringify(response.data)); 
}) 
.catch((error) => { 
console.log(error); 
}); 
import requests
url = "https://developer.api.us.stg.walmart.com/api-proxy/service/sp/api-sams/v1/api/v2/snapshot?advertiserId={advertiserId}&snapshotId={snapshotId}"
payload = {}
headers = {
  'Authorization': 'Bearer *********************************',
'wm_consumer.id': '************',
'wm_sec.key_version': '2',
'wm_sec.auth_signature': '*************',
'wm_qos.correlation_id': '12345',
'wm_consumer.intimestamp': '1706688478000'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Response

Element Description Type
snapshotId ID of the snapshot String
jobStatus It is an indicator to confirm status of snapshot generation. The possible values of jobStatus are: pending, processing, done, failed, expired String
details Details of the error if value of response code is failure String
code The response code can have following values: success, failure String

Note: TTL (Time to Live) for files generated is one day

If you want to retrieve keyword report based on the response for Create Report Request (Sample Response 1)

Sample Response 1

[ 
  {
    "code": "success",
    "snapshotId": "******************",
    "details": "https://advertising.samsclub.com/file/{{snapshotId}}",
    "jobStatus": "done"
  }
]

The snapshot file is in CSV format that includes response for each report type. You can request multiple report types in one request; however, the response would be captured in one ZIP/GZIP file as explained in the “Types of Format” section. It will have single CSV file returning response for all report types.

Example of the content of snapshot with id “10”. The file format is “CSV”:

  date      keywordId   searchedKeyword     biddedKeyword   matchType   campaignName    adGroupName     campaignId  adGroupId   bid   numAdsShown   numAdsClicks    adSpend     directAttributedSales3days    directAttributedSales14days   directAttributedSales30days   brandAttributedSales3days     brandAttributedSales14days    brandAttributedSales30days    relatedAttributedSales3days     relatedAttributedSales14days    relatedAttributedSales30days    attributedUnits3days    attributedUnits14days   attributedUnits30days   attributedSales3days    attributedSales14days   attributedSales30days   ntbUnits3days   unitsSold3days  inStoreUnitsSold3days   ntbOrders3days  attributedOrders3days   inStoreOrders3days  ntbRevenue3days     revenue3days    offlineAttributedSales3days

7/7/2023      1234          cookies            cookies        exact     test_cookies       Group1           123        1234      5       1094           115           34.5              339.24                          339.24                          339.24                      0                               0                           0                               21.76                           21.76                           21.76                       75                      75                       75                     7                       89                       789                 789              42                 75                  10                 38                      63                 7                442.16               101.8

Note:

  1. maximum character length of 60 characters is returned for searchedKeyword
  2. searchedKeyword field will provide:
    a. search query entered by the site visitor, in an event when an ad is
    delivered on Search In-grid placements
    b. Item ID (anchor item) specific to the Item Page on which the ad is
    delivered, in an event when an ad is delivered on the item page
    placements

If you want to retrieve adGroup report based on the response for Create Report Request (Sample Response 2)

Sample Response 2

[ 
  {
    "code": "success",
   "snapshotId": "******************",
    "details": "https://advertising.samsclub.com/file/{{snapshotId}}",
    "jobStatus": "done"
  }
]

Example of the content of snapshot with id “11”. The file format is “CSV”:

  date      keywordId       searchedKeyword     biddedKeyword       matchType       campaignName        adGroupName     campaignId      adGroupId   bid     numAdsShown     numAdsClicks        adSpend     directAttributedSales3days    directAttributedSales14days    directAttributedSales30days    brandAttributedSales3days     brandAttributedSales14days    brandAttributedSales30days     relatedAttributedSales3days    relatedAttributedSales14days     relatedAttributedSales30days     attributedUnits3days       attributedUnits14days     attributedUnits30days     attributedSales3days      attributedSales14days     attributedSales30days    ntbUnits3days   unitsSold3days      inStoreUnitsSold3days       ntbOrders3days     attributedOrders3days    inStoreOrders3days      ntbRevenue3days     revenue3days    offlineAttributedSales3days

7/7/2023      1234                Coke              Coke              exact           Test_Coke             Group1          123            1234      5          1094            115               34.5              339.24                          339.24                          339.24                          0                           0                               0                               21.76                           21.76                           21.76                        75                         75                        75                        789                       789                       789                   42              75                    10                        38                    63                      7                      442.16           789                     101.6

If you want to retrieve platform report based on the response for Create Report Request (Sample Response 3)

Sample Response 3

[ 
  {
    "code": "success",
   "snapshotId": "******************",
    "details": "https://advertising.samsclub.com/file/{{snapshotId}}",
    "jobStatus": "done"
  }
]

Example of the content of snapshot with id “12”. The file format is “CSV”:

   "date"       "campaignId"    "adGroupId"     "platform"    "numAdsShown"    "numAdsClicks"    "adSpend"    "directAttributedSales3days"    "directAttributedSales14days"     "directAttributedSales30days"     "attributedUnits3days"    "attributedUnits14days"     "attributedUnits30days"     "brandAttributedSales3days"     "brandAttributedSales14days"     "brandAttributedSales30days"      "relatedAttributedSales3days"      "relatedAttributedSales14days"      "relatedAttributedSales30days"      "attributedOrders3days"      "attributedOrders14days"     "attributedOrders30days"

"2022-06-06"      "609967"      "771138915"      "desktop”       "100"              "10"            "2"                   "3"                               "7"                             "19"                            "23"                      "39"                       "5"                            "21"                            "37"                            "4"                                 "20"                                "36"                                "11"                            "27"                         "43"                         "29"

"2022-06-06"      "609968"      "77113896"       "desktop”       "100"              "10"            "2"                   "3"                               "7"                             "19"                            "23"                      "39"                       "5"                            "21"                            "37"                            "4"                                 "20"                                "36"                                "11"                            "27"                         "43"                         "29"

"2022-06-06"      "610534"      "771139421"      "desktop”       "100"              "10"            "2"                   "3"                               "7"                             "19"                            "23"                      "39"                       "5"                            "21"                            "37"                            "4"                                 "20"                                "36"                                "11"                            "27"                         "43"                         "29"

HTTP Status Code

Status Code Description Possible Error Messages
200 OK Advertiser Id validation failed
400 Bad request Snapshot Id not found in request
403 Forbidden
  • User not Authenticated
  • AdOps role does not access to any campaigns
  • You don't have access to this advertiser
  • You do not have permission to perform this action
404 Not found SnapshotId not found
429 Too many requests <Exception Message>
500 Internal Server Error There was an error processing the request

Definition of Various Parameters Generated Across the Snapshot Reports

Note: All the view metrics (brandViewRevenue, offlineViewRevenue, viewRevenue) are no longer supported after 3-1-2021 and their values will be 0 with effect from this date.

Parameter Description Data Type Element Type
adGroupId Id of the ad group Integer Dimension
adGroupName Name of the ad group String Dimension
adSpend The amount of budget spent in dollars
Note:
  • adSpend can be retrieved by the formula: CPC*clicks
  • CPC Bid amount will be restricted to first two decimal places for advertisers. Any decimal digit beyond the first 2 digits will be truncated without rounding off.
String Dimension
attributedOrders14days Attributed orders based off the same brand as the advertised item in dollars, over 14 days click. Integer Metric
attributedOrders30days Attributed orders based off the same brand as the advertised item in dollars, over 30 days click. Integer Metric
attributedOrders3days Attributed orders based off the same brand as the advertised item in dollars, over 3 days click. Integer Metric
attributedUnits14days Attributed units sold based off the same brand as the advertised item in dollars, over 14 day click. Integer Metric
attributedUnits30days Attributed units sold based off the same brand as the advertised item in dollars, over 30 day click. Integer Metric
attributedUnits3days Attributed units sold based off the same brand as the advertised item in dollars, over 3 day click. Integer Metric
searchedKeyword searchedKeyword field will provide:
  • search query entered by the site visitor, in an event when an ad is delivered on Search Carousel or Search In-grid placements
  • Item ID (anchor item) specific to the Item Page on which the ad is delivered, in an event when an ad is delivered on the item page placements
Note: maximum character length of 60 characters is returned for searchedKeyword.
String Dimension
biddedKeywords

Actual Keyword that was used in bidding

Note: biddedKeywords column will provide bidded category path for rows reporting on category bids. i.e. when matchType is category
String Dimension
brand different brands of items in your campaign String Dimension
brandAttributedSales14days Attributed sales based off the direct click of the same brand as the advertised item in dollars, over 14 days click. Double Metric
brandAttributedSales30days Attributed sales based off the direct click of the same brand as the advertised item in dollars, over 30 days click. Double Metric
brandAttributedSales3days Attributed sales based off the direct click of the same brand as the advertised item in dollars, over 3 days click. Double Metric
campaignId Id of the campaign Integer Dimension
campaignName Name of the campaign String Dimension
category Categories of the items in your campaign String Dimension
directAttributedSales14days Attributed sales revenue based off the direct click of the advertised item in dollars, over 14 days click. Double Metric
directAttributedSales30days Attributed sales revenue based off the direct click of the advertised item in dollars, over 30 days click. Double Metric
directAttributedSales3days Attributed sales revenue based off the direct click of the advertised item in dollars, over 3 days click. Double Metric
date Specific day and time for which the report is pulled. This is available only for item keyword report currently. Date-time Dimension
itemId Id of the item String Dimension
itemImage Item Image URL for items else Logo URL for itemId ‘1001’ String Dimension
itemName Name of the item String Dimension
keywordId Id of the keyword
Note:
  • keywordId holds good only for keywords added in manual campaigns. It will be returned empty for a keyword in auto campaign.
  • For Search Brand Amplifier campaigns campaigns only: In snapshot report, keywordId will be empty for a row, showing category performance data i.e. the keywordId will be empty when the matchType is category.
String Dimension
matchType Match type is a set of options to decide matching criteria for keywords. Match type values can be: exact, phrase, broad String Dimension
numAdsClicks Number of ads clicked Integer Metric
numAdsShown Number of ads shown Integer Metric
pageType Different page types for page specific reports.
The values for page types: browse, item, search, topic, category, homepage, other (any other pages not falling into the categories above)
String Dimension
placement The location or placement to serve ads for keyword campaigns. Possible values are: Search In-grid String Dimension
platform The platform where the campaign is running. The values for platform: mobile, desktop, app, others String Dimension
relatedAttributedSales14days Attributed sales revenue based off the direct click of the same brand and category as the advertised item in dollars, over 14 days click. Double Metric
relatedAttributedSales30days Attributed sales revenue based off the direct click of the same brand and category as the advertised item in dollars, over 30 days click. Double Metric
relatedAttributedSales3days Attributed sales revenue based off the direct click of the same brand and category as the advertised item in dollars, over 3 days click. Double Metric
attributedSales3days Total sales revenue made from units sold over 3 days click. Double Metric
attributedSales14days Total sales revenue made from units sold over 14 days click. Double Metric
attributedSales30days Total sales revenue made from units sold over 30 days click. Double Metric
inStoreUnitsSold3days In-store total attributed units, over 3 day click. Double Metric
inStoreUnitsSold14days In-store total attributed units, over 14 day click. Double Metric
inStoreUnitsSold30days In-store total attributed units, over 30 day click.. Double Metric
inStoreOrders3days In-store total attributed orders over 3 days click. Double Metric
inStoreOrders14days In-store total attributed orders over 14 days click. Double Metric
inStoreOrders30days In-store total attributed orders over 30 days click. Double Metric
offlineAttributedSales3days Total sales revenue made from units sold offline over 3 days click. Double Metric
offlineAttributedSales14days Total sales revenue made from units sold offline over 14 days click. Double Metric
offlineAttributedSales30days Total sales revenue made from units sold offline over 30 days click. Double Metric

Note: For more information refer Campaign Reporting section here

Report Type availability

Report Type Report Availability via Snapshot endpoint Auto Bidded Campaigns Keyword Bidded Campaigns Search Brand Amplifier
adItem Both snapshot v1 and snapshot v2 Yes Yes Yes
adGroup Both snapshot v1 and snapshot v2 Yes Yes Yes
platform Both snapshot v1 and snapshot v2 Yes Yes Yes
pageType Both snapshot v1 and snapshot v2 Yes Yes Yes
keyword Both snapshot v1 and snapshot v2 No Yes Yes
brand Both snapshot v1 and snapshot v2 Yes Yes Yes
category Both snapshot v1 and snapshot v2 Yes Yes Yes
placement Both snapshot v1 and snapshot v2 Yes Yes Yes
videoCampaign Only via snapshot v2 Yes Yes Yes
videoKeywords Only via snapshot v2 Yes Yes Yes

Applicable Placements for Campaign

Placement Name Auto Bid Campaigns Keyword Bidded Campaigns Search Brand Amplifier Campaigns
Search In-grid Yes Yes No
Search Brand Amplifier (Top of Search page) No No Yes

Description for all ad placements

Placement Name Description
Search In-grid Metrics from ads served on the Search In-grid placement
Other Metrics where we couldn’t capture which placement the ads served on.