You can retrieve asset performance data for Performance Max campaigns using the
[`asset_group_asset`](https://developers.google.com/google-ads/api/fields/v26/asset_group_asset) resource.

Performance is primarily indicated by:

1. **Status** : The `primary_status` and `primary_status_reasons` fields provide a comprehensive view of whether an asset is serving and why.
2. **Quantitative metrics** : Full performance statistics (such as `clicks`, `impressions`, and `conversions`) are now available at the asset level, allowing for a more granular evaluation of asset performance against specific campaign goals.

## Example query: Primary status and performance metrics

The following query retrieves `primary_status` details along with detailed
performance metrics:

    SELECT
      campaign.id,
      asset_group.id,
      asset_group_asset.asset,
      asset_group_asset.field_type,
      asset_group_asset.primary_status,
      asset_group_asset.primary_status_details,
      asset_group_asset.primary_status_reasons,
      asset_group_asset.policy_summary.policy_topic_entries,
      asset_group_asset.status,
      metrics.impressions,
      metrics.clicks,
      metrics.ctr,
      metrics.conversions,
      metrics.conversions_value,
      metrics.cost_micros
    FROM asset_group_asset
    WHERE asset_group.id = ASSET_GROUP_ID
      AND asset_group_asset.status != 'REMOVED'
      AND campaign.id = CAMPAIGN_ID

## Example query: Detailed asset metrics in Performance Max

The following query retrieves conversion data, cost, and impressions for each
asset, segmented by the network (channel) where the ad was served.

    SELECT
      asset_group_asset.asset,
      asset_group_asset.asset_group,
      asset_group_asset.field_type,
      asset_group_asset.status,
      segments.ad_network_type,
      metrics.conversions,
      metrics.conversions_value,
      metrics.cost_micros,
      metrics.impressions,
      metrics.clicks
    FROM asset_group_asset
    WHERE
      segments.date DURING LAST_30_DAYS
      AND asset_group_asset.status = 'ENABLED'

## Top asset combinations

The
[`asset_group_top_combination_view`](https://developers.google.com/google-ads/api/fields/v26/asset_group_top_combination_view)
resource can be used to query the top performing combinations of assets in asset
groups. This corresponds to the [Combinations
report](https://support.google.com/google-ads/answer/10725056#combinations) in the
Google AdsUI. For example, the following query produces a list of the top asset
combinations in a specified `asset_group`. Each row in the response contains a
list of `asset_group_top_combination_view.asset_group_top_combinations` messages
of type
[`AssetGroupAssetCombinationData`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetGroupAssetCombinationData).
Each item in that list contains a list of the assets in the respective
combination represented as an [`AssetUsage`](https://developers.google.com/google-ads/api/reference/rpc/v26/AssetUsage) message.

    SELECT
      campaign.id,
      asset_group.id,
      asset_group_top_combination_view.asset_group_top_combinations
    FROM asset_group_top_combination_view
    WHERE asset_group.id = ASSET_GROUP_ID

You can adapt this query to help with asset selection and campaign optimization.
The following query retrieves the top asset combination for a single campaign,
but only for asset groups with an
[`asset_group.ad_strength`](https://developers.google.com/google-ads/api/fields/v26/asset_group#asset_group.ad_strength) of
`GOOD` or `EXCELLENT`. This helps you identify the best-performing asset
combinations within your top-performing asset groups.

> [!NOTE]
> **Note:** this report is automatically segmented by asset group. `asset_group.id` is included in the `SELECT` clause for asset group identification purposes.

    SELECT
      campaign.id,
      asset_group_top_combination_view.asset_group_top_combinations,
      asset_group.ad_strength,
      asset_group.id
    FROM asset_group_top_combination_view
    WHERE asset_group.ad_strength IN ('GOOD', 'EXCELLENT')
      AND campaign.id = CAMPAIGN_ID