Evaluate your products

You can use the Merchant Reports API to view performance data, filter your products by specific attributes, and improve your pricing.

Measure performance

You can use the Merchant Reports API ProductPerformanceView to retrieve performance metrics for your account.

Requirements

You need the Performance and insights role to retrieve this report.

To give an account the performance and insights role, patch the User resource for the account with the PERFORMANCE_REPORTING access right.

accounts.v1beta.accounts.users.patch replaces the entire User resource. To avoid losing information, call accounts.v1beta.accounts.users.get to get the full User resource, then provide all fields in your accounts.v1beta.accounts.users.patch request.

Sample query

The following query retrieves the impressions, clicks, and clickThroughRate for all products in your account during a specific 30-day period. To make the request, pass the following Merchant Center Query Language statement to the accounts.reports.search method:

SELECT impressions, clicks, clickThroughRate
FROM ProductPerformanceView
WHERE date BETWEEN '2020-12-01' AND '2020-12-30'

You can also segment the metrics in the query for more granular performance reports.

Filter products

You can use the Merchant Reports API's ProductView to show a filtered view of your product data, including product statuses. For example, you can query ProductView to list products that have issues, or to get a list of your new products and verify serving.

You must include the id field in the SELECT clause of your query. The id has the same value as the product's REST ID.

You can filter based on all the available fields, except itemIssues. You can sort the response based on all the available fields except the following:

  • gtin
  • itemIssues

Here's an example that returns your products with the status NOT_ELIGIBLE_OR_DISAPPROVED. To make the request, pass the following Merchant Center Query Language statement to the accounts.reports.search method:

SELECT
  id,
  offerId,
  feedLabel,
  title,
  aggregatedReportingContextStatus
  itemIssues
FROM ProductView
WHERE aggregatedReportingContextStatus = 'NOT_ELIGIBLE_OR_DISAPPROVED'

Here's a sample response from the preceding query:

{
  "results": [
    {
      "productView": {
        "id": "online~en~US~id0"
        "offerId": "id0",
        "feedLabel": "US",
        "aggregatedReportingContextStatus": "NOT_ELIGIBLE_OR_DISAPPROVED",
        "itemIssues": [
          {
            "type": {
              "code": "invalid_string_value",
              "canonicalAttribute": "n:product_code"
            },
            "severity": {
              "severityPerReportingContext": [
                {
                  "reportingContext": "SHOPPING_ADS",
                  "disapprovedCountries": [
                    "US"
                  ]
                },
                {
                  "reportingContext": "FREE_LISTINGS",
                  "disapprovedCountries": [
                    "US"
                  ]
                }
              ],
              "aggregatedSeverity": "DISAPPROVED"
            },
            "resolution": "MERCHANT_ACTION"
          },
          {
            "type": {
              "code": "apparel_missing_brand",
              "canonicalAttribute": "n:brand"
            },
            "severity": {
              "severityPerReportingContext": [
                {
                  "reportingContext": "SHOPPING_ADS",
                  "disapprovedCountries": [
                    "US"
                  ]
                }
              ],
              "aggregatedSeverity": "DEMOTED"
            },
            "resolution": "MERCHANT_ACTION"
          }
        ]
      }
    }
  ]
}

See the ProductView reference for more information about specific fields and behavior.

Improve pricing

You can use the price insights view to see suggested sale prices for your products, and predictions for the performance that you can expect if you update your products' prices. Using the price insights report can help you price your products more effectively.

See Improve product pricing with the price insights report for more information.

Query PriceInsightsProductView to view suggested sale prices for your products.

Here's a sample you can use to view suggested sales prices for your products. To make the request, pass the following Merchant Center Query Language statement to the accounts.reports.search method:

SELECT
  id,
  title,
  brand,
  price,
  suggested_price,
  predictedImpressionsChangeFraction,
  predictedClicksChangeFraction,
  predictedConversionChangeFraction
FROM PriceInsightsProductView

Here's a sample response from the preceding query:

{
   "results": [
    {
      "priceInsightsProductView": {
        "id": "online~en~US~12345",
        "title": "UGG Women's s Classic Mini",
        "brand": "UGG",
        "price" {
          "amountMicros": "124990000",
          "currencyCode": "USD"
        },
        "suggestedPrice" {
          "amountMicros": "135680000",
          "currencyCode": "USD"
        },
        "predictedImpressionsChangeFraction": "0.12609300017356873",
        "predictedClicksChangeFraction": "0.508745014667511",
        "predictedConversionsChangeFraction": "2.3431060314178467"
      }
    },
    {
      "priceInsightsProductView": {
        "id": "online~en~US~12346",
        "title": "Nike React Infinity Run Flyknit 2",
        "brand": "Nike",
        "price" {
          "amountMicros": "119990000"
          "currencyCode": "USD"
        },
        "suggestedPrice" {
          "amountMicros": "125440000",
          "currencyCode": "USD"
        },
        "predictedImpressionsChangeFraction": "0.1799899935722351",
        "predictedClicksChangeFraction": "0.6203680038452148",
        "predictedConversionsChangeFraction": "1.234868049621582"
      }
    },
    {
      "priceInsightsProductView": {
        "id": "online~en~US~12347",
        "title": "  New Balance 327 White Trainers",
        "brand": "New Balance",
        "price" {
          "amountMicros": "84990000"
          "currencyCode": "USD"
        },
        "suggestedPrice" {
          "amountMicros": "82000000",
          "currencyCode": "USD"
        },
        "predictedImpressionsChangeFraction": "0.11538799852132797",
        "predictedClicksChangeFraction": "0.5869849920272827",
        "predictedConversionsChangeFraction": "1.3622850179672241"
      }
    }
  ]
}