API Issue Severity and Diagnostics Issue Prioritization

Suppose you want to get information on the products currently available in your account. In particular, you're interested in knowing whether any of your products have issues that need addressing. You know how to get this information from the Merchant Center, but you'd rather set up an automatic alerting system using the Content API. In this guide, we'll go through how the issue severity information in the Content API maps to the issue prioritization seen in the Diagnostics reports in the Merchant Center.

An example interaction with the Content API

To get the issues affecting your products, you can run Accountstatuses.get for your account. Here's a cut down example of the resource you get back:

{
 "accountId": "...",
 "dataQualityIssues": [
  {
   "id": "description_short",
   "severity": "suggestion",
   "numItems": 5,
   "exampleItems": [ ...5 items... ],
   ...
  },
  {
   "id": "image_link_broken",
   "severity": "critical",
   "numItems": 47,
   "exampleItems": [ ...25 items... ],
   ...
  },
  ...
}

For description_short, you can see that 5 items in the account are affected, and 5 example items are given. That means you have all the affected items for this issue and don't need to dig any deeper. Checking image_link_broken, you can see there are 47 items affected. However, only 25 examples were provided. This means there are additional products in the account that are affected by this issue.

To find all the affected products, you call Productstatuses.list to get a complete list of issues on a per-product basis. It returns entries like the following:

{
 "productId": "online:en:US:book#14774266264",
  ...
  "dataQualityIssues": [
   {
    "id": "missing_condition_microdata",
    "severity": "suggestion",
    "timestamp": "2016-10-28T00:55:19Z"
   },
   ...
   {
    "id": "auth/frontend/not_claimed",
    "severity": "error",
    "location": "",
    "detail": "Website URL not claimed"
   }
  ],
 ...
}

Now you have information about the issues for all the products in your account, but it’s unclear how important it is to fix these issues. The Diagnostics section in Merchant Center defines issue prioritization and precisely what the different priorities mean, so you take a look at the report:

Diagnostics report from Merchant Center

How does all the information you're getting from the Content API for Shopping correlate with what you see in the Diagnostics section? Which entries are issues you need to fix ASAP, and which ones would be nice to tackle, but are not essential to fix? Which issues will stop your products from serving in your ads if unaddressed?

As shown in these examples, both the Diagnostics section and the Content API (via the Accountstatuses and Productstatuses services) provide information about issues for products on that account. Each source divides issues into three categories based on the severity of the issue. Understanding how to judge the severity of issues returned from the status-related services can help quickly pinpoint which issues are the most important to address, and which issues can be safely ignored.

Issue prioritization and issue severity

In the Diagnostics section, the issue prioritization describes the issue severity as one of three levels: errors, warnings, and notifications. In report tables like the one above, these levels are represented by images that appear in the first column: Error for errors, Warning for warnings, and Notification for notifications.

  • Errors have caused either an account suspension or an item disapproval. They should be resolved as soon as possible to ensure items are eligible to appear in results again.

  • Warnings could negatively impact the performance of your ads and will likely lead to item or account suspensions in the future unless the issue is resolved.

  • Notifications are suggested optimizations to increase data quality. Resolving these issues is recommended, but not required.

We need not visit Merchant Center to find out which errors are which, though. In the Content API, the dataQualityIssues[].severity field in both the Accountstatuses and Productstatuses resource objects provides the same issue severity information. These fields can contain one of three values: critical, error, and suggestion.

These values have a one-to-one correspondence with the issue prioritization on the Diagnostics tab:

Data Quality Issue Severity (API) Issue Prioritization
critical Error (Error)
error Warning (Warning)
suggestion Notification (Notification)

So in our Accountstatuses example, the description_short issue lets you know that you could provide a better description for the product, but it won't affect its approval for serving. On the other hand, the image_link_broken is much more serious and will stop the product from serving in ads immediately. Similarly, in our Productstatuses example, the various microdata-related issues, like missing_condition_microdata, are suggestions that can be ignored if you don't want to add microdata to your product pages, but the auth/frontend/not_claimed issue, if not resolved quickly, may lead to products being disapproved.

Armed with this information, you can now write alerting software that will bring important issues to your attention immediately while collecting less serious issues for eventual fixing, without having to visit Merchant Center to discern which is which.

发送以下问题的反馈:

此网页
Content API for Shopping