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.
-
asset_group_product_group_view
-
campaign
-
customer
(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_size
metrics.average_order_value_micros
metrics.cost_of_goods_sold_micros
metrics.cross_sell_cost_of_goods_sold_micros
metrics.cross_sell_gross_profit_micros
metrics.cross_sell_revenue_micros
metrics.cross_sell_units_sold
metrics.gross_profit_margin
metrics.gross_profit_micros
metrics.lead_cost_of_goods_sold_micros
metrics.lead_gross_profit_micros
metrics.lead_revenue_micros
metrics.lead_units_sold
metrics.orders
metrics.revenue_micros
metrics.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