---
title: "POST /v23/customers/{+customerId}/recommendations:generate"
method: POST
path: "/v23/customers/{+customerId}/recommendations:generate"
tags: ["customers"]
---

# POST /v23/customers/{+customerId}/recommendations:generate

`POST /v23/customers/{+customerId}/recommendations:generate`

Generates Recommendations based off the requested recommendation_types. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesGenerateRecommendationsRequest — Request message for RecommendationService.GenerateRecommendations.
  - `budgetInfo` GoogleAdsSearchads360V23ServicesGenerateRecommendationsRequestBudgetInfo — Current budget information of the campaign.
    - `currentBudget` string, int64 — Required. Current budget amount in micros. This field is necessary for the following recommendation_types if budget_info is set: CAMPAIGN_BUDGET
  - `isNewCustomer` boolean — 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
  - `languageCodes` string[] — Optional. Current campaign language codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
  - `conversionTrackingStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'NOT_CONVERSION_TRACKED' | 'CONVERSION_TRACKING_MANAGED_BY_SELF' | 'CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER' | 'CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER' — 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
  - `targetContentNetwork` boolean — 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
  - `biddingInfo` GoogleAdsSearchads360V23ServicesGenerateRecommendationsRequestBiddingInfo — Current bidding information of the campaign. Provides a wrapper for bidding-related signals that inform recommendations.
    - `biddingStrategyType` 'UNSPECIFIED' | 'UNKNOWN' | 'COMMISSION' | 'ENHANCED_CPC' | '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_IMPRESSION_SHARE' | 'TARGET_OUTRANK_SHARE' | 'TARGET_ROAS' | 'TARGET_SPEND' — Current bidding strategy. 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
    - `targetCpaMicros` string, int64 — Current target_cpa in micros. This can be populated for campaigns with a bidding strategy type of TARGET_CPA or MAXIMIZE_CONVERSIONS.
    - `targetRoas` number, double — Current target_roas. This can be populated for campaigns with a bidding strategy type of TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
    - `targetImpressionShareInfo` GoogleAdsSearchads360V23ServicesGenerateRecommendationsRequestTargetImpressionShareInfo — Current Target Impression Share information of the campaign.
      - `location` 'UNSPECIFIED' | 'UNKNOWN' | 'ANYWHERE_ON_PAGE' | 'TOP_OF_PAGE' | 'ABSOLUTE_TOP_OF_PAGE' — 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` string, int64 — 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.
      - `maxCpcBidCeiling` string, int64 — 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.
  - `positiveLocationsIds` string[] — 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
  - `targetPartnerSearchNetwork` boolean — 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
  - `campaignSitelinkCount` integer — Optional. Number of sitelinks on the campaign. This field is necessary for the following recommendation_types: SITELINK_ASSET
  - `campaignImageAssetCount` integer — Optional. Current campaign image asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
  - `merchantCenterAccountId` string, int64 — 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
  - `seedInfo` GoogleAdsSearchads360V23ServicesGenerateRecommendationsRequestSeedInfo — A keyword seed and a specific url to generate keywords from.
    - `keywordSeeds` string[] — Optional. Keywords or phrases to generate ideas from, for example: cars or "car dealership near me".
    - `urlSeed` string — A specific url to generate ideas from, for example: www.example.com/cars.
  - `campaignCallAssetCount` integer — Optional. Current campaign call asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
  - `recommendationTypes` string[] — 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: 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
  - `countryCodes` string[] — Optional. Current campaign country codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
  - `assetGroupInfo` GoogleAdsSearchads360V23ServicesGenerateRecommendationsRequestAssetGroupInfo[] — Optional. Current AssetGroup Information. This field is required for the following recommendation_types: CAMPAIGN_BUDGET
    - `headline` string[] — Optional. Current headlines of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET
    - `finalUrl` string — Required. Current url of the asset group. This field is necessary for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET
    - `description` string[] — Optional. Current descriptions of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET
  - `advertisingChannelType` 'UNSPECIFIED' | 'UNKNOWN' | 'SEARCH' | 'DISPLAY' | 'SHOPPING' | 'HOTEL' | 'VIDEO' | 'MULTI_CHANNEL' | 'LOCAL' | 'SMART' | 'PERFORMANCE_MAX' | 'LOCAL_SERVICES' | 'TRAVEL' | 'DEMAND_GEN' | 'SOCIAL' — Required. Advertising channel type of the campaign. The following advertising_channel_types are supported for recommendation generation: PERFORMANCE_MAX and SEARCH
  - `adGroupInfo` GoogleAdsSearchads360V23ServicesGenerateRecommendationsRequestAdGroupInfo[] — Optional. Current AdGroup Information. Supports information from a single AdGroup. This field is optional for the following recommendation_types: KEYWORD
    - `adGroupType` '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' — Optional. AdGroup Type of the AdGroup. This field is necessary for the following recommendation_types if ad_group_info is set: KEYWORD
    - `keywords` GoogleAdsSearchads360V23CommonKeywordInfo[] — Optional. Current keywords. This field is optional for the following recommendation_types if ad_group_info is set: KEYWORD
      - `text` string — The text of the keyword (at most 80 characters and 10 words).
      - `matchType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' | 'PHRASE' | 'BROAD' — The match type of the keyword.
  - `negativeLocationsIds` string[] — 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

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/searchads360.md) · [All operations](https://skmtc.net/google/apis/searchads360/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/searchads360/revisions/40d087435afd/schema)
