Reporting

As with other ad types, you can use GoogleAdsService.SearchStream to retrieve product status and performance data for Shopping products.

Campaigns that support products have the following dedicated reports:

Shopping Performance View

The Shopping Performance View provides aggregated historical reporting statistics for products by attributes such as product_item_id .

The Shopping Performance View captures the state of the product at the time the relevant metrics were recorded. This includes segments such as the product_title , which might have changed since the metric was recorded.

Here is an example query that retrieves impressions, clicks, cost, conversions and all conversions for products by product_item_id with clicks in the last 30 days (sorted in descending order by all conversions, then conversions, then clicks, then cost, then impressions):

  SELECT 
  
 segments 
 . 
 product_item_id 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 cost_micros 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 all_conversions 
 FROM 
  
 shopping_performance_view 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
  
 AND 
  
 metrics 
 . 
 clicks 
 > 
 0 
 ORDER 
  
 BY 
  
 metrics 
 . 
 all_conversions 
  
 DESC 
 , 
  
 metrics 
 . 
 conversions 
  
 DESC 
 , 
  
 metrics 
 . 
 clicks 
  
 DESC 
 , 
  
 metrics 
 . 
 cost_micros 
  
 DESC 
 , 
  
 metrics 
 . 
 impressions 
  
 DESC 
 

Product Group View

The Product Group View provides aggregated reporting statistics for Shopping listing groups (referred to as product groups in the UI). See the Performance Max reporting guide for Asset Group Product Group View examples.

Here is an example query that retrieves impressions, clicks, conversions, and all conversions for Shopping listing groups by campaign with impressions in the last 30 days (sorted in descending order by all conversions, then conversions, then clicks, then impressions):

  SELECT 
  
 campaign 
 . 
 name 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 all_conversions 
 FROM 
  
 product_group_view 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
  
 AND 
  
 metrics 
 . 
 impressions 
 > 
 0 
 ORDER 
  
 BY 
  
 metrics 
 . 
 all_conversions 
  
 DESC 
 , 
  
 metrics 
 . 
 conversions 
  
 DESC 
 , 
  
 metrics 
 . 
 clicks 
  
 DESC 
 , 
  
 metrics 
 . 
 impressions 
  
 DESC 
 

Shopping Product

The Shopping Product report provides the attributes and reporting statistics for products that exist in Google Merchant Center accounts linked to the Google Ads account. This report can be used to inspect statistics at a customer, campaign and ad group level.

Here is an example query that retrieves impressions, clicks, conversions, and all conversions for the last 30 days (sorted in descending order by all conversions, then conversions, then clicks, then impressions) for all Shopping products from all linked Google Merchant Center accounts:

  SELECT 
  
 shopping_product 
 . 
 resource_name 
 , 
  
 shopping_product 
 . 
 item_id 
 , 
  
 shopping_product 
 . 
 feed_label 
 , 
  
 shopping_product 
 . 
 merchant_center_id 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 all_conversions 
 FROM 
  
 shopping_product 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
 ORDER 
  
 BY 
  
 metrics 
 . 
 all_conversions 
  
 DESC 
 , 
  
 metrics 
 . 
 conversions 
  
 DESC 
 , 
  
 metrics 
 . 
 clicks 
  
 DESC 
 , 
  
 metrics 
 . 
 impressions 
  
 DESC 
 

See the Reporting guide for more details on queries.

Performance considerations

The Shopping product report can return a significant amount of data when an account is linked to a large number of products. The following recommendations can assist with improving the performance of your GAQL queries:

  • Queries at the campaign and ad group level will usually be quicker than those at the account level, as they are likely to contain fewer products and require access to less data.
  • The more fields and metrics in the SELECT clause, the slower the response time. We recommend selecting only the fields and metrics you require in the query.
  • Consider that products with one or more issues will return more data. You can filter by shopping_product.status in the WHERE to understand which products are likely to return issues that have caused the relevant status.

Shopping product report use-cases

