> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Google Ads top asset combinations

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the asset combinations Google Ads served most often in the account's Performance Max campaigns, so you can see which creative it actually pairs together.

At most 100 combinations come back and there is no paging.

The read is best-effort: when Google Ads is unavailable you get an empty list under a 200 rather than an error, so an empty list does not prove the account has no combinations.

<Note>Performance Max campaigns only. An account without one returns an empty list.</Note>

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/google-ads/analytics/asset-group-top-combinations
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - ApiKeyAuth: []
paths:
  /api/apps/{app_id}/google-ads/analytics/asset-group-top-combinations:
    get:
      summary: List Google Ads top asset combinations
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns the asset combinations Google Ads served most often in the
        account's Performance Max campaigns, so you can see which creative it
        actually pairs together.


        At most 100 combinations come back and there is no paging.


        The read is best-effort: when Google Ads is unavailable you get an empty
        list under a 200 rather than an error, so an empty list does not prove
        the account has no combinations.


        <Note>Performance Max campaigns only. An account without one returns an
        empty list.</Note>


        <Note>This endpoint accepts a personal API key. Workspace API keys are
        not authorized for it and are rejected with a 403.</Note>
      operationId: >-
        get_asset_group_top_combinations_api_apps__app_id__google_ads_analytics_asset_group_top_combinations_get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose Google Ads reporting you want to read.
            title: App Id
          description: ID of the app whose Google Ads reporting you want to read.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: Up to 100 combinations.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AssetGroupCombinationRow'
                title: AssetCombinations
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have access to this app, the app does not exist, or you
            used a workspace API key. A missing app and an app you cannot reach
            are deliberately the same answer.
        '404':
          description: The app has no connected Google Ads account.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AssetGroupCombinationRow:
      properties:
        asset_group:
          type: string
          title: Asset Group
          description: Name of the asset group the combination belongs to.
          example: Spring sale - Asset Group
        asset_group_id:
          type: string
          title: Asset Group Id
          description: >-
            ID of that asset group, matching `asset_group_id` on [List asset
            performance](/api-reference/list-google-ads-asset-performance).
          example: '9988776655'
        campaign:
          type: string
          title: Campaign
          description: Name of the campaign the asset group belongs to.
          example: Spring sale - Performance Max
        assets:
          items:
            type: string
          type: array
          title: Assets
          description: >-
            The assets in the combination, each as its text or its Google Ads
            name. An asset Base44 could not label falls back to its resource
            name.
          example:
            - Handmade oak furniture
            - Free delivery across Germany
            - spring-hero-1200x628
      type: object
      required:
        - asset_group
        - asset_group_id
        - campaign
        - assets
      title: AssetGroupCombinationRow
      description: One combination of assets that served together.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: Personal API key.

````