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.md.txt#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.md.txt#campaign.id) or [`campaign.resource_name`](https://developers.google.com/google-ads/api/fields/v26/campaign.md.txt#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.

```sql
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.md.txt) 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.md.txt#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.

```sql
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

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.md.txt#segments.ad_network_type), [`segments.ad_using_product_data`](https://developers.google.com/google-ads/api/fields/v26/segments.md.txt#segments.ad_using_product_data), and
[`segments.ad_using_video`](https://developers.google.com/google-ads/api/fields/v26/segments.md.txt#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:

```sql
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.md.txt#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:

```sql
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.md.txt)).
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.md.txt#local_services_enabled) field.

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

```sql
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
```