Google Ads Customers.recommendations API

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

Operations 3

POST /v25/customers/{customersId}/recommendations:apply Applies given recommendations with corresponding apply parameters #
POST /v25/customers/{customersId}/recommendations:generate Generates Recommendations based off the requested recommendation_types #
POST /v25/customers/{customersId}/recommendations:dismiss Dismisses given recommendations #

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-recommendations-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-recommendations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Google Ads Customers.recommendations 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.recommendations
paths:
  /v25/customers/{customersId}/recommendations:apply:
    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_recommendations_apply
      summary: Applies given recommendations with corresponding apply parameters
      tags:
      - customers.recommendations
      description: 'Applies given recommendations with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RequestError]() [UrlFieldError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer with the recommendation.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__ApplyRecommendationRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__ApplyRecommendationResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
  /v25/customers/{customersId}/recommendations:generate:
    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_recommendations_generate
      summary: Generates Recommendations based off the requested recommendation_types
      tags:
      - customers.recommendations
      description: 'Generates Recommendations based off the requested recommendation_types. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer generating recommendations.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateRecommendationsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateRecommendationsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
  /v25/customers/{customersId}/recommendations:dismiss:
    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_recommendations_dismiss
      summary: Dismisses given recommendations
      tags:
      - customers.recommendations
      description: 'Dismisses given recommendations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer with the recommendation.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__DismissRecommendationRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__DismissRecommendationResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
