Search Term Coverage Report
Measures how much spend flows through queries you never added as keywords, then splits the biggest unmanaged queries into keywords-to-add (converting) and negative candidates (zero conversions).
by Dmytro Tonkikh·chiliad.io
Overview
Some unmanaged traffic is healthy — that's how discovery works — but when most of the budget rides on queries you never chose, the account is steering itself. Search Term Coverage uses Google's own added/not-added status per search term to compute the managed vs unmanaged spend split, then lists the biggest unmanaged queries in both directions: converting queries to add as keywords (take control of what already works) and zero-conversion queries to review as negatives.
Setup
- 1Open your Google Ads account and go to Tools → Bulk Actions → Scripts.
- 2Click the + button to create a new script and paste the code below.
- 3Adjust MIN_TERM_COST to your account's scale.
- 4Set EMAIL_ADDRESS to receive the report; leave blank for logs only.
- 5Preview once to verify, then schedule monthly.
Configuration Variables
| Variable | Default |
|---|---|
DATE_RANGE | LAST_30_DAYS |
MIN_TERM_COST | 5 |
TOP_N | 25 |
EMAIL_ADDRESS | (empty) |
Expected Output
=== Search Term Coverage (LAST_30_DAYS) === Spend on added keywords: 8240.20 Spend on unmanaged queries: 4110.35 (33% of search spend) --- CONVERTING unmanaged queries - ADD as keywords --- "trail running shoes women" cost: 240.10 clicks: 198 conversions: 12.0 (Shoes — Generic) --- ZERO-CONVERSION unmanaged queries - negative candidates --- "running shoes repair kit" cost: 84.20 clicks: 92 conversions: 0.0 (Generic — Broad) Email sent to you@example.com
Notes
The managed/unmanaged classification comes from Google's own search term status (added vs none). Broad-match-heavy and DSA accounts naturally run higher unmanaged shares — track the trend month over month rather than chasing an absolute number. Complements an n-gram analysis: this finds whole queries, n-grams find patterns.