Google Ads Customers.google Ads API

The customers.googleAds API from Google Ads — 3 operation(s) for customers.googleads.

Operations 3

POST /v25/customers/{customersId}/googleAds:mutate Executes mutate and actions operations #
POST /v25/customers/{customersId}/googleAds:searchStream Returns all rows that match the search stream query #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-ads-customers-googleads-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-ads-customers-googleads-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Customers.google Ads API
  description: Manage your Google Ads accounts, campaigns, and reports with this API.
  version: v25
  x-discovery-revision: '20260721'
  contact:
    name: Google
    url: https://developers.google.com/google-ads/api/
  termsOfService: https://developers.google.com/terms
servers:
- url: https://googleads.googleapis.com
  description: Google Ads API production server
security:
- oauth2:
  - https://www.googleapis.com/auth/adwords
tags:
- name: customers.googleAds
paths:
  /v25/customers/{customersId}/googleAds:mutate:
    parameters:
    - name: upload_protocol
      in: query
      required: false
      schema:
        type: string
      description: Upload protocol for media (e.g. "raw", "multipart").
    - name: quotaUser
      in: query
      required: false
      schema:
        type: string
      description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    - name: fields
      in: query
      required: false
      schema:
        type: string
      description: Selector specifying which fields to include in a partial response.
    - name: $.xgafv
      in: query
      required: false
      schema:
        type: string
        enum:
        - '1'
        - '2'
        x-enumDescriptions:
        - v1 error format
        - v2 error format
      description: V1 error format.
    - name: callback
      in: query
      required: false
      schema:
        type: string
      description: JSONP
    - name: prettyPrint
      in: query
      required: false
      schema:
        type: boolean
        default: 'true'
      description: Returns response with indentations and line breaks.
    - name: access_token
      in: query
      required: false
      schema:
        type: string
      description: OAuth access token.
    - name: uploadType
      in: query
      required: false
      schema:
        type: string
      description: Legacy upload protocol for media (e.g. "media", "multipart").
    - name: key
      in: query
      required: false
      schema:
        type: string
      description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    - name: oauth_token
      in: query
      required: false
      schema:
        type: string
      description: OAuth 2.0 token for the current user.
    - name: alt
      in: query
      required: false
      schema:
        x-enumDescriptions:
        - Responses with Content-Type of application/json
        - Media download with context-dependent Content-Type
        - Responses with Content-Type of application/x-protobuf
        type: string
        default: json
        enum:
        - json
        - media
        - proto
      description: Data format for response.
    post:
      operationId: googleads_customers_googleAds_mutate
      summary: Executes mutate and actions operations
      tags:
      - customers.googleAds
      description: 'Executes mutate and actions operations. Mutate operations create, update, or remove resources. Actions perform custom operations. This method supports atomic transactions with multiple types of resources and actions. For example, you can atomically create a campaign and a campaign budget, or perform up to thousands of mutates atomically. This method is essentially a wrapper around a series of mutate methods. The only features it offers over calling those methods directly are: - Atomic transactions - Temp resource names (described below) - Somewhat reduced latency over making a series of mutate calls Note: Only resources that support atomic transactions are included, so this method can''t replace all calls to individual services. ## Atomic Transaction Benefits Atomicity makes error handling much easier. If you''re making a series of changes and one fails, it can leave your account in an inconsistent state. With atomicity, you either reach the chosen state directly, or the request fails and you can retry. ## Temp Resource Names Temp resource names are a special type of resource name used to create a resource and reference that resource in the same request. For example, if a campaign budget is created with `resource_name` equal to `customers/123/campaignBudgets/-1`, that resource name can be reused in the `Campaign.budget` field in the same request. That way, the two resources are created and linked atomically. To create a temp resource name, put a negative number in the part of the name that the server would normally allocate. Note: - Resources must be created with a temp name before the name can be reused. For example, the previous CampaignBudget+Campaign example would fail if the mutate order was reversed. - Temp names are not remembered across requests. - There''s no limit to the number of temp names in a request. - Each temp name must use a unique negative number, even if the resource types differ. ## Latency It''s important to group mutates by resource type or the request may time out and fail. Latency is roughly equal to a series of calls to individual mutate methods, where each change in resource type is a new call. For example, mutating 10 campaigns then 10 ad groups is like 2 calls, while mutating 1 campaign, 1 ad group, 1 campaign, 1 ad group is like 4 calls. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdGroupCriterionError]() [AdGroupError]() [AssetError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [CampaignBudgetError]() [CampaignCriterionError]() [CampaignError]() [CampaignExperimentError]() [CampaignSharedSetError]() [CollectionSizeError]() [ContextError]() [ConversionActionError]() [CriterionError]() [CustomerFeedError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [ExtensionFeedItemError]() [ExtensionSettingError]() [FeedAttributeReferenceError]() [FeedError]() [FeedItemError]() [FeedItemSetError]() [FieldError]() [FieldMaskError]() [FunctionParsingError]() [HeaderError]() [ImageError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [LabelError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NewResourceCreationError]() [NullError]() [OperationAccessDeniedError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [UserListError]() [YoutubeVideoRegistrationError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer whose resources are being modified.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__MutateGoogleAdsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__MutateGoogleAdsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
  /v25/customers/{customersId}/googleAds:search:
    parameters:
    - name: upload_protocol
      in: query
      required: false
      schema:
        type: string
      description: Upload protocol for media (e.g. "raw", "multipart").
    - name: quotaUser
      in: query
      required: false
      schema:
        type: string
      description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    - name: fields
      in: query
      required: false
      schema:
        type: string
      description: Selector specifying which fields to include in a partial response.
    - name: $.xgafv
      in: query
      required: false
      schema:
        type: string
        enum:
        - '1'
        - '2'
        x-enumDescriptions:
        - v1 error format
        - v2 error format
      description: V1 error format.
    - name: callback
      in: query
      required: false
      schema:
        type: string
      description: JSONP
    - name: prettyPrint
      in: query
      required: false
      schema:
        type: boolean
        default: 'true'
      description: Returns response with indentations and line breaks.
    - name: access_token
      in: query
      required: false
      schema:
        type: string
      description: OAuth access token.
    - name: uploadType
      in: query
      required: false
      schema:
        type: string
      description: Legacy upload protocol for media (e.g. "media", "multipart").
    - name: key
      in: query
      required: false
      schema:
        type: string
      description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    - name: oauth_token
      in: query
      required: false
      schema:
        type: string
      description: OAuth 2.0 token for the current user.
    - name: alt
      in: query
      required: false
      schema:
        x-enumDescriptions:
        - Responses with Content-Type of application/json
        - Media download with context-dependent Content-Type
        - Responses with Content-Type of application/x-protobuf
        type: string
        default: json
        enum:
        - json
        - media
        - proto
      description: Data format for response.
    post:
      operationId: googleads_customers_googleAds_search
      summary: Returns all rows that match the search query
      tags:
      - customers.googleAds
      description: 'Returns all rows that match the search query. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ChangeEventError]() [ChangeStatusError]() [ClickViewError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer being queried.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SearchGoogleAdsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SearchGoogleAdsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
  /v25/customers/{customersId}/googleAds:searchStream:
    parameters:
    - name: upload_protocol
      in: query
      required: false
      schema:
        type: string
      description: Upload protocol for media (e.g. "raw", "multipart").
    - name: quotaUser
      in: query
      required: false
      schema:
        type: string
      description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    - name: fields
      in: query
      required: false
      schema:
        type: string
      description: Selector specifying which fields to include in a partial response.
    - name: $.xgafv
      in: query
      required: false
      schema:
        type: string
        enum:
        - '1'
        - '2'
        x-enumDescriptions:
        - v1 error format
        - v2 error format
      description: V1 error format.
    - name: callback
      in: query
      required: false
      schema:
        type: string
      description: JSONP
    - name: prettyPrint
      in: query
      required: false
      schema:
        type: boolean
        default: 'true'
      description: Returns response with indentations and line breaks.
    - name: access_token
      in: query
      required: false
      schema:
        type: string
      description: OAuth access token.
    - name: uploadType
      in: query
      required: false
      schema:
        type: string
      description: Legacy upload protocol for media (e.g. "media", "multipart").
    - name: key
      in: query
      required: false
      schema:
        type: string
      description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    - name: oauth_token
      in: query
      required: false
      schema:
        type: string
      description: OAuth 2.0 token for the current user.
    - name: alt
      in: query
      required: false
      schema:
        x-enumDescriptions:
        - Responses with Content-Type of application/json
        - Media download with context-dependent Content-Type
        - Responses with Content-Type of application/x-protobuf
        type: string
        default: json
        enum:
        - json
        - media
        - proto
      description: Data format for response.
    post:
      operationId: googleads_customers_googleAds_searchStream
      summary: Returns all rows that match the search stream query
      tags:
      - customers.googleAds
      description: 'Returns all rows that match the search stream query. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ChangeEventError]() [ChangeStatusError]() [ClickViewError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer being queried.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SearchGoogleAdsStreamRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SearchGoogleAdsStreamResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
