Skip to main content

Paid media · build guide

Search Term Intelligence

Turns your weekly search term report into ranked negative keywords and match-type fixes.

Path A · Manual extracts Path B · MCP integration Guardrail-first

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.

What it moves: Reduces wasted spend by converting each week's search term report into applied negative keywords and match-type fixes, tracked as the dollars flowing to non-converting queries week over week.
Path A · Manual

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.

Path B · Integrated

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.

Prerequisites.

Google Ads account access sufficient to export the search terms report (read-only is enough for the manual path)
At least 30–90 days of search term history with cost, clicks, and conversion columns populated
An agreed conversion definition and target efficiency (CPA or ROAS) so "wasted spend" means the same thing to everyone
A Claude workspace for the analysis pipeline and a Google Sheet for the decision log
For the MCP path: authority to grant read-scoped Google Ads API access, plus a write path limited to negative keyword lists
New to the stack? Set up your environment first — data access, workspace, integration platforms, and the agent layer are covered once in Environments & tooling. Not sure where the waste is yet? An automated AuditDemand audit ↗ quantifies it before you build.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

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.

Google Ads reporting (read-only API access or an MCP server for Google Ads)
Google Ads negative keyword lists (write access scoped to designated shared lists only)
Google Sheets or BigQuery (audit log and week-over-week wasted-spend tracking)
Slack or email (approval queue and weekly digest)
Claude with MCP servers, or n8n/Zapier/Make as the scheduling and orchestration layer
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Run it safely.

Google Ads search terms report — the raw input; exported as CSV on the manual path, queried via API on the MCP path
Claude — runs the structured classification pipeline that ranks negatives by wasted spend and flags match type gaps
Google Sheets — decision sheet, rejection memory, and the audit log both paths share
Google Ads Editor — bulk-applies approved negatives and match-type changes on the manual path
An MCP server for Google Ads — gives the agent read-scoped term data and a constrained write path to negative lists
n8n, Zapier, or Make — schedules the weekly loop and routes the approval digest
  • 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.

We only email when there's something worth building — every email has a one-click unsubscribe, and you can withdraw consent anytime. Consent requested by Campaign Automation AI, Caledon, Ontario · hello@campaignautomation.ai.

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.

Start with the Audit → Request proposals →