---
title: "POST /v23/customers/{customersId}:generateKeywordForecastMetrics"
method: POST
path: "/v23/customers/{customersId}:generateKeywordForecastMetrics"
tags: ["customers"]
---

# POST /v23/customers/{customersId}:generateKeywordForecastMetrics

`POST /v23/customers/{customersId}:generateKeywordForecastMetrics`

## Request

- Base URL: `https://searchads360.googleapis.com`
- URL: `https://searchads360.googleapis.com/v23/customers/{customersId}:generateKeywordForecastMetrics`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/doubleclicksearch`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/doubleclicksearch`
- TypeScript: <https://skmtc.dev/google/apis/searchads360/docs/v23/customers/:customersId:generateKeywordForecastMetrics/post.ts> (a function with typed inputs; its response is checked against the schema)

Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

## Path parameters

- `customersId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesGenerateKeywordForecastMetricsRequest: Request message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics.
  - `campaign` GoogleAdsSearchads360V23ServicesCampaignToForecast: A campaign to do a keyword campaign forecast.
    - `adGroups` GoogleAdsSearchads360V23ServicesForecastAdGroup[]: The ad groups in the new campaign to forecast.
      - `biddableKeywords` GoogleAdsSearchads360V23ServicesBiddableKeyword[]: Required. The list of biddable keywords to be used in the ad group when doing the forecast. Requires at least one keyword.
        - `keyword` GoogleAdsSearchads360V23CommonKeywordInfo: A keyword criterion.
          - `matchType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' | 'PHRASE' | 'BROAD': The match type of the keyword.
          - `text` string: The text of the keyword (at most 80 characters and 10 words).
        - `maxCpcBidMicros` string, int64: A max cpc bid in micros that overrides the ad group level max cpc bid in forecast simulation. This value will override the max cpc value set in the bidding strategy and ad group. Only specify this field for bidding strategies that support max cpc values.
      - `maxCpcBidMicros` string, int64: The max cpc to use for the ad group when generating forecasted traffic. This value will override the max cpc value set in the bidding strategy. Only specify this field for bidding strategies that max cpc values.
      - `negativeKeywords` GoogleAdsSearchads360V23CommonKeywordInfo[]: The details of the keyword. You should specify both the keyword text and match type.
        - `matchType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' | 'PHRASE' | 'BROAD': The match type of the keyword.
        - `text` string: The text of the keyword (at most 80 characters and 10 words).
    - `biddingStrategy` GoogleAdsSearchads360V23ServicesCampaignToForecastCampaignBiddingStrategy: Supported bidding strategies for new campaign forecasts.
      - `manualCpcBiddingStrategy` GoogleAdsSearchads360V23ServicesManualCpcBiddingStrategy: Manual CPC Bidding Strategy.
        - `dailyBudgetMicros` string, int64: Campaign level budget in micros. If set, a minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.
        - `maxCpcBidMicros` string, int64: Required. A bid in micros to be applied to ad groups within the campaign for a manual CPC bidding strategy.
      - `maximizeClicksBiddingStrategy` GoogleAdsSearchads360V23ServicesMaximizeClicksBiddingStrategy: Maximize Clicks Bidding Strategy.
        - `dailyTargetSpendMicros` string, int64: Required. The daily target spend in micros to be used for estimation. A minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.
        - `maxCpcBidCeilingMicros` string, int64: Ceiling on max CPC bids in micros.
      - `maximizeConversionsBiddingStrategy` GoogleAdsSearchads360V23ServicesMaximizeConversionsBiddingStrategy: Maximize Conversions Bidding Strategy.
        - `dailyTargetSpendMicros` string, int64: Required. The daily target spend in micros to be used for estimation. This value must be greater than zero.
    - `conversionRate` number, double: The expected conversion rate (number of conversions divided by number of total clicks) as defined by the user. This value is expressed as a decimal value, so an expected conversion rate of 2% should be entered as 0.02. If left empty, an estimated conversion rate will be used.
    - `geoModifiers` GoogleAdsSearchads360V23ServicesCriterionBidModifier[]: Locations to be targeted. Locations must be unique.
      - `bidModifier` number, double: The associated multiplier for the criterion_id. If set, this value cannot be 0.
      - `geoTargetConstant` string: The resource name of the geo location to target. The resource name is of the format "geoTargetConstants/{criterion_id}".
    - `keywordPlanNetwork` 'UNSPECIFIED' | 'UNKNOWN' | 'GOOGLE_SEARCH' | 'GOOGLE_SEARCH_AND_PARTNERS': Required. The network used for targeting.
    - `languageConstants` string[]: The list of resource names of languages to be targeted. The resource name is of the format "languageConstants/{criterion_id}". See https://developers.google.com/google-ads/api/data/codes-formats#languages for the list of language criterion codes.
    - `negativeKeywords` GoogleAdsSearchads360V23CommonKeywordInfo[]: The list of negative keywords to be used in the campaign when doing the forecast.
      - `matchType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' | 'PHRASE' | 'BROAD': The match type of the keyword.
      - `text` string: The text of the keyword (at most 80 characters and 10 words).
  - `currencyCode` string: The currency used for exchange rate conversion. By default, the account currency of the customer is used. Set this field only if the currency is different from the account currency. The list of valid currency codes can be found at https://developers.google.com/google-ads/api/data/codes-formats#currency-codes.
  - `forecastPeriod` GoogleAdsSearchads360V23CommonDateRange: A date range.
    - `endDate` string: The end date, in yyyy-mm-dd format. This date is inclusive.
    - `startDate` string: The start date, in yyyy-mm-dd format. This date is inclusive.

## Response `200`

Successful response

- GoogleAdsSearchads360V23ServicesGenerateKeywordForecastMetricsResponse: Response message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics.
  - `campaignForecastMetrics` GoogleAdsSearchads360V23ServicesKeywordForecastMetrics: The forecast metrics for the planless keyword campaign.
    - `averageCpaMicros` string, int64: Average cost per acquisition calculated as cost_micros / conversions.
    - `averageCpcMicros` string, int64: The average cpc. Available only if clicks > 0.
    - `clickThroughRate` number, double: The average click through rate. Available only if impressions > 0.
    - `clicks` number, double: The total number of clicks.
    - `conversionRate` number, double: Forecasted conversion rate.
    - `conversions` number, double: Forecasted number of conversions: clicks * conversion_rate.
    - `costMicros` string, int64: The total cost.
    - `impressions` number, double: The total number of impressions.

---

[API](https://skmtc.dev/google/apis/searchads360.md) - [All operations](https://skmtc.dev/google/apis/searchads360/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/searchads360/revisions/4a4511f84b18?raw)