components:
  schemas:
    GoogleAdsGoogleadsV25Resources_Recommendation_MerchantInfo:
      description: The Merchant Center account details.
      type: object
      properties:
        id:
          type: string
          description: Output only. The Merchant Center account ID.
          format: int64
        name:
          description: Output only. The name of the Merchant Center account.
          type: string
        multiClient:
          type: boolean
          description: Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
    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'
    GoogleAdsGoogleadsV25Services_ApplyRecommendationOperation_CalloutAssetParameters:
      type: object
      properties:
        adAssetApplyParameters:
          description: Required. Callout assets to be added. This is a required field.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services_ApplyRecommendationOperation_AdAssetApplyParameters'
      description: Parameters to use when applying callout asset recommendations.
    GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_TextList:
      type: object
      properties:
        texts:
          description: The fragments of text from the resource that caused the policy finding.
          items:
            type: string
          type: array
      description: A list of fragments of text that violated a policy.
    GoogleAdsGoogleadsV25Common__UrlCollection:
      description: Collection of urls that is tagged with a unique identifier.
      type: object
      properties:
        urlCollectionId:
          type: string
          description: Unique identifier for this UrlCollection instance.
        trackingUrlTemplate:
          type: string
          description: URL template for constructing a tracking URL.
        finalUrls:
          type: array
          description: A list of possible final URLs.
          items:
            type: string
        finalMobileUrls:
          description: A list of possible final mobile URLs.
          items:
            type: string
          type: array
    GoogleAdsGoogleadsV25Resources_Recommendation_EnhancedCpcOptInRecommendation:
      description: The Enhanced Cost-Per-Click Opt-In recommendation.
      type: object
      properties: {}
    GoogleAdsGoogleadsV25Common__YouTubeAudioAdInfo:
      type: object
      properties: {}
      description: Representation of YouTube Audio ad format.
    GoogleAdsGoogleadsV25Common__PriceOffering:
      description: A single price offering within a PriceAsset.
      type: object
      properties:
        finalUrl:
          description: Required. The final URL after all cross domain redirects.
          type: string
        description:
          description: Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
          type: string
        unit:
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - Per hour.
          - Per day.
          - Per week.
          - Per month.
          - Per year.
          - Per night.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - PER_HOUR
          - PER_DAY
          - PER_WEEK
          - PER_MONTH
          - PER_YEAR
          - PER_NIGHT
          type: string
          description: The price unit of the price offering.
        header:
          description: Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
          type: string
        price:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common__Money'
          description: Required. The price value of the price offering.
        finalMobileUrl:
          type: string
          description: The final mobile URL after all cross domain redirects.
    GoogleAdsGoogleadsV25Common__PolicyTopicEvidence:
      description: Additional information that explains a policy finding.
      type: object
      properties:
        websiteList:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_WebsiteList'
          description: List of websites linked with this resource.
        languageCode:
          description: The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
          type: string
        destinationTextList:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationTextList'
          description: The text in the destination of the resource that is causing a policy finding.
        destinationMismatch:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationMismatch'
          description: Mismatch between the destinations of a resource's URLs.
        destinationNotWorking:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationNotWorking'
          description: Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
        textList:
          description: List of evidence found in the text of a resource.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_TextList'
    GoogleAdsGoogleadsV25Common__ExpandedTextAdInfo:
      type: object
      properties:
        headlinePart2:
          description: The second part of the ad's headline.
          type: string
        description2:
          type: string
          description: The second description of the ad.
        headlinePart3:
          description: The third part of the ad's headline.
          type: string
        description:
          description: The description of the ad.
          type: string
        path1:
          type: string
          description: The text that can appear alongside the ad's displayed URL.
        headlinePart1:
          type: string
          description: The first part of the ad's headline.
        path2:
          description: Additional text that can appear alongside the ad's displayed URL.
          type: string
      description: An expanded text ad. Expanded text ads are deprecated.
    GoogleAdsGoogleadsV25Resources__AssetFieldTypePolicySummary:
      type: object
      properties:
        assetFieldType:
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - HEADLINE
          - DESCRIPTION
          - MANDATORY_AD_TEXT
          - MARKETING_IMAGE
          - MEDIA_BUNDLE
          - YOUTUBE_VIDEO
          - BOOK_ON_GOOGLE
          - LEAD_FORM
          - PROMOTION
          - CALLOUT
          - STRUCTURED_SNIPPET
          - SITELINK
          - MOBILE_APP
          - HOTEL_CALLOUT
          - CALL
          - PRICE
          - LONG_HEADLINE
          - BUSINESS_NAME
          - SQUARE_MARKETING_IMAGE
          - PORTRAIT_MARKETING_IMAGE
          - LOGO
          - LANDSCAPE_LOGO
          - VIDEO
          - CALL_TO_ACTION_SELECTION
          - AD_IMAGE
          - BUSINESS_LOGO
          - HOTEL_PROPERTY
          - DEMAND_GEN_CAROUSEL_CARD
          - BUSINESS_MESSAGE
          - TALL_PORTRAIT_MARKETING_IMAGE
          - RELATED_YOUTUBE_VIDEOS
          - LANDING_PAGE_PREVIEW
          - LONG_DESCRIPTION
          - CALL_TO_ACTION
          - CLASSIC_DISPLAY_IMAGE
          type: string
          description: Output only. FieldType of this asset.
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - The asset is linked for use as a headline.
          - The asset is linked for use as a description.
          - The asset is linked for use as mandatory ad text.
          - The asset is linked for use as a marketing image.
          - The asset is linked for use as a media bundle.
          - The asset is linked for use as a YouTube video.
          - The asset is linked to indicate that a hotels campaign is "Book on Google" enabled.
          - The asset is linked for use as a Lead Form extension.
          - The asset is linked for use as a Promotion extension.
          - The asset is linked for use as a Callout extension.
          - The asset is linked for use as a Structured Snippet extension.
          - The asset is linked for use as a Sitelink.
          - The asset is linked for use as a Mobile App extension.
          - The asset is linked for use as a Hotel Callout extension.
          - The asset is linked for use as a Call extension.
          - The asset is linked for use as a Price extension.
          - The asset is linked for use as a long headline.
          - The asset is linked for use as a business name.
          - The asset is linked for use as a square marketing image.
          - The asset is linked for use as a portrait marketing image.
          - The asset is linked for use as a logo.
          - The asset is linked for use as a landscape logo.
          - The asset is linked for use as a non YouTube logo.
          - The asset is linked for use to select a call-to-action.
          - The asset is linked for use to select an ad image.
          - The asset is linked for use as a business logo.
          - The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.
          - The asset is linked for use as a Demand Gen carousel card.
          - The asset is linked for use as a Business Message.
          - The asset is linked for use as a tall portrait marketing image.
          - The asset is linked for use as related YouTube videos.
          - The asset is linked for use as a landing page preview image.
          - The asset is linked for use as a long description.
          - The asset is linked for use as a call-to-action.
          - The asset is linked for use as a classic display image.
        assetSource:
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - ADVERTISER
          - AUTOMATICALLY_CREATED
          description: Output only. Source of this asset.
          type: string
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - The asset or asset link is provided by advertiser.
          - The asset or asset link is generated by Google.
        policySummaryInfo:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__AssetPolicySummary'
          description: Output only. Policy summary.
      description: Contains policy information for an asset under AssetFieldType context.
    GoogleAdsGoogleadsV25Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters:
      description: Parameters to use when applying a set target CPA recommendation.
      type: object
      properties:
        targetCpaMicros:
          type: string
          description: Average CPA to use for Target CPA bidding strategy.
          format: int64
        campaignBudgetAmountMicros:
          type: string
          description: New campaign budget amount to set for a campaign resource.
          format: int64
    GoogleAdsGoogleadsV25Common__DemandGenCarouselAdInfo:
      type: object
      properties:
        carouselCards:
          description: Required. Carousel cards that will display with the ad. Min 2 max 10.
          items:
            $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common__AdDemandGenCarouselCardAsset'
          type: array
        callToActionText:
          description: Call to action text.
          type: string
        headline:
          description: Required. Headline of the ad.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common__AdTextAsset'
        businessName:
          type: string
          description: Required. The Advertiser/brand name.
        logoImage:
          description: Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common__AdImageAsset'
        description:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common__AdTextAsset'
          description: Required. The descriptive text of the ad.
      description: A Demand Gen carousel ad.
    GoogleAdsGoogleadsV25Common__DemandGenCarouselCardAsset:
      type: object
      properties:
        headline:
          type: string
          description: Required. Headline of the carousel card.
        callToActionText:
          description: Call to action text.
          type: string
        portraitMarketingImageAsset:
          type: string
          description: Asset resource name of the associated 4:5 portrait marketing image.
        marketingImageAsset:
          description: Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
          type: string
        squareMarketingImageAsset:
          type: string
          description: Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
      description: A Demand Gen Carousel Card asset.
    GoogleAdsGoogleadsV25Resources_RecommendationKeywordRecommendation_SearchTerm:
      type: object
      properties:
        text:
          type: string
          description: Output only. The text of the search term.
        estimatedWeeklySearchCount:
          format: int64
          type: string
          description: Output only. Estimated number of historical weekly searches for this search term.
      description: Information about a search term as related to a keyword recommendation.
    GoogleAdsGoogleadsV25Resources_Recommendation_MoveUnusedBudgetRecommendation:
      description: The move unused budget recommendation.
      type: object
      properties:
        excessCampaignBudget:
          type: string
          description: Output only. The excess budget's resource_name.
        budgetRecommendation:
          description: Output only. The recommendation for the constrained budget to increase.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources_Recommendation_CampaignBudgetRecommendation'
    GoogleAdsGoogleadsV25Common__WhatsappBusinessMessageInfo:
      type: object
      properties:
        countryCode:
          description: 'Required. Two-letter country code of the phone number. Examples: ''US'', ''us''.'
          type: string
        phoneNumber:
          description: 'Required. Whatsapp phone number of the business. Examples: ''1234567890'', ''(123)456-7890''.'
          type: string
      description: Whatsapp information to use for messaging.
    GoogleAdsGoogleadsV25Services__DismissRecommendationRequest:
      description: Request message for RecommendationService.DismissRecommendation.
      type: object
      properties:
        operations:
          type: array
          description: Required. The list of operations to dismiss recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request.
          items:
            $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services_DismissRecommendationRequest_DismissRecommendationOperation'
        partialFailure:
          type: boolean
          description: If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried in a single transaction if and only if they are all valid. Default is false.
    GoogleAdsGoogleadsV25Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation:
      description: The raise target CPA bid too low recommendation.
      type: object
      properties:
        averageTargetCpaMicros:
          format: int64
          description: Output only. The current average target CPA of the campaign, in micros of customer local currency.
          type: string
        recommendedTargetMultiplier:
          description: Output only. A number greater than 1.0 indicating the factor by which we recommend the target CPA should be increased.
          type: number
          format: double
    GoogleAdsGoogleadsV25Common__LeadFormDeliveryMethod:
      type: object
      properties:
        webhook:
          description: Webhook method of delivery.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common__WebhookDelivery'
      description: A configuration of how leads are delivered to the advertiser.
    GoogleAdsGoogleadsV25Common__DynamicTravelAsset:
      description: A dynamic travel asset.
      type: object
      properties:
        androidAppLink:
          description: Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
          type: string
        iosAppLink:
          description: iOS deep link, for example, exampleApp://content/page.
          type: string
        iosAppStoreId:
          format: int64
          type: string
          description: iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
        formattedPrice:
          type: string
          description: Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
        category:
          type: string
          description: Category, for example, Express.
        salePrice:
          type: string
          description: Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
        imageUrl:
          type: string
          description: Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
        destinationId:
          description: Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
          type: string
        contextualKeywords:
          type: array
          description: Contextual keywords, for example, Paris trains.
          items:
            type: string
        similarDestinationIds:
          description: Similar destination IDs, for example, NYC.
          items:
            type: string
          type: array
        title:
          description: Required. Title, for example, Book your train ticket. Required.
          type: string
        originId:
          type: string
          description: Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
        originName:
          type: string
          description: Origin name, for example, London.
        price:
          description: Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
          type: string
        destinationName:
          description: Destination name, for example, Paris.
          type: string
        destinationAddress:
          description: Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
          type: string
        formattedSalePrice:
          type: string
          description: Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
    GoogleAdsGoogleadsV25Common__Money:
      type: object
      properties:
        currencyCode:
          description: Three-character ISO 4217 currency code.
          type: string
        amountMicros:
          description: Amount in micros. One million is equivalent to one unit.
          type: string
          format: int64
      description: Represents a price in a particular currency.
    GoogleAdsGoogleadsV25Resources_Recommendation_LeadFormAssetRecommendation:
      description: The lead form asset recommendation.
      type: object
      properties: {}
    GoogleAdsGoogleadsV25Common__YoutubeVideoAsset:
      description: A YouTube asset.
      type: object
      properties:
        youtubeVideoId:
          description: YouTube video id. This is the 11 character string value used in the YouTube video URL.
          ty

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