> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# GetKeywordThemeOptions

# Package: googleAds

# Namespace: SuggestionsService

# Method link: https://dev.wix.com/docs/api-reference/business-management/marketing/ads/google-ads/google-suggestion-v1/get-keyword-theme-options.md

## Permission Scopes:
View google ads campaigns: SCOPE.PROMOTE.VIEW-GOOGLE-ADS

## Introduction

Retrieves keyword theme suggestions matching a partial text query (autocomplete-style).
Calls the Google Ads API directly. Use these results to help users select keyword themes interactively.

---

## REST API

### Schema

```
 Method: getKeywordThemeOptions
 Description: Retrieves keyword theme suggestions matching a partial text query (autocomplete-style). Calls the Google Ads API directly. Use these results to help users select keyword themes interactively.
 URL: https://www.wixapis.com/_serverless/pa-google/v1/keyword-theme-options
 Method: GET
 Method parameters:
   query param name: countryCode | type: countryCode | description: ISO 3166-1 alpha-2 country code used to filter results to a specific country.  | validation: format COUNTRY
   query param name: languageCode | type: languageCode | description: BCP-47 language code used to filter results to a specific language.  | validation: maxLength 1000
   query param name: queryText | type: queryText | description: Partial keyword text to match against (autocomplete input).  | validation: maxLength 1000
 Return type: GetKeywordThemeOptionsResponse
  - name: googleSuggestion | type: GoogleSuggestion | description: Keyword theme options matching the query.  
     - ONE-OF: 
        - name: keywordThemes | type: KeywordThemes | description: Keyword theme suggestions for a Smart campaign.  
           - name: keywordThemes | type: array<KeywordTheme> | description: Keyword themes suggested for the campaign.  | validation: maxItems 10
              - name: id | type: string | description: Google Ads internal GUID for this keyword theme.  | validation: maxLength 1000
              - name: displayName | type: string | description: Human-readable label for the keyword theme, suitable for display in a UI.  | validation: maxLength 1000
        - name: geoTargetsSuggestions | type: GeoTargets | description: Geographic target suggestions for a campaign.  
           - name: geoTargets | type: array<GeoTarget> | description: Geographic targets suggested for the campaign.  | validation: maxItems 1000
              - name: id | type: string | description: Google Ads internal GUID for this geographic target.  | validation: maxLength 1000
              - name: displayName | type: string | description: Human-readable name for the geographic target, suitable for display in a UI.  | validation: maxLength 1000
              - name: countryCode | type: string | description: ISO 3166-1 alpha-2 country code for this geo target. Output only.  | validation: maxLength 1000
        - name: adContent | type: SmartCampaignAd | description: Headline and description suggestions for a Smart campaign ad.  
           - name: resourceName | type: string | description: Actual ad resource name. customers/{customerId}/adGroupAds/{adGroupId}~{ad_id}  
           - name: headlines | type: array<string> | description: Headlines of the ad.  | validation: minItems 3, maxItems 3, maxLength 30
           - name: descriptions | type: array<string> | description: Descriptions of the ad.  | validation: minItems 2, maxItems 2, maxLength 90
        - name: budget | type: Budget | description: Low, recommended, and high budget suggestions with estimated click ranges.  
           - name: low | type: BudgetSuggestion | description: Conservative budget option with the lowest daily spend.  
              - name: dailyBudget | type: string | description: Suggested daily budget in micros (1,000,000 micros = 1 currency unit).  
              - name: minEstimatedClicks | type: string | description: Estimated minimum number of clicks per day at this budget level.  
              - name: maxEstimatedClicks | type: string | description: Estimated maximum number of clicks per day at this budget level.  
           - name: high | type: BudgetSuggestion | description: Aggressive budget option with the highest daily spend.  
           - name: recommended | type: BudgetSuggestion | description: Balanced budget option recommended by Google Ads.  


```

### Examples

