{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-generate-recommendations-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__GenerateRecommendationsRequest",
  "description": "Request message for RecommendationService.GenerateRecommendations.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-recommendations-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateRecommendationsRequest",
  "type": "object",
  "properties": {
    "adGroupInfo": {
      "type": "array",
      "description": "Optional. Current AdGroup Information. Supports information from a single AdGroup. This field is optional for the following recommendation_types: KEYWORD This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_AdGroupInfo"
      }
    },
    "targetPartnerSearchNetwork": {
      "description": "Optional. If true, the campaign is opted into serving ads on the Google Partner Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET",
      "type": "boolean"
    },
    "conversionTrackingStatus": {
      "type": "string",
      "description": "Optional. Current conversion tracking status. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN",
      "x-enumDescriptions": [
        "Not specified.",
        "Used for return value only. Represents value unknown in this version.",
        "Customer does not use any conversion tracking.",
        "The conversion actions are created and managed by this customer.",
        "The conversion actions are created and managed by the manager specified in the request's `login-customer-id`.",
        "The conversion actions are created and managed by a manager different from the customer or manager specified in the request's `login-customer-id`."
      ],
      "enum": [
        "UNSPECIFIED",
        "UNKNOWN",
        "NOT_CONVERSION_TRACKED",
        "CONVERSION_TRACKING_MANAGED_BY_SELF",
        "CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER",
        "CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER"
      ]
    },
    "biddingInfo": {
      "description": "Optional. Current bidding information of the campaign. This field is necessary for the following recommendation_types: CAMPAIGN_BUDGET, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN",
      "$ref": "#/$defs/GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_BiddingInfo"
    },
    "campaignImageAssetCount": {
      "description": "Optional. Current campaign image asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET",
      "type": "integer",
      "format": "int32"
    },
    "isNewCustomer": {
      "description": "Optional. Whether or not this customer should be treated as a \"new\" customer (that is, a customer who has not yet created a campaign). Setting this to `true` will cause the backend to generate recommendations using a dedicated recommendation model for onboarding new customers, as opposed to the default model for existing customers. This is only recommended for customers with 0 campaigns. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET",
      "type": "boolean"
    },
    "budgetInfo": {
      "description": "Optional. Current budget information. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET",
      "$ref": "#/$defs/GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_BudgetInfo"
    },
    "recommendationTypes": {
      "type": "array",
      "description": "Required. List of eligible recommendation_types to generate. If the uploaded criteria isn't sufficient to make a recommendation, or the campaign is already in the recommended state, no recommendation will be returned for that type. Generally, a recommendation is returned if all required fields for that recommendation_type are uploaded, but there are cases where this is still not sufficient. The following recommendation_types are supported for recommendation generation: CAMPAIGN_BUDGET, KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN",
      "items": {
        "type": "string",
        "x-enumDescriptions": [
          "Not specified.",
          "Used for return value only. Represents value unknown in this version.",
          "Provides optimized budget recommendations for campaigns.",
          "Keyword recommendation.",
          "Recommendation to add a new text ad.",
          "Recommendation to update a campaign to use a Target CPA bidding strategy.",
          "Recommendation to update a campaign to use the Maximize Conversions bidding strategy.",
          "Recommendation to enable Enhanced Cost Per Click for a campaign.",
          "Recommendation to start showing your campaign's ads on Google Search Partners Websites.",
          "Recommendation to update a campaign to use a Maximize Clicks bidding strategy.",
          "Recommendation to start using the \"Optimize\" ad rotation setting for the given ad group.",
          "Recommendation to change an existing keyword from one match type to a broader match type.",
          "Recommendation to move unused budget from one budget to a constrained budget.",
          "Budget recommendation for campaigns that are expected to become budget-constrained in the future (as opposed to the CAMPAIGN_BUDGET recommendation, which applies to campaigns that are currently budget-constrained).",
          "Recommendation to update a campaign to use a Target ROAS bidding strategy.",
          "Recommendation to add a new responsive search ad.",
          "Budget recommendation for campaigns whose ROI is predicted to increase with a budget adjustment.",
          "Recommendation to add broad match versions of keywords for fully automated conversion-based bidding campaigns.",
          "Recommendation to add new responsive search ad assets.",
          "Recommendation to upgrade a Smart Shopping campaign to a Performance Max campaign.",
          "Recommendation to improve strength of responsive search ad.",
          "Recommendation to update a campaign to use Display Expansion.",
          "Recommendation to upgrade a Local campaign to a Performance Max campaign.",
          "Recommendation to raise target CPA when it is too low and there are very few or no conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.",
          "Recommendation to raise the budget in advance of a seasonal event that is forecasted to increase traffic, and change bidding strategy from maximize conversion value to target ROAS.",
          "Recommendation to add callout assets to campaign or customer level.",
          "Recommendation to add sitelink assets to campaign or customer level.",
          "Recommendation to add call assets to campaign or customer level.",
          "Recommendation to add the age group attribute to offers that are demoted because of a missing age group.",
          "Recommendation to add a color to offers that are demoted because of a missing color.",
          "Recommendation to add a gender to offers that are demoted because of a missing gender.",
          "Recommendation to add a GTIN (Global Trade Item Number) to offers that are demoted because of a missing GTIN.",
          "Recommendation to add more identifiers to offers that are demoted because of missing identifiers.",
          "Recommendation to add the size to offers that are demoted because of a missing size.",
          "Recommendation informing a customer about a campaign that cannot serve because no products are being targeted.",
          "The shopping recommendation informing a customer about campaign with a high percentage of disapproved products.",
          "Recommendation to create a catch-all campaign that targets all offers.",
          "Recommendation to fix Merchant Center account suspension issues.",
          "Recommendation to fix Merchant Center account suspension warning issues.",
          "Recommendation to migrate offers targeted by Regular Shopping Campaigns to existing Performance Max campaigns.",
          "Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.",
          "Recommendation to raise Target CPA based on Google predictions modeled from past conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.",
          "Recommendation to lower Target ROAS.",
          "Recommendation to opt into Performance Max campaigns.",
          "Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.",
          "Recommendation to migrate Dynamic Search Ads to Performance Max campaigns.",
          "Recommendation to set a target CPA for campaigns that do not have one specified, in advance of a seasonal event that is forecasted to increase traffic.",
          "Recommendation to set a target CPA for campaigns that do not have one specified.",
          "Recommendation to set a target ROAS for campaigns that do not have one specified.",
          "Recommendation to update a campaign to use the Maximize Conversion Value bidding strategy.",
          "Recommendation to deploy Google Tag on more pages.",
          "Recommendation to turn on Final URL expansion for your Performance Max campaigns.",
          "Recommendation to update a customer list that hasn't been updated in the last 90 days.",
          "Recommendation to create a custom audience.",
          "Recommendation to add lead form assets to campaign or customer level.",
          "Recommendation to improve the strength of ads in Demand Gen campaigns."
        ],
        "enum": [
          "UNSPECIFIED",
          "UNKNOWN",
          "CAMPAIGN_BUDGET",
          "KEYWORD",
          "TEXT_AD",
          "TARGET_CPA_OPT_IN",
          "MAXIMIZE_CONVERSIONS_OPT_IN",
          "ENHANCED_CPC_OPT_IN",
          "SEARCH_PARTNERS_OPT_IN",
          "MAXIMIZE_CLICKS_OPT_IN",
          "OPTIMIZE_AD_ROTATION",
          "KEYWORD_MATCH_TYPE",
          "MOVE_UNUSED_BUDGET",
          "FORECASTING_CAMPAIGN_BUDGET",
          "TARGET_ROAS_OPT_IN",
          "RESPONSIVE_SEARCH_AD",
          "MARGINAL_ROI_CAMPAIGN_BUDGET",
          "USE_BROAD_MATCH_KEYWORD",
          "RESPONSIVE_SEARCH_AD_ASSET",
          "UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX",
          "RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH",
          "DISPLAY_EXPANSION_OPT_IN",
          "UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX",
          "RAISE_TARGET_CPA_BID_TOO_LOW",
          "FORECASTING_SET_TARGET_ROAS",
          "CALLOUT_ASSET",
          "SITELINK_ASSET",
          "CALL_ASSET",
          "SHOPPING_ADD_AGE_GROUP",
          "SHOPPING_ADD_COLOR",
          "SHOPPING_ADD_GENDER",
          "SHOPPING_ADD_GTIN",
          "SHOPPING_ADD_MORE_IDENTIFIERS",
          "SHOPPING_ADD_SIZE",
          "SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN",
          "SHOPPING_FIX_DISAPPROVED_PRODUCTS",
          "SHOPPING_TARGET_ALL_OFFERS",
          "SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT",
          "SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING",
          "SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX",
          "DYNAMIC_IMAGE_EXTENSION_OPT_IN",
          "RAISE_TARGET_CPA",
          "LOWER_TARGET_ROAS",
          "PERFORMANCE_MAX_OPT_IN",
          "IMPROVE_PERFORMANCE_MAX_AD_STRENGTH",
          "MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX",
          "FORECASTING_SET_TARGET_CPA",
          "SET_TARGET_CPA",
          "SET_TARGET_ROAS",
          "MAXIMIZE_CONVERSION_VALUE_OPT_IN",
          "IMPROVE_GOOGLE_TAG_COVERAGE",
          "PERFORMANCE_MAX_FINAL_URL_OPT_IN",
          "REFRESH_CUSTOMER_MATCH_LIST",
          "CUSTOM_AUDIENCE_OPT_IN",
          "LEAD_FORM_ASSET",
          "IMPROVE_DEMAND_GEN_AD_STRENGTH"
        ]
      }
    },
    "assetGroupInfo": {
      "type": "array",
      "description": "Optional. Current AssetGroup Information. This field is required for the following recommendation_types: CAMPAIGN_BUDGET",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_AssetGroupInfo"
      }
    },
    "campaignCallAssetCount": {
      "format": "int32",
      "description": "Optional. Current campaign call asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET",
      "type": "integer"
    },
    "advertisingChannelType": {
      "type": "string",
      "description": "Required. Advertising channel type of the campaign. The following advertising_channel_types are supported for recommendation generation: PERFORMANCE_MAX and SEARCH",
      "x-enumDescriptions": [
        "Not specified.",
        "Used for return value only. Represents value unknown in this version.",
        "Search Network. Includes display bundled, and Search+ campaigns.",
        "Google Display Network only.",
        "Shopping campaigns serve on the shopping property and on google.com search results.",
        "Hotel Ads campaigns.",
        "Video campaigns.",
        "App Campaigns, and App Campaigns for Engagement, that run across multiple channels.",
        "Local ads campaigns.",
        "Smart campaigns.",
        "Performance Max campaigns.",
        "Local services campaigns.",
        "Travel campaigns.",
        "Demand Gen campaigns."
      ],
      "enum": [
        "UNSPECIFIED",
        "UNKNOWN",
        "SEARCH",
        "DISPLAY",
        "SHOPPING",
        "HOTEL",
        "VIDEO",
        "MULTI_CHANNEL",
        "LOCAL",
        "SMART",
        "PERFORMANCE_MAX",
        "LOCAL_SERVICES",
        "TRAVEL",
        "DEMAND_GEN"
      ]
    },
    "countryCodes": {
      "description": "Optional. Current campaign country codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "languageCodes": {
      "description": "Optional. Current campaign language codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "seedInfo": {
      "$ref": "#/$defs/GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_SeedInfo",
      "description": "Optional. Seed information for Keywords. This field is necessary for the following recommendation_types: KEYWORD"
    },
    "positiveLocationsIds": {
      "description": "Optional. Current campaign positive location ids. One of this field OR negative_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH",
      "items": {
        "type": "string",
        "format": "int64"
      },
      "type": "array"
    },
    "targetContentNetwork": {
      "description": "Optional. If true, the campaign is opted into serving ads on specified placements in the Google Display Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET",
      "type": "boolean"
    },
    "merchantCenterAccountId": {
      "format": "int64",
      "type": "string",
      "description": "Optional. Merchant Center account ID. This field should only be set when advertising_channel_type is PERFORMANCE_MAX. Setting this field causes RecommendationService to generate recommendations for Performance Max for retail instead of standard Performance Max. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET"
    },
    "campaignSitelinkCount": {
      "description": "Optional. Number of sitelinks on the campaign. This field is necessary for the following recommendation_types: SITELINK_ASSET",
      "type": "integer",
      "format": "int32"
    },
    "negativeLocationsIds": {
      "type": "array",
      "description": "Optional. Current campaign negative location ids. One of this field OR positive_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH",
      "items": {
        "type": "string",
        "format": "int64"
      }
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Common__KeywordInfo": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "The text of the keyword (at most 80 characters and 10 words)."
        },
        "matchType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Exact match.",
            "Phrase match.",
            "Broad match."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXACT",
            "PHRASE",
            "BROAD"
          ],
          "type": "string",
          "description": "The match type of the keyword."
        }
      },
      "description": "A keyword criterion."
    },
    "GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_AdGroupInfo": {
      "type": "object",
      "properties": {
        "adGroupType": {
          "type": "string",
          "description": "Optional. AdGroup Type of the AdGroup. This field is necessary for the following recommendation_types if ad_group_info is set: KEYWORD",
          "x-enumDescriptions": [
            "The type has not been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The default ad group type for Search campaigns.",
            "The default ad group type for Display campaigns.",
            "The ad group type for Shopping campaigns serving standard product ads.",
            "The default ad group type for Hotel campaigns.",
            "The type for ad groups in Smart Shopping campaigns.",
            "Short unskippable in-stream video ads.",
            "TrueView (skippable) in-stream video ads.",
            "TrueView in-display video ads.",
            "Unskippable in-stream video ads.",
            "Ad group type for Dynamic Search Ads ad groups.",
            "The type for ad groups in Shopping Comparison Listing campaigns.",
            "The ad group type for Promoted Hotel ad groups.",
            "Video responsive ad groups.",
            "Video efficient reach ad groups.",
            "Ad group type for Smart campaigns.",
            "Ad group type for Travel campaigns.",
            "Ad group type for YouTube Audio campaigns."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SEARCH_STANDARD",
            "DISPLAY_STANDARD",
            "SHOPPING_PRODUCT_ADS",
            "HOTEL_ADS",
            "SHOPPING_SMART_ADS",
            "VIDEO_BUMPER",
            "VIDEO_TRUE_VIEW_IN_STREAM",
            "VIDEO_TRUE_VIEW_IN_DISPLAY",
            "VIDEO_NON_SKIPPABLE_IN_STREAM",
            "SEARCH_DYNAMIC_ADS",
            "SHOPPING_COMPARISON_LISTING_ADS",
            "PROMOTED_HOTEL_ADS",
            "VIDEO_RESPONSIVE",
            "VIDEO_EFFICIENT_REACH",
            "SMART_CAMPAIGN_ADS",
            "TRAVEL_ADS",
            "YOUTUBE_AUDIO"
          ]
        },
        "keywords": {
          "description": "Optional. Current keywords. This field is optional for the following recommendation_types if ad_group_info is set: KEYWORD This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
          },
          "type": "array"
        }
      },
      "description": "Current AdGroup Information of the campaign."
    },
    "GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_AssetGroupInfo": {
      "description": "Current AssetGroup information of the campaign.",
      "type": "object",
      "properties": {
        "finalUrl": {
          "description": "Required. Current url of the asset group. This field is necessary for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET",
          "type": "string"
        },
        "headline": {
          "description": "Optional. Current headlines of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "description": {
          "description": "Optional. Current descriptions of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_BiddingInfo": {
      "description": "Current bidding information of the campaign. Provides a wrapper for bidding-related signals that inform recommendations.",
      "type": "object",
      "properties": {
        "biddingStrategyType": {
          "description": "Current bidding strategy. This field is necessary for the following recommendation_types: CAMPAIGN_BUDGET, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.",
            "Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.",
            "Fixed CPM is a manual bidding strategy with a fixed CPM.",
            "Fixed share of voice is a manual bidding strategy for YouTube Sponsorships that bills either on CPM or a fixed cost per day.",
            "Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.",
            "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.",
            "Manual click based bidding where user pays per click.",
            "Manual impression based bidding where user pays per thousand impressions.",
            "A bidding strategy that pays a configurable amount per video view.",
            "A bidding strategy that automatically maximizes number of conversions given a daily budget.",
            "An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.",
            "Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.",
            "Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.",
            "Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.",
            "Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.",
            "Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.",
            "Target CPV is an automated bidding strategy that sets bids to optimize performance given the average target cost per view.",
            "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).",
            "Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.",
            "Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).",
            "Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "COMMISSION",
            "ENHANCED_CPC",
            "FIXED_CPM",
            "FIXED_SHARE_OF_VOICE",
            "INVALID",
            "MANUAL_CPA",
            "MANUAL_CPC",
            "MANUAL_CPM",
            "MANUAL_CPV",
            "MAXIMIZE_CONVERSIONS",
            "MAXIMIZE_CONVERSION_VALUE",
            "PAGE_ONE_PROMOTED",
            "PERCENT_CPC",
            "TARGET_CPA",
            "TARGET_CPC",
            "TARGET_CPM",
            "TARGET_CPV",
            "TARGET_IMPRESSION_SHARE",
            "TARGET_OUTRANK_SHARE",
            "TARGET_ROAS",
            "TARGET_SPEND"
          ]
        },
        "targetCpaMicros": {
          "description": "Current target_cpa in micros. This can be populated for campaigns with a bidding strategy type of TARGET_CPA or MAXIMIZE_CONVERSIONS.",
          "type": "string",
          "format": "int64"
        },
        "targetRoas": {
          "description": "Current target_roas. This can be populated for campaigns with a bidding strategy type of TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.",
          "type": "number",
          "format": "double"
        },
        "targetImpressionShareInfo": {
          "description": "Optional. Current Target Impression Share information of the campaign. This field is necessary for the following recommendation_types: CAMPAIGN_BUDGET",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_TargetImpressionShareInfo"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_BudgetInfo": {
      "type": "object",
      "properties": {
        "currentBudget": {
          "format": "int64",
          "type": "string",
          "description": "Required. Current budget amount in micros. This field is necessary for the following recommendation_types if budget_info is set: CAMPAIGN_BUDGET"
        }
      },
      "description": "Current budget information of the campaign."
    },
    "GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_SeedInfo": {
      "type": "object",
      "properties": {
        "urlSeed": {
          "description": "A specific url to generate ideas from, for example: www.example.com/cars.",
          "type": "string"
        },
        "keywordSeeds": {
          "type": "array",
          "description": "Optional. Keywords or phrases to generate ideas from, for example: cars or \"car dealership near me\".",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "A keyword seed and a specific url to generate keywords from."
    },
    "GoogleAdsGoogleadsV25Services_GenerateRecommendationsRequest_TargetImpressionShareInfo": {
      "description": "Current Target Impression Share information of the campaign.",
      "type": "object",
      "properties": {
        "location": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Any location on the web page.",
            "Top box of ads.",
            "Top slot in the top box of ads."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ANYWHERE_ON_PAGE",
            "TOP_OF_PAGE",
            "ABSOLUTE_TOP_OF_PAGE"
          ],
          "type": "string",
          "description": "Required. The targeted location on the search results page. This is required for campaigns where the AdvertisingChannelType is SEARCH and the bidding strategy type is TARGET_IMPRESSION_SHARE."
        },
        "targetImpressionShareMicros": {
          "format": "int64",
          "description": "Required. The chosen fraction of targeted impression share in micros. For example, 1% equals 10,000. It must be a value between 1 and 1,000,000. This is required for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE.",
          "type": "string"
        },
        "maxCpcBidCeiling": {
          "format": "int64",
          "type": "string",
          "description": "Optional. Ceiling of max CPC bids in micros set by automated bidders. This is optional for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE."
        }
      }
    }
  }
}