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