striking_distance
Find your "striking distance" keywords — the ones ranking just off page 1 (positions 8–20 by default) where a small rank nudge could win real clicks — and size the upside. Uses THIS site's OWN fitted CTR curve (modeled by ctr_curve_model, not a generic published curve): upside = impressions × (expected CTR at the target position − expected CTR at the current position), then an AI-Overview haircut is applied and AIO-dominated SERPs are down-weighted. Ranked by haircut-adjusted upside. Use for "what's our quickest-win SEO opportunity?" / "which keywords are closest to page 1?". The estimate is modeled, not a promise — AIO can erase the gain.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"date_range": "<date_range>"
},
"name": "striking_distance"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Restrict candidates to branded ("Yes") or non-branded ("No") demand. Non-branded is usually the actionable opportunity. | |
| top_n | No | How many ranked candidate keywords to return. | |
| device | No | Restrict candidates to one device. | |
| intent | No | Restrict candidates to one intent (a customer keyword group). Resolve the id with resolve_entity first. | |
| source | No | Where Google search performance data is read from. Use "bigquery" ONLY when the user explicitly asks for BigQuery as the source AND describe_data_sources reports it available from live customer configuration — it returns far more granular per-query data (privacy-suppressed impressions appear under "[anonymized by google]"). | default |
| band_max | No | Upper bound of the candidate position band (inclusive). Default 20. | |
| band_min | No | Lower bound of the candidate position band (inclusive). Default 8 — just off page 1. | |
| date_range | Yes | Explicit date range, e.g. "2026-05-01 to 2026-05-31". Both endpoints are INCLUSIVE — the END day is covered (a 7-day range = 7 days). Quattr weeks run Sunday–Saturday; for "last week" use the most recent complete Sun–Sat span. | |
| aio_haircut | No | Approximated AI-Overview haircut (0–1) applied to the modeled CTR gain to reflect AIO compressing organic clicks (default 0.3 = a 30% discount). Flagged as an approximation, not a measured value. | |
| target_position | No | The position to model nudging each candidate UP to (default 5 — bottom of the page-1 cluster). Upside is the CTR gain from current → target. | |
| min_bucket_instances | No | Per-bucket reliability floor for the underlying curve fit (default 5). |