### Get Keyword Theme Options
```curl
curl -X GET \
  'https://www.wixapis.com/google-ads/v1/keyword-theme-options?queryText=bake&languageCode=en&countryCode=US' \
  -H 'Authorization: <AUTH>'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.promoteGoogleAds.suggestions.getKeywordThemeOptions(options)
 Description: Retrieves keyword theme suggestions matching a partial text query (autocomplete-style). Calls the Google Ads API directly. Use these results to help users select keyword themes interactively.
 Method parameters:
   param name: options | type: GetKeywordThemeOptionsOptions  none  
        - name: queryText | type: string | description: Partial keyword text to match against (autocomplete input).  | validation: maxLength 1000
        - name: languageCode | type: string | description: BCP-47 language code used to filter results to a specific language.  | validation: maxLength 1000
        - name: countryCode | type: string | description: ISO 3166-1 alpha-2 country code used to filter results to a specific country.  | validation: format COUNTRY
 Return type: PROMISE<GetKeywordThemeOptionsResponse>
  - name: googleSuggestion | type: GoogleSuggestion | description: Keyword theme options matching the query.  
     - ONE-OF: 
        - name: keywordThemes | type: KeywordThemes | description: Keyword theme suggestions for a Smart campaign.  
           - name: keywordThemes | type: array<KeywordTheme> | description: Keyword themes suggested for the campaign.  | validation: maxItems 10
              - name: _id | type: string | description: Google Ads internal GUID for this keyword theme.  | validation: maxLength 1000
              - name: displayName | type: string | description: Human-readable label for the keyword theme, suitable for display in a UI.  | validation: maxLength 1000
        - name: geoTargetsSuggestions | type: GeoTargets | description: Geographic target suggestions for a campaign.  
           - name: geoTargets | type: array<GeoTarget> | description: Geographic targets suggested for the campaign.  | validation: maxItems 1000
              - name: _id | type: string | description: Google Ads internal GUID for this geographic target.  | validation: maxLength 1000
              - name: displayName | type: string | description: Human-readable name for the geographic target, suitable for display in a UI.  | validation: maxLength 1000
              - name: countryCode | type: string | description: ISO 3166-1 alpha-2 country code for this geo target. Output only.  | validation: maxLength 1000
        - name: adContent | type: SmartCampaignAd | description: Headline and description suggestions for a Smart campaign ad.  
           - name: resourceName | type: string | description: Actual ad resource name. customers/{customerId}/adGroupAds/{adGroupId}~{ad_id}  
           - name: headlines | type: array<string> | description: Headlines of the ad.  | validation: minItems 3, maxItems 3, maxLength 30
           - name: descriptions | type: array<string> | description: Descriptions of the ad.  | validation: minItems 2, maxItems 2, maxLength 90
        - name: budget | type: Budget | description: Low, recommended, and high budget suggestions with estimated click ranges.  
           - name: low | type: BudgetSuggestion | description: Conservative budget option with the lowest daily spend.  
              - name: dailyBudget | type: string | description: Suggested daily budget in micros (1,000,000 micros = 1 currency unit).  
              - name: minEstimatedClicks | type: string | description: Estimated minimum number of clicks per day at this budget level.  
              - name: maxEstimatedClicks | type: string | description: Estimated maximum number of clicks per day at this budget level.  
           - name: high | type: BudgetSuggestion | description: Aggressive budget option with the highest daily spend.  
           - name: recommended | type: BudgetSuggestion | description: Balanced budget option recommended by Google Ads.  


```

### Examples

### Get keyword theme options for a partial keyword query
```javascript
import { suggestions } from '@wix/promote-google-ads';

const response = await suggestions.getKeywordThemeOptions({
  queryText: 'bake',
  languageCode: 'en',
  countryCode: 'US',
});

/* Promise resolves to:
 * {
 *   "googleSuggestion": {
 *     "keywordThemes": {
 *       "keywordThemes": [
 *         { "id": "theme-101", "displayName": "bakery" },
 *         { "id": "theme-102", "displayName": "baked goods" },
 *         { "id": "theme-103", "displayName": "bake shop" }
 *       ]
 *     }
 *   }
 * }
 */

```

### getKeywordThemeOptions (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { suggestions } from '@wix/promote-google-ads';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { suggestions },
  // Include the auth strategy and host as relevant
});


async function getKeywordThemeOptions(options) {
  const response = await myWixClient.suggestions.getKeywordThemeOptions(options);
};
```

---