Paid media · build guide
Search Term Intelligence
Turns your weekly search term report into ranked negative keywords and match-type fixes.
What it does
Search Term Intelligence turns the raw Google Ads search terms report into a structured weekly decision: which queries get negated, which match types are leaking spend, and which converting terms deserve their own keywords. Instead of eyeballing thousands of rows, a structured Claude pipeline classifies every term, ranks negative keyword candidates by wasted spend, flags match type efficiency gaps, and hands you a short approval list.
Each applied negative stops the same waste from recurring — that is where it compounds. The decision log becomes account memory: rejected candidates stop getting re-flagged, seasonal query patterns become visible, and match-type fixes tighten targeting over time. Platform matching keeps getting broader; this workflow is the governed counterweight — logged, capped, and reversible.
This is the zero-platform-access version: a weekly Google Ads CSV export, a structured Claude pipeline, and a spreadsheet where a human makes every call. It suits teams that can't or won't grant API access, agencies working inside a client's permission boundaries, and anyone who wants the intelligence before the integration.
Here the systems are connected: a read-scoped Google Ads connection feeds an agent that runs the classification loop on schedule, stages low-risk negatives within a spend cap, and queues everything else for your approval. It suits teams that already trust the weekly report from the manual version and want the loop to run without the export step.
Before you start
Prerequisites.
Path A
Build it with manual data extracts.
This is the zero-platform-access version: a weekly Google Ads CSV export, a structured Claude pipeline, and a spreadsheet where a human makes every call. It suits teams that can't or won't grant API access, agencies working inside a client's permission boundaries, and anyone who wants the intelligence before the integration.
Standardize the weekly export
In Google Ads, pull the search terms report for the trailing 30 days with a fixed column set: search term, matched keyword, match type, campaign, ad group, impressions, clicks, cost, conversions, and conversion value. Save it as a CSV with a dated filename. Keeping the columns identical every week is what makes the pipeline repeatable.
Build the Claude classification pipeline
Write a structured prompt chain in Claude with three passes. Pass one classifies every term (irrelevant, competitor, research-stage, converting, ambiguous). Pass two ranks negative candidates by wasted spend and checks match type efficiency, flagging terms that leak through broad match while an exact variant performs. Pass three surfaces opportunity signals: converting queries that aren't yet keywords.
Run the CSV and generate the report
Paste or attach the week's CSV and run the pipeline. The output is a three-section report: negative keyword candidates ranked by wasted spend, match type gaps with the evidence rows, and new keyword opportunities. Have Claude also propose the negative match type and level (ad group, campaign, or shared list) for each candidate.
Review every candidate in the decision sheet
Move the report into a Google Sheet with an approve/reject column. You decide each negative — the pipeline never does. Rejections get a one-line reason so future runs stop re-flagging them. Watch for false positives: terms that look irrelevant but convert on longer windows.
Apply changes in Google Ads Editor
Bulk-add approved negatives via Google Ads Editor into a dated shared negative list, and make any approved match-type changes at the same time. Using a dated list per week means one batch can be removed in a single action if something goes wrong.
Log and track week over week
Record what was applied, the wasted-spend evidence, and the date in the log sheet. Track two numbers over time: total spend on non-converting queries (should trend down) and impression share on converting queries (should hold steady — if it drops, a negative is too aggressive).
Cadence: Weekly; roughly an hour per cycle once the export format and pipeline prompts are locked in.
Path B
Integrate it with MCP connections.
Here the systems are connected: a read-scoped Google Ads connection feeds an agent that runs the classification loop on schedule, stages low-risk negatives within a spend cap, and queues everything else for your approval. It suits teams that already trust the weekly report from the manual version and want the loop to run without the export step.
Connect Google Ads with split scopes
Set up read-only reporting access to Google Ads through the API or an MCP server for Google Ads — enough to query search terms, keywords, and existing negatives. Separately configure a constrained write path that can only add or remove entries in designated shared negative keyword lists. The agent never gets access to bids, budgets, ads, or settings.
Schedule the agent loop
Using Claude with MCP servers, or an orchestrator like n8n, Zapier, or Make, run the loop weekly: pull the trailing search term data, dedupe against existing negatives and active keywords, and pass the remainder through the same three-pass classification — negative candidates ranked by wasted spend, match type gaps, and opportunity signals.
Split actions by your thresholds
Define the caps up front. Clearly irrelevant, zero-conversion terms under your per-term spend threshold are staged automatically into the current dated shared negative list. Anything above the cap, anything ambiguous, and every match-type or keyword-addition recommendation goes to the approval queue instead. The agent recommends; it only acts inside the box you drew.
Approve from a weekly digest
The agent posts a digest to Slack or email: what it staged within caps, what needs your sign-off, and the evidence rows behind each item. You approve or reject in one pass. Approved items are applied through the scoped write path; rejections are written back so they're never re-flagged.
Write everything to the audit log
Every action — auto-staged or human-approved — lands in a Google Sheets or BigQuery log with the term, spend evidence, classification reason, who approved it, and a timestamp. The log is the source of truth for what the automation did and why, and it feeds the week-over-week wasted-spend trend.
Run the rollback check
Once a week, review impression share and conversion volume on the queries you kept. If a negative is blocking converting traffic, remove it from the dated shared list — or remove the whole week's batch in one action. Reversibility is built into the list structure, not bolted on.
Tools & guardrails
Run it safely.
- Auto-apply only below the cap you set: zero-conversion, clearly irrelevant terms under your per-term spend threshold — everything else waits for human approval
- Write scope is negatives only: the agent can never touch bids, budgets, ads, or campaign settings on either path
- Every applied negative is logged with the term, spend evidence, classification reason, approver, and timestamp in a sheet you own
- Each week's negatives go into a dated shared list, so any batch reverses in one action if it blocks converting traffic
Want new build guides as they ship?
Optional — every guide on this site is free either way. Leave your details and we'll email you when new automations join the library, nothing else.
Prefer it built for you?
We stand this automation up as a governed sprint on the stack you already run — scoped, built, and handed over with the guardrails configured. No new platform, no migration.