Viewing Performance Max campaign performance is similar to [viewing the
performance for any other campaign type](https://developers.google.com/google-ads/api/docs/reporting/example). However, you must add a filter to
include only campaigns with an [`advertising_channel_type`](https://developers.google.com/google-ads/api/fields/v26/campaign#campaign.advertising_channel_type) equal to
`PERFORMANCE_MAX`.

## Performance for all Performance Max campaigns

For example, the following query returns the performance for all Performance Max
campaigns over the last 30 days. You can also limit the results to a single
campaign by filtering on [`campaign.id`](https://developers.google.com/google-ads/api/fields/v26/campaign#campaign.id) or [`campaign.resource_name`](https://developers.google.com/google-ads/api/fields/v26/campaign#campaign.resource_name).
This corresponds to the [Performance Max channel asset Reporting](https://support.google.com/google-ads/answer/10725056) in the
Google Ads UI.

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

## Performance Max campaign placements

The [`performance_max_placement_view`](https://developers.google.com/google-ads/api/fields/v26/performance_max_placement_view) exposes placement impression metrics
for Performance Max campaigns to gain insights into where a campaign's ads were
shown. You can also segment this report by [`segments.ad_network_type`](https://developers.google.com/google-ads/api/fields/v26/segments#segments.ad_network_type) to
see placement metrics broken down by the ad network type.

The following query demonstrates how to retrieve impressions by placement,
segmented by ad network type, for a specific Performance Max campaign during the
last 30 days.

    SELECT
      performance_max_placement_view.display_name,
      performance_max_placement_view.placement,
      performance_max_placement_view.placement_type,
      performance_max_placement_view.target_url,
      segments.ad_network_type,
      metrics.impressions,
      campaign.id
    FROM performance_max_placement_view
    WHERE
      campaign.id = CAMPAIGN_ID
      AND segments.date DURING LAST_30_DAYS

## Performance Max campaign performance by channel

Available in Google Ads API v23 and later.

To understand how your Performance Max campaigns are performing across different
channels, you can segment your campaign reports by
[`segments.ad_network_type`](https://developers.google.com/google-ads/api/fields/v26/segments#segments.ad_network_type), [`segments.ad_using_product_data`](https://developers.google.com/google-ads/api/fields/v26/segments#segments.ad_using_product_data), and
[`segments.ad_using_video`](https://developers.google.com/google-ads/api/fields/v26/segments#segments.ad_using_video). This lets you see metrics like impressions,
clicks, and conversions broken down by the ad network where the ads were shown,
and whether product data or video assets were used in the ad.

The following query demonstrates how to retrieve Performance Max campaign
performance segmented by channel, product data usage, and video usage:

    SELECT
      campaign.name,
      segments.ad_network_type,
      segments.ad_using_product_data,
      segments.ad_using_video,
      metrics.impressions,
      metrics.clicks,
      metrics.conversions,
      metrics.cost_micros
    FROM campaign
    WHERE
      campaign.advertising_channel_type = 'PERFORMANCE_MAX'
      AND segments.date DURING LAST_30_DAYS

## Performance Max campaign feed types

The [`campaign.feed_types`](https://developers.google.com/google-ads/api/fields/v26/campaign#campaign.feed_types) field shows the types of feeds attached to a
campaign. For Performance Max campaigns, this can indicate the business
vertical, such as `MERCHANT_CENTER_FEED` for Performance Max for Retail
campaigns or `TRAVEL_FEED` for Performance Max with Travel Goals campaigns.

The following query returns the campaign ID and feed types for all Performance
Max campaigns:

    SELECT
      campaign.id,
      campaign.feed_types
    FROM campaign
    WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'

## Performance Max campaigns for Local Services

Performance Max campaigns can also be configured as Local Services campaigns
(see the [Performance Max for pay-per-lead goals guide](https://developers.google.com/google-ads/api/performance-max/pay-per-lead)).
You can identify and filter these campaigns by querying the
[`campaign.pmax_campaign_settings.local_services_enabled`](https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign.PmaxCampaignSettings#local_services_enabled) field.

The following query retrieves only Performance Max campaigns that are enabled
for Local Services:

    SELECT
      campaign.id,
      campaign.name,
      campaign.pmax_campaign_settings.local_services_enabled
    FROM campaign
    WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'
      AND campaign.pmax_campaign_settings.local_services_enabled = true