components:
  schemas:
    GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationImpact:
      description: The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information.
      type: object
      properties:
        baseMetrics:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationMetrics'
          description: Output only. Base metrics at the time the recommendation was generated.
        potentialMetrics:
          description: Output only. Estimated metrics if the recommendation is applied.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources_Recommendation_RecommendationMetrics'
    GoogleAdsGoogleadsV25Resources_Campaign_VanityPharma:
      type: object
      properties:
        vanityPharmaText:
          description: The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
          type: string
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - Prescription treatment website with website content in English.
          - Prescription treatment website with website content in Spanish (Sitio de tratamientos con receta).
          - Prescription device website with website content in English.
          - Prescription device website with website content in Spanish (Sitio de dispositivos con receta).
          - Medical device website with website content in English.
          - Medical device website with website content in Spanish (Sitio de dispositivos médicos).
          - Preventative treatment website with website content in English.
          - Preventative treatment website with website content in Spanish (Sitio de tratamientos preventivos).
          - Prescription contraception website with website content in English.
          - Prescription contraception website with website content in Spanish (Sitio de anticonceptivos con receta).
          - Prescription vaccine website with website content in English.
          - Prescription vaccine website with website content in Spanish (Sitio de vacunas con receta).
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - PRESCRIPTION_TREATMENT_WEBSITE_EN
          - PRESCRIPTION_TREATMENT_WEBSITE_ES
          - PRESCRIPTION_DEVICE_WEBSITE_EN
          - PRESCRIPTION_DEVICE_WEBSITE_ES
          - MEDICAL_DEVICE_WEBSITE_EN
          - MEDICAL_DEVICE_WEBSITE_ES
          - PREVENTATIVE_TREATMENT_WEBSITE_EN
          - PREVENTATIVE_TREATMENT_WEBSITE_ES
          - PRESCRIPTION_CONTRACEPTION_WEBSITE_EN
          - PRESCRIPTION_CONTRACEPTION_WEBSITE_ES
          - PRESCRIPTION_VACCINE_WEBSITE_EN
          - PRESCRIPTION_VACCINE_WEBSITE_ES
        vanityPharmaDisplayUrlMode:
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - Replace vanity pharma URL with manufacturer website url.
          - Replace vanity pharma URL with description of the website.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - MANUFACTURER_WEBSITE_URL
          - WEBSITE_DESCRIPTION
          type: string
          description: The display mode for vanity pharma URLs.
      description: Describes how unbranded pharma ads will be displayed.
    GoogleAdsGoogleadsV25Resources__AdGroupAd:
      type: object
      properties:
        status:
          type: string
          description: The status of the ad.
          x-enumDescriptions:
          - No value has been specified.
          - The received value is not known in this version. This is a response-only value.
          - The ad group ad is enabled.
          - The ad group ad is paused.
          - The ad group ad is removed.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - ENABLED
          - PAUSED
          - REMOVED
        primaryStatus:
          x-enumDescriptions:
          - No value has been specified.
          - Used for return value only. Represents value unknown in this version.
          - The ad group ad is eligible to serve.
          - The ad group ad is paused.
          - The ad group ad is removed.
          - The ad cannot serve now, but may serve later without advertiser action.
          - The ad group ad is serving in a limited capacity.
          - The ad group ad is not eligible to serve.
          description: Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
          type: string
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - ELIGIBLE
          - PAUSED
          - REMOVED
          - PENDING
          - LIMITED
          - NOT_ELIGIBLE
        adStrength:
          description: Output only. Overall ad strength for this ad group ad.
          type: string
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - PENDING
          - NO_ADS
          - POOR
          - AVERAGE
          - GOOD
          - EXCELLENT
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - The ad strength is currently pending.
          - No ads could be generated.
          - Poor strength.
          - Average strength.
          - Good strength.
          - Excellent strength.
        actionItems:
          description: Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
          items:
            type: string
          type: array
        policySummary:
          description: Output only. Policy information for the ad.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__AdGroupAdPolicySummary'
        ad:
          description: Immutable. The ad.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__Ad'
        primaryStatusReasons:
          description: Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
          items:
            x-enumDescriptions:
            - No value has been specified.
            - Used for return value only. Represents value unknown in this version.
            - The user-specified campaign status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.
            - The user-specified campaign status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.
            - The user-specified time for this campaign to start is in the future. Contributes to AdGroupAdPrimaryStatus.PENDING.
            - The user-specified time for this campaign to end has passed. Contributes to AdGroupAdPrimaryStatus.ENDED.
            - The user-specified ad group status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.
            - The user-specified ad group status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.
            - The user-specified ad status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.
            - The user-specified ad status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.
            - The ad is disapproved. Contributes to AdGroupAdPrimaryStatus.NOT_ELIGIBLE.
            - The ad is under review. Contributes to AdGroupAdPrimaryStatus.PENDING.
            - The ad is poor quality. This is determined by the serving stack that served the Ad. Contributes to AdGroupAdPrimaryStatus.LIMITED.
            - No eligible ads instances could be generated. Contributes to AdGroupAdPrimaryStatus.PENDING.
            - The ad is internally labeled with a limiting label. Contributes to AdGroupAdPrimaryStatus.LIMITED.
            - The ad is only serving in the user-specified area of interest. Contributes to AdGroupAdPrimaryStatus.LIMITED.
            - The ad is part of an ongoing appeal. This reason does not impact AdGroupAdPrimaryStatus.
            enum:
            - UNSPECIFIED
            - UNKNOWN
            - CAMPAIGN_REMOVED
            - CAMPAIGN_PAUSED
            - CAMPAIGN_PENDING
            - CAMPAIGN_ENDED
            - AD_GROUP_PAUSED
            - AD_GROUP_REMOVED
            - AD_GROUP_AD_PAUSED
            - AD_GROUP_AD_REMOVED
            - AD_GROUP_AD_DISAPPROVED
            - AD_GROUP_AD_UNDER_REVIEW
            - AD_GROUP_AD_POOR_QUALITY
            - AD_GROUP_AD_NO_ADS
            - AD_GROUP_AD_APPROVED_LABELED
            - AD_GROUP_AD_AREA_OF_INTEREST_ONLY
            - AD_GROUP_AD_UNDER_APPEAL
            type: string
          type: array
        adGroup:
          description: Immutable. The ad group to which the ad belongs.
          type: string
        labels:
          type: array
          description: Output only. The resource names of labels attached to this ad group ad.
          items:
            type: string
        startDateTime:
          type: string
          description: The date and time when ad group ad starts serving. This is added on top of the campaign's start date and time, if present, to further restrict the duration of an ad group ad. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Only supported for some ad types.
        resourceName:
          description: 'Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`'
          type: string
        endDateTime:
          description: The last day and time when ad group ad serves. This is added on top of the campaign's end date and time, if present, to further restrict the duration of an ad group ad. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Only supported for some ad types.
          type: string
        adGroupAdAssetAutomationSettings:
          type: array
          description: Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
          items:
            $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__AdGroupAdAssetAutomationSetting'
      description: An ad group ad.
    GoogleAdsGoogleadsV25Common__HotelIdInfo:
      description: Advertiser-specific hotel ID.
      type: object
      properties:
        value:
          description: String value of the hotel ID.
          type: string
    GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductType:
      type: object
      properties:
        value:
          description: Value of the type.
          type: string
        level:
          type: string
          description: Level of the type.
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - Level 1.
          - Level 2.
          - Level 3.
          - Level 4.
          - Level 5.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - LEVEL1
          - LEVEL2
          - LEVEL3
          - LEVEL4
          - LEVEL5
      description: Type of a product offer.
    GoogleAdsGoogleadsV25Services__MutateAdGroupCriterionCustomizerResult:
      description: The result for the ad group criterion customizer mutate.
      type: object
      properties:
        resourceName:
          description: Returned for successful operations.
          type: string
        adGroupCriterionCustomizer:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__AdGroupCriterionCustomizer'
          description: The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
    GoogleAdsGoogleadsV25Common__LocalServicesDocumentReadOnly:
      description: A Local Services Document with read only accessible data.
      type: object
      properties:
        documentUrl:
          type: string
          description: URL to access an already uploaded Local Services document.
    GoogleAdsGoogleadsV25Resources_Campaign_AssetAutomationSetting:
      description: Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
      type: object
      properties:
        assetAutomationType:
          x-enumDescriptions:
          - Not specified.
          - Used as a return value only. Represents value unknown in this version.
          - Text asset automation (text customization) includes headlines and descriptions, allowing Google to create customized text assets using your existing ads, landing page copy, and generative AI across your campaign's ads. By default, advertisers are opted-in for Performance Max and opted-out for Search. Contrast this with `FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION`, which dynamically generates text assets to match the content of dynamically selected landing pages when final URL expansion is active.
          - Converts horizontal video assets to vertical orientation using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAdInfo.
          - Shortens video assets to better capture user attention using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAdInfo.
          - Generates a preview of the landing page shown in the engagement panel. By using this feature, you confirm that you own all legal rights to the images on the landing page used by this account (or you have permission to share the images with Google). You hereby instruct Google to publish these images on your behalf for advertising or other commercial purposes.
          - Generates text information from the landing page to be shown in the engagement panel. Opted in by default for DemandGenVideoResponsiveAdInfo.
          - Generates video enhancements (vertical and shorter videos) for PMax campaigns. Opted in by default.
          - Generates image enhancements (AutoCrop and AutoEnhance). Opted in by default for pmax.
          - Generates image extraction. It defaults to account level Dynamic Image Extension control value.
          - Adds design elements and embeds text assets into image assets to create images with different aspect ratios. By default, advertisers are opted in for DemandGenMultiAssetAd.
          - Controls automation for text assets related to Final URL expansion. This includes automatically creating dynamic landing pages from the final URL and generating text assets from the content of those landing pages. This setting is turned OFF by default for Search campaigns, but it is turned ON by default for Performance Max campaigns. Enabling final URL expansion also enables text asset automation. There is no way to opt out of text asset automation and still use final URL expansion. Contrast this with standard `TEXT_ASSET_AUTOMATION` (text customization), which customizes copy across all ads in the campaign even when final URL expansion does not occur.
          - Generates videos using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd.
          - Generates animated images using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - TEXT_ASSET_AUTOMATION
          - GENERATE_VERTICAL_YOUTUBE_VIDEOS
          - GENERATE_SHORTER_YOUTUBE_VIDEOS
          - GENERATE_LANDING_PAGE_PREVIEW
          - GENERATE_LANDING_PAGE_TEXT
          - GENERATE_ENHANCED_YOUTUBE_VIDEOS
          - GENERATE_IMAGE_ENHANCEMENT
          - GENERATE_IMAGE_EXTRACTION
          - GENERATE_DESIGN_VERSIONS_FOR_IMAGES
          - FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION
          - GENERATE_VIDEOS_FROM_OTHER_ASSETS
          - GENERATE_ANIMATED_IMAGES_FROM_OTHER_ASSETS
          type: string
          description: The asset automation type advertiser would like to opt-in/out.
        assetAutomationStatus:
          description: The opt-in/out status of asset automation type.
          type: string
          x-enumDescriptions:
          - Not specified.
          - Used as a return value only. Represents value unknown in this version.
          - Opted-in will enable generating and serving an asset automation type.
          - Opted-out will stop generating and serving an asset automation type.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - OPTED_IN
          - OPTED_OUT
    GoogleAdsGoogleadsV25Common__AudienceSegmentDimension:
      description: Dimension specifying users by their membership in other audience segments.
      type: object
      properties:
        segments:
          description: Included audience segments. Users are included if they belong to at least one segment.
          items:
            $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common__AudienceSegment'
          type: array
    GoogleAdsGoogleadsV25Services__MutateCustomConversionGoalResult:
      type: object
      properties:
        resourceName:
          description: Returned for successful operations.
          type: string
        customConversionGoal:
          description: The mutated CustomConversionGoal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__CustomConversionGoal'
      description: The result for the custom conversion goal mutate.
    GoogleAdsGoogleadsV25Services__MutateConversionGoalCampaignConfigResult:
      description: The result for the conversion goal campaign config mutate.
      type: object
      properties:
        resourceName:
          description: Returned for successful operations.
          type: string
        conversionGoalCampaignConfig:
          $ref: '#/components/schemas/Goo

# --- truncated at 32 KB (1521 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google-ads/refs/heads/main/openapi/google-ads-customers-googleads-api-openapi.yml