Page Summary
-
Performance Max retail campaigns can be measured in various ways depending on reporting objectives.
-
You can retrieve performance for all retail campaigns by filtering on the presence of a merchant ID in the campaign's shopping setting.
-
Filtering by
campaign.shopping_setting.feed_labelallows you to analyze performance for campaigns targeting specific product feeds or countries. -
The
shopping_performance_viewcan be used to get product-level metrics for retail campaigns. -
Cart data metrics, such as Revenue and Gross Profit, are available for retail advertisers who implement Conversions with cart data across Performance Max campaigns and can be used in various reports.
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
Retail campaign performance by channel
Available in Google Ads API v23 and later.
To analyze the performance of your Performance Max retail campaigns across
different channels, you can segment by segments.ad_using_product_data and
segments.ad_network_type. This lets you break down metrics for your
retail campaigns based on where the ads were served, and whether product data
was used in the ad.
SELECT
campaign.name,
segments.ad_network_type,
segments.ad_using_product_data,
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
AND segments.ad_using_product_data = true
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.search_budget_lost_impression_share,
metrics.search_rank_lost_impression_share,
metrics.search_budget_lost_absolute_top_impression_share,
metrics.search_rank_lost_absolute_top_impression_share,
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.
asset_group_product_group_viewcampaigncustomer(Aggregated for all campaigns)shopping_performance_view
The following cart data metrics can be used in reports, such as the
shopping_performance_view, for Performance Max for retail campaigns.
metrics.average_cart_sizemetrics.average_order_value_microsmetrics.cost_of_goods_sold_microsmetrics.cross_sell_cost_of_goods_sold_microsmetrics.cross_sell_gross_profit_microsmetrics.cross_sell_revenue_microsmetrics.cross_sell_units_soldmetrics.gross_profit_marginmetrics.gross_profit_microsmetrics.lead_cost_of_goods_sold_microsmetrics.lead_gross_profit_microsmetrics.lead_revenue_microsmetrics.lead_units_soldmetrics.ordersmetrics.revenue_microsmetrics.units_sold
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