The Shopping Product report provides flexible access to product information for campaigns that utilize product feeds. It can give you insights into the status of products from Google Merchant Center accounts, but also ads specific information such as performance metrics and issues that are preventing products from serving ads.

This section covers some typical use-cases similar to those possible in the " Products " view in the Google Ads UI.

The 'issues' field for Shopping Product is similar to that provided by productstatuses in Content API for Shopping, with the addition of issues that are specific to Google Ads. To check if the issue needs to be solved in Google Merchant Center or Google Ads, first check the shopping_product.issues.documentation field of the response, which includes a help center article to assist.

Specifying the report without filters for campaign or ad group will return all products at the account level.

It supports metrics, status and issues from all campaigns in the account of type:

  • Shopping
  • Performance Max

This query lets you see the status of the product, for example NOT_ELIGIBLE , and a list of issues specific to the product that have resulted in the given status:

  SELECT 
  
 shopping_product 
 . 
 resource_name 
 , 
  
 shopping_product 
 . 
 merchant_center_id 
 , 
  
 shopping_product 
 . 
 channel 
 , 
  
 shopping_product 
 . 
 language_code 
 , 
  
 shopping_product 
 . 
 feed_label 
 , 
  
 shopping_product 
 . 
 item_id 
 , 
  
 shopping_product 
 . 
 status 
 , 
  
 shopping_product 
 . 
 issues 
 FROM 
  
 shopping_product 
 

Product statuses (Campaign level)

Specifying the report with a campaign resource as part of the WHERE clause will return all products included in the selected campaign.

It is supported by the following campaign types that can utilize product feeds:

  • Shopping
  • Performance Max
  • Demand Gen
  • Video

This query lets you see the status of the product included in a given campaign. It lets you check the status of each product including the issues that are causing the status. For example, a paused campaign will affect the product status:

  SELECT 
  
 shopping_product 
 . 
 resource_name 
 , 
  
 shopping_product 
 . 
 campaign 
 , 
  
 campaign 
 . 
 name 
 , 
  
 shopping_product 
 . 
 merchant_center_id 
 , 
  
 shopping_product 
 . 
 channel 
 , 
  
 shopping_product 
 . 
 language_code 
 , 
  
 shopping_product 
 . 
 feed_label 
 , 
  
 shopping_product 
 . 
 item_id 
 , 
  
 shopping_product 
 . 
 status 
 , 
  
 shopping_product 
 . 
 issues 
 FROM 
  
 shopping_product 
 WHERE 
  
 shopping_product 
 . 
 campaign 
  
 = 
  
 "customers/<CUSTOMER_ID>/campaigns/<CAMPAIGN_ID>" 
 

Product statuses (Ad group level)

Specifying the report with bothan ad group resource and a campaign resource and as part of the WHERE clause will return all products included the selected campaign. The metrics, status and issues of the product will reflect whether it is included or excluded from the selected ad group.

This query lets you see the status of the product with respect to that ad group. It lets you confirm product group filters (at the ad group level) are being applied correctly and to check the status of each product:

  SELECT 
  
 shopping_product 
 . 
 resource_name 
 , 
  
 shopping_product 
 . 
 campaign 
 , 
  
 campaign 
 . 
 name 
 , 
  
 shopping_product 
 . 
 ad_group 
 , 
  
 ad_group 
 . 
 name 
 , 
  
 shopping_product 
 . 
 merchant_center_id 
 , 
  
 shopping_product 
 . 
 channel 
 , 
  
 shopping_product 
 . 
 language_code 
 , 
  
 shopping_product 
 . 
 feed_label 
 , 
  
 shopping_product 
 . 
 item_id 
 , 
  
 shopping_product 
 . 
 status 
 , 
  
 shopping_product 
 . 
 issues 
 FROM 
  
 shopping_product 
 WHERE 
  
 shopping_product 
 . 
 campaign 
  
 = 
  
 "customers/<CUSTOMER_ID>/campaigns/<CAMPAIGN_ID>" 
  
 AND 
  
 shopping_product 
 . 
 ad_group 
  
 = 
  
 "customers/<CUSTOMER_ID>/adGroups/<AD_GROUP_ID>" 
 

Specifying the report with a date or date range in the WHERE clause will return metrics for all products at the account level which are (regardless of whether the metrics are non-zero) for the specified time period.

You cannot select segments.date , doing so would result in an UNSUPPORTED_DATE_SEGMENTATION error.

This query lets you see the performance of the current product for a given day or other compatible date value. This can be used to build a summary for each returned product aggregated across all campaigns:

  SELECT 
  
 shopping_product 
 . 
 resource_name 
 , 
  
 shopping_product 
 . 
 merchant_center_id 
 , 
  
 shopping_product 
 . 
 channel 
 , 
  
 shopping_product 
 . 
 language_code 
 , 
  
 shopping_product 
 . 
 feed_label 
 , 
  
 shopping_product 
 . 
 item_id 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 shopping_product 
 WHERE 
  
 segments 
 . 
 date 
  
 = 
  
 '2024-01-01' 
 

Product performance with cart data

Retail advertisers can access relevant sales and profit metrics such as Revenue, Gross Profit, Gross Profit Margin, and Units sold. These metrics are available to all advertisers who implement Conversions with cart data across Shopping campaigns and are compatible with the following reports.

The following cart data metrics can be used in reports, such as the shopping_performance_view , for Shopping campaigns.

The following example demonstrates how cart data metrics can be used to analyze product level performance for Shopping campaigns in the last 30 days.

  SELECT 
  
 segments 
 . 
 product_item_id 
 , 
  
 segments 
 . 
 product_title 
 , 
  
 metrics 
 . 
 average_cart_size 
 , 
  
 metrics 
 . 
 average_order_value_micros 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 conversions_value 
 , 
  
 metrics 
 . 
 gross_profit_micros 
 , 
  
 metrics 
 . 
 gross_profit_margin 
 , 
  
 metrics 
 . 
 revenue_micros 
 , 
  
 metrics 
 . 
 units_sold 
 , 
  
 campaign 
 . 
 advertising_channel_type 
 FROM 
  
 shopping_performance_view 
 WHERE 
  
 campaign 
 . 
 advertising_channel_type 
  
 = 
  
 'SHOPPING' 
  
 AND 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
  
 AND 
  
 metrics 
 . 
 conversions 
 > 
 0 
 ORDER 
  
 BY 
  
 metrics 
 . 
 gross_profit_margin 
  
 DESC 
 , 
  
 metrics 
 . 
 revenue_micros 
  
 DESC 
 , 
  
 metrics 
 . 
 conversions_value 
  
 DESC 
 

Campaign performance with cart data

Cart data metrics can be used at the campaign level and can be combined with other performance metrics such as impressions, clicks, and cost.

  SELECT 
  
 campaign 
 . 
 id 
 , 
  
 campaign 
 . 
 name 
 , 
  
 campaign 
 . 
 advertising_channel_type 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 cost_micros 
 , 
  
 metrics 
 . 
 average_order_value_micros 
 , 
  
 metrics 
 . 
 gross_profit_micros 
 , 
  
 metrics 
 . 
 gross_profit_margin 
 FROM 
  
 campaign 
 WHERE 
  
 campaign 
 . 
 advertising_channel_type 
  
 = 
  
 'SHOPPING' 
  
 AND 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
 ORDER 
  
 BY 
  
 metrics 
 . 
 gross_profit_margin 
  
 DESC 
 , 
  
 metrics 
 . 
 average_order_value_micros 
  
 DESC 
 , 
  
 metrics 
 . 
 cost_micros 
  
 DESC 
 , 
  
 metrics 
 . 
 conversions 
  
 DESC 
 , 
  
 metrics 
 . 
 clicks 
  
 DESC 
 , 
  
 metrics 
 . 
 impressions 
  
 DESC 
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: