View product statistics and issues

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"
          ]
        }
      ]
    }
  ]
}