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
aggregateProductStatuses
response. - Issue consistency: The issue titles and descriptions returned by the
aggregateProductStatuses.list
method 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/v1beta/accounts/{ACCOUNT_ID}/aggregateProductStatuses
Here's a sample response from a successful call:
{
"aggregateProductStatuses": [
{
"name": "accounts/12345/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/12345/products/online~en~US~SKU001",
"accounts/12345/products/online~en~US~SKU002"
]
},
{
"issueType": "invalid_price",
"severity": "CRITICAL",
"numProducts": "10",
"sampleProducts": [
"accounts/12345/products/online~en~US~SKU003"
]
}
]
},
{
"name": "accounts/12345/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/12345/products/online~en~US~SKU001",
"accounts/12345/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/v1beta/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/12345/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/12345/products/online~en~US~SKU001",
"accounts/12345/products/online~en~US~SKU002"
]
},
{
"issueType": "invalid_price",
"severity": "CRITICAL",
"numProducts": "10",
"sampleProducts": [
"accounts/12345/products/online~en~US~SKU003"
]
}
]
}
]
}