Keyword planning lets you [get keyword metrics and
forecasts](https://support.google.com/google-ads/answer/3022575) and [search for
keywords](https://support.google.com/google-ads/answer/6325025) to add to
campaigns.

Using [`KeywordPlanIdeaService`](https://developers.google.com/google-ads/api/reference/rpc/v26/KeywordPlanIdeaService) in the Google Ads API, you can perform
four core planning operations without creating persistent [`KeywordPlan`](https://developers.google.com/google-ads/api/reference/rpc/v26/KeywordPlan)
resources:

- [Generate keyword ideas](https://developers.google.com/google-ads/api/docs/keyword-planning/generate-keyword-ideas): Discover keyword suggestions from seed keywords, URLs, or sites, returned alongside historical search metrics and concept annotations.
- [Generate ad group
  themes](https://developers.google.com/google-ads/api/docs/keyword-planning/generate-ad-group-themes): Automatically group keywords into themes aligned with your existing ad groups, complete with suggested match types.
- [Generate historical
  metrics](https://developers.google.com/google-ads/api/docs/keyword-planning/generate-historical-metrics): Retrieve historical search volume, competition, and top-of-page bid metrics for an existing list of up to 10,000 keywords.
- [Generate forecast
  metrics](https://developers.google.com/google-ads/api/docs/keyword-planning/generate-forecast-metrics): Estimate future clicks, cost, or conversions for an inline [`CampaignToForecast`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignToForecast) configuration over a future date range.

> [!IMPORTANT]
> **Important:** Requests to [`KeywordPlanIdeaService`](https://developers.google.com/google-ads/api/reference/rpc/v26/KeywordPlanIdeaService) for both standard and basic access enforce stricter rate limits than other Google Ads API services, permitting fewer requests per minute. See the [API quotas and limits
> guide](https://developers.google.com/google-ads/api/docs/best-practices/quotas) for details.

Cache or store results locally because responses for a given set of keywords
remain consistent over hours or days, and historical search volume metrics
refresh monthly.

## Workflow

The following steps outline a typical end-to-end implementation workflow for
keyword planning:

1. Create a manageable list of candidate keywords. Discover suggestions with [keyword ideas](https://developers.google.com/google-ads/api/docs/keyword-planning/generate-keyword-ideas) (which already include historical metrics for each idea) or evaluate an existing keyword list with [historical
   metrics](https://developers.google.com/google-ads/api/docs/keyword-planning/generate-historical-metrics) to filter keywords by search volume, competition, and cost-per-click (CPC).
2. Optionally group your filtered keywords into themed ad groups using [ad group themes](https://developers.google.com/google-ads/api/docs/keyword-planning/generate-ad-group-themes), or define your own [`ForecastAdGroup`](https://developers.google.com/google-ads/api/reference/rpc/v26/ForecastAdGroup) structure based on product categories or creative relevance.
3. Generate [forecast
   metrics](https://developers.google.com/google-ads/api/docs/keyword-planning/generate-forecast-metrics) using an inline [`CampaignToForecast`](https://developers.google.com/google-ads/api/reference/rpc/v26/CampaignToForecast) and a [`forecast_period`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateKeywordForecastMetricsRequest#forecast_period) (starting in the future and up to one year from today) to estimate potential traffic for the selected keywords. (Note that `CampaignToForecast` fields and returned forecast metrics [differ between v24 and later and v23 and earlier](https://developers.google.com/google-ads/api/docs/keyword-planning/generate-forecast-metrics#version-differences).)
4. Adjust your selected keywords, match types, daily budget, and bidding strategy parameters to find a configuration that meets your marketing goals, and then apply the finalized keywords to your serving campaigns and ad groups.
5. Leave the campaign settings, bids, and targeting unmodified for the duration of the [`forecast_period`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateKeywordForecastMetricsRequest#forecast_period). Forecast models assume consistent settings across the forecast window while accounting for daily and seasonal trends.