Google Ads Ad Traffic By Keywords
Forecast Google Ads traffic for keywords through Frevana.
Purpose
This skill is for forecasting Google Ads traffic using keywords, a bid, and a match type.
Inputs:
keywords
bid
match
- optional location, language, date range, date interval, sorting, and tag fields
Output:
- validated response JSON with Google Ads ad traffic forecast data
This skill validates that the response is JSON and returns it unchanged. Do not rewrite or reshape the returned data unless the user explicitly asks for a transformation.
What This Skill Needs
- user-provided
keywords
- user-provided
bid
- user-provided
match
- optional location, language, date, sorting, and tag values
FREVANA_TOKEN in the environment variables, or an explicit --token override for the current run
curl
bash
python3
Execution Order
Use this flow so the request stays simple and reliable:
- Confirm the user has provided one or more keywords.
- Confirm the user has provided
bid.
- Confirm the user has provided
match as exact, broad, or phrase.
- Prefer the script over ad hoc
curl commands.
- Let the script read
FREVANA_TOKEN first.
- In interactive shell usage, if
FREVANA_TOKEN is missing, the script may prompt for it.
- In non-interactive or agent workflows, fail fast if the token is missing and tell the user to set
FREVANA_TOKEN or pass --token explicitly.
- Return the validated response JSON, or summarize projected clicks, average CPC, and cost if the user does not need the full payload.
- The script saves the JSON response to
./out/ by default.
Commands
Basic forecast
bash <skill-path>/scripts/search_google_ads_ad_traffic_by_keywords.sh \
--keywords "seo marketing" \
--bid 999 \
--match exact
With location and language
bash <skill-path>/scripts/search_google_ads_ad_traffic_by_keywords.sh \
--keywords "wireless earbuds,gaming headset" \
--bid 500 \
--match phrase \
--location-code 2840 \
--language-code en
With forecast interval
bash <skill-path>/scripts/search_google_ads_ad_traffic_by_keywords.sh \
--keywords "seo marketing" \
--bid 999 \
--match exact \
--date-interval next_month
Save response JSON to a specific file
bash <skill-path>/scripts/search_google_ads_ad_traffic_by_keywords.sh \
--keywords "seo marketing" \
--bid 999 \
--match exact \
--output ./out/google-ads-ad-traffic-result.json
Fixed Request Shape
The script sends this payload shape:
{
"keywords": [
"seo marketing"
],
"bid": 999,
"match": "exact",
"location_code": 2840,
"language_code": "en",
"date_interval": "next_month"
}
Default behavior when no dates are provided:
- DataForSEO applies
next_month
Do not pass unsupported fields. Do not pass API keys, output paths, or request metadata in the payload; Frevana handles server-side details.
Response Shape
The API returns JSON. This skill validates the response as JSON and returns it unchanged.
Output
- Success: the script validates that the response body is JSON and prints it to stdout
- Default file path:
./out/google-ads-ad-traffic-by-keywords-<UTC timestamp>-<pid>.json
- With
--output: the same JSON is written to the specified file path instead
- Failure: the script prints the response body or parsing error and exits non-zero
Notes
- Require
--keywords
- Require
--bid
- Require
--match
--keywords must be a comma-separated list. Trim whitespace and preserve the user-supplied phrases
--bid must be a positive integer
--match accepts exact, broad, or phrase
--date-interval accepts next_week, next_month, or next_quarter
--sort-by accepts relevance, impressions, ctr, average_cpc, cost, or clicks
- Use only one of
--location-name, --location-code, or --location-coordinate
- Use only one of
--language-name or --language-code
--date-interval cannot be combined with --date-from or --date-to
- If either
--date-from or --date-to is used, both must be provided
- If
curl is missing, stop and tell the user to install curl
- If
python3 is missing, stop and tell the user to install python3
- Do not echo the Bearer token back to the user
- Summarize projected clicks, average CPC, cost, and any null or missing metrics when the user is doing ad planning
Example Prompts
中文
- "预测 seo marketing 在 Google Ads 里的点击和 CPC,bid 999,exact match"
- "调用 Google Ads ad traffic by keywords API,并把原始 JSON 存到文件"
- "用 phrase match 预测 wireless earbuds 和 gaming headset 的广告流量"
English
- "Forecast Google Ads clicks and CPC for seo marketing with bid 999 and exact match"
- "Get Google Ads ad traffic forecasts and save the raw JSON to a file"
- "Forecast ad traffic for wireless earbuds and gaming headset using phrase match"
1---2name: google-ads-ad-traffic-by-keywords3description: Use when the user wants Google Ads ad traffic forecasts, projected clicks, CPC, cost, impressions, bid-based keyword forecasting, or campaign planning metrics for keywords.4---56# Google Ads Ad Traffic By Keywords78Forecast Google Ads traffic for keywords through Frevana.910## Purpose1112This skill is for **forecasting Google Ads traffic using keywords, a bid, and a match type**.1314Inputs:1516- `keywords`17- `bid`18- `match`19- optional location, language, date range, date interval, sorting, and tag fields2021Output:2223- validated response JSON with Google Ads ad traffic forecast data2425This skill validates that the response is JSON and returns it unchanged. Do **not** rewrite or reshape the returned data unless the user explicitly asks for a transformation.2627## What This Skill Needs2829- user-provided `keywords`30- user-provided `bid`31- user-provided `match`32- optional location, language, date, sorting, and tag values33- `FREVANA_TOKEN` in the environment variables, or an explicit `--token` override for the current run34- `curl`35- `bash`36- `python3`3738## Execution Order3940Use this flow so the request stays simple and reliable:41421. Confirm the user has provided one or more keywords.432. Confirm the user has provided `bid`.443. Confirm the user has provided `match` as `exact`, `broad`, or `phrase`.454. Prefer the script over ad hoc `curl` commands.465. Let the script read `FREVANA_TOKEN` first.476. In interactive shell usage, if `FREVANA_TOKEN` is missing, the script may prompt for it.487. In non-interactive or agent workflows, fail fast if the token is missing and tell the user to set `FREVANA_TOKEN` or pass `--token` explicitly.498. Return the validated response JSON, or summarize projected clicks, average CPC, and cost if the user does not need the full payload.509. The script saves the JSON response to `./out/` by default.5152## Commands5354### Basic forecast5556```bash57bash <skill-path>/scripts/search_google_ads_ad_traffic_by_keywords.sh \58 --keywords "seo marketing" \59 --bid 999 \60 --match exact61```6263### With location and language6465```bash66bash <skill-path>/scripts/search_google_ads_ad_traffic_by_keywords.sh \67 --keywords "wireless earbuds,gaming headset" \68 --bid 500 \69 --match phrase \70 --location-code 2840 \71 --language-code en72```7374### With forecast interval7576```bash77bash <skill-path>/scripts/search_google_ads_ad_traffic_by_keywords.sh \78 --keywords "seo marketing" \79 --bid 999 \80 --match exact \81 --date-interval next_month82```8384### Save response JSON to a specific file8586```bash87bash <skill-path>/scripts/search_google_ads_ad_traffic_by_keywords.sh \88 --keywords "seo marketing" \89 --bid 999 \90 --match exact \91 --output ./out/google-ads-ad-traffic-result.json92```9394## Fixed Request Shape9596The script sends this payload shape:9798```json99{100 "keywords": [101 "seo marketing"102 ],103 "bid": 999,104 "match": "exact",105 "location_code": 2840,106 "language_code": "en",107 "date_interval": "next_month"108}109```110111Default behavior when no dates are provided:112113- DataForSEO applies `next_month`114115Do not pass unsupported fields. Do not pass API keys, output paths, or request metadata in the payload; Frevana handles server-side details.116117## Response Shape118119The API returns JSON. This skill validates the response as JSON and returns it unchanged.120121## Output122123- Success: the script validates that the response body is JSON and prints it to stdout124- Default file path: `./out/google-ads-ad-traffic-by-keywords-<UTC timestamp>-<pid>.json`125- With `--output`: the same JSON is written to the specified file path instead126- Failure: the script prints the response body or parsing error and exits non-zero127128## Notes129130- Require `--keywords`131- Require `--bid`132- Require `--match`133- `--keywords` must be a comma-separated list. Trim whitespace and preserve the user-supplied phrases134- `--bid` must be a positive integer135- `--match` accepts `exact`, `broad`, or `phrase`136- `--date-interval` accepts `next_week`, `next_month`, or `next_quarter`137- `--sort-by` accepts `relevance`, `impressions`, `ctr`, `average_cpc`, `cost`, or `clicks`138- Use only one of `--location-name`, `--location-code`, or `--location-coordinate`139- Use only one of `--language-name` or `--language-code`140- `--date-interval` cannot be combined with `--date-from` or `--date-to`141- If either `--date-from` or `--date-to` is used, both must be provided142- If `curl` is missing, stop and tell the user to install `curl`143- If `python3` is missing, stop and tell the user to install `python3`144- Do not echo the Bearer token back to the user145- Summarize projected clicks, average CPC, cost, and any null or missing metrics when the user is doing ad planning146147## Example Prompts148149### 中文150151- "预测 seo marketing 在 Google Ads 里的点击和 CPC,bid 999,exact match"152- "调用 Google Ads ad traffic by keywords API,并把原始 JSON 存到文件"153- "用 phrase match 预测 wireless earbuds 和 gaming headset 的广告流量"154155### English156157- "Forecast Google Ads clicks and CPC for seo marketing with bid 999 and exact match"158- "Get Google Ads ad traffic forecasts and save the raw JSON to a file"159- "Forecast ad traffic for wireless earbuds and gaming headset using phrase match"