You can use the
aggregateProductStatuses.list
method to get a high-level overview of the status of products in your
Merchant Center account. This is useful for monitoring the overall health of
your product data without needing to fetch every individual product. This method
provides the total number of products you have, broken down by status (approved,
pending, disapproved), and also lists any issues that are affecting your
products.
Special considerations
There are special considerations when using the aggregateProductStatuses.list
method.
- Data availability: Expect a delay of more than 30 minutes between
when a product is inserted or updated and when its status is reflected in the
aggregateProductStatusesresponse. - Issue consistency: The issue titles and descriptions returned by the
aggregateProductStatuses.listmethod are intended to be consistent with the issues returned by the Products API. However, they might differ from the issue descriptions shown in the Merchant Center user interface.
Get an overview of all product statuses
This example shows how to retrieve a list of AggregateProductStatus resources.
Each resource represents the status of products for a specific combination of
destination and country. Calling aggregateProductStatuses.list
without any parameters returns all available statuses for your account.
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/aggregateProductStatuses
Here's a sample response from a successful call:
{
"aggregateProductStatuses": [
{
"name": "accounts/{ACCOUNT_ID}/aggregateProductStatuses/SHOPPING_ADS~US",
"reportingContext": "SHOPPING_ADS",
"countryCode": "US",
"statistics": {
"approvedCount": "1500",
"pendingCount": "50",
"disapprovedCount": "25"
},
"issues": [
{
"issueType": "missing_image",
"severity": "ERROR",
"numProducts": "15",
"sampleProducts": [
"accounts/{ACCOUNT_ID}/products/online~en~US~SKU001",
"accounts/{ACCOUNT_ID}/products/online~en~US~SKU002"
]
},
{
"issueType": "invalid_price",
"severity": "CRITICAL",
"numProducts": "10",
"sampleProducts": [
"accounts/{ACCOUNT_ID}/products/online~en~US~SKU003"
]
}
]
},
{
"name": "accounts/{ACCOUNT_ID}/aggregateProductStatuses/FREE_LISTINGS~US",
"reportingContext": "FREE_LISTINGS",
"countryCode": "US",
"statistics": {
"approvedCount": "1510",
"pendingCount": "50",
"disapprovedCount": "15"
},
"issues": [
{
"issueType": "missing_image",
"severity": "ERROR",
"numProducts": "15",
"sampleProducts": [
"accounts/{ACCOUNT_ID}/products/online~en~US~SKU001",
"accounts/{ACCOUNT_ID}/products/online~en~US~SKU002"
]
}
]
}
]
}
Get product statuses for a specific country and destination
You can filter the results to see the status for a specific country and
destination by using the filter query parameter with the
aggregateProductStatuses.list method. For example:
country = "US" AND reportingContext = "SHOPPING_ADS".
For more information, see
Filter syntax.
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/aggregateProductStatuses?filter=countryCode%3D"US"%20AND%20reportingContext%3D"SHOPPING_ADS"
Here's a sample response from a successful call:
{
"aggregateProductStatuses": [
{
"name": "accounts/{ACCOUNT_ID}/aggregateProductStatuses/SHOPPING_ADS~US",
"reportingContext": "SHOPPING_ADS",
"countryCode": "US",
"statistics": {
"approvedCount": "1500",
"pendingCount": "50",
"disapprovedCount": "25"
},
"issues": [
{
"issueType": "missing_image",
"severity": "ERROR",
"numProducts": "15",
"sampleProducts": [
"accounts/{ACCOUNT_ID}/products/online~en~US~SKU001",
"accounts/{ACCOUNT_ID}/products/online~en~US~SKU002"
]
},
{
"issueType": "invalid_price",
"severity": "CRITICAL",
"numProducts": "10",
"sampleProducts": [
"accounts/{ACCOUNT_ID}/products/online~en~US~SKU003"
]
}
]
}
]
}