google_ads_search_terms_analyze
Analyze keyword-search term overlap and N-gram distribution for a Google Ads campaign. Identify converting search terms to add as keywords and costly non-converting terms to exclude, with actionable insights.
Instructions
Analyze keyword/search-term overlap and N-gram distribution for a Google Ads campaign. Returns {campaign_id, period, registered_keywords_count, search_terms_count, overlap_rate (0.0-1.0), ngram_distribution:{unigrams, bigrams, trigrams} (each top-10 of {text, count, cost, conversions}), keyword_candidates:[{search_term, conversions, cost, clicks}] (CV>0 and not yet registered), negative_candidates:[{search_term, cost, clicks, impressions}] (top 20 by cost with cost>0 and conversions=0), insights:[strings]}. Read-only. For rule-scored add/exclude/watch buckets use google_ads_search_terms_review; for the raw unscored term log use google_ads_search_terms_report.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | No | Google Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted. | |
| campaign_id | Yes | Campaign ID as a numeric string without dashes (e.g. '23743184133'). Obtain via google_ads_campaigns_list. | |
| period | No | Reporting window for the metrics. Default 'LAST_30_DAYS'. Use a shorter window (LAST_7_DAYS / LAST_14_DAYS) when diagnosing recent changes; use LAST_90_DAYS for trend baselines. |