Retail Campaign Performance

There are a variety of ways to measure Performance Max retail campaigns based on your reporting objectives.

Performance for all retail campaigns

The most basic example is retrieving the performance of all Performance Max retail campaigns using the methodology of the All Performance Max campaign performance example . To create a Performance Max retail campaign, you must populate the shopping_setting field in your campaign with the merchant_id of your Merchant Center account. Adding the condition campaign.shopping_setting.merchant_id IS NOT NULL to the WHERE clause then filters the result set to include only retail campaigns.

  SELECT 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 campaign 
 WHERE 
  
 campaign 
 . 
 advertising_channel_type 
  
 = 
  
 'PERFORMANCE_MAX' 
  
 AND 
  
 campaign 
 . 
 shopping_setting 
 . 
 merchant_id 
  
 IS 
  
 NOT 
  
 NULL 
  
 AND 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
 

Campaign performance for a feed_label

The campaign.shopping_setting.feed_label field can be used to target specific product feeds in your Merchant Center account. You can filter on this field to get reporting metrics for all campaigns associated with a specific product feed. For example, the following query demonstrates how to retrieve metrics for all Performance Max campaigns that target products intended to be promoted during the winter season.

  SELECT 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 campaign 
 WHERE 
  
 campaign 
 . 
 advertising_channel_type 
  
 = 
  
 'PERFORMANCE_MAX' 
  
 AND 
  
 campaign 
 . 
 shopping_setting 
 . 
 merchant_id 
  
 IS 
  
 NOT 
  
 NULL 
  
 AND 
  
 campaign 
 . 
 shopping_setting 
 . 
 feed_label 
  
 = 
  
 'WINTER-PRODUCTS' 
  
 AND 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
 

Product performance

You can use the shopping_performance_view to retrieve product-level metrics across all of your Performance Max retail campaigns, as shown in the following query. Filtering on campaign.advertising_channel_type limits the results to Performance Max campaigns, and including segments.product_item_id provides product-level metrics. This implicitly filters for retail campaigns because non-retail campaigns don't have associated products.

  SELECT 
  
 segments 
 . 
 product_item_id 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 cost_micros 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 all_conversions 
 , 
  
 campaign 
 . 
 advertising_channel_type 
 FROM 
  
 shopping_performance_view 
 WHERE 
  
 campaign 
 . 
 advertising_channel_type 
  
 = 
  
 'PERFORMANCE_MAX' 
  
 AND 
  
 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 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 Performance Max 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 Performance Max for retail campaigns.

The following example demonstrates how these cart data metrics can be used to understand product-level performance for Performance Max 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 
  
 = 
  
 'PERFORMANCE_MAX' 
  
 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 
  
 = 
  
 'PERFORMANCE_MAX' 
  
 AND 
  
 campaign 
 . 
 shopping_setting 
 . 
 merchant_id 
  
 IS 
  
 NOT 
  
 NULL 
  
 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 
 

Campaign performance by asset group and product group

The following example demonstrates how asset_group_product_group_view can be used to retrieve performance metrics by asset_group and asset_group_listing_group_filter . The example segments the results by product partition tree node for each asset_group in the specified campaign.

  SELECT 
  
 asset_group 
 . 
 id 
 , 
  
 asset_group_listing_group_filter 
 . 
 id 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 asset_group_product_group_view 
 WHERE 
  
 campaign 
 . 
 id 
  
 = 
  
  CAMPAIGN_ID 
 
  
 AND 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
 

Asset group performance by product group

Alternatively, you can use the asset_group_product_group_view to get performance metrics by asset_group_listing_group_filter but limit the results to a single asset_group by adding an asset_group filtering condition to the WHERE clause.

  SELECT 
  
 asset_group_listing_group_filter 
 . 
 id 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 asset_group_product_group_view 
 WHERE 
  
 asset_group 
 . 
 id 
  
 = 
  
  ASSET_GROUP_ID 
 
  
 AND 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
 

Listing group filter dimension performance

Taking the previous example a step further, you can segment performance metrics by the asset_group_listing_group_filter dimension. The following example demonstrates how to retrieve performance metrics by product brand, which is done by adding asset_group_listing_group_filter.case_value.product_brand.value to the SELECT clause. This also filters the results to include only asset_group_listing_group_filter entities that have a product brand dimension.

You can perform a similar analysis by replacing asset_group_listing_group_filter.case_value.product_brand with a different dimension, such as asset_group_listing_group_filter.case_value.product_condition.condition .

  SELECT 
  
 asset_group_listing_group_filter 
 . 
 case_value 
 . 
 product_brand 
 . 
 value 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 conversions 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 asset_group_product_group_view 
 WHERE 
  
 asset_group 
 . 
 id 
  
 = 
  
  ASSET_GROUP_ID 
 
  
 AND 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_30_DAYS 
 
Design a Mobile Site
View Site in Mobile | Classic
Share by: