Why negative keywords matter more than most optimizations
A 10% bid increase might improve your position by a few percentage points. A well-built negative keyword list can cut 15–25% of spend that was never converting in the first place — money you can redirect to keywords that actually work.
The reason negative keywords get neglected is that they are unglamorous. There is no dashboard celebrating "$340 saved this week by excluding irrelevant queries." But that $340, compounded weekly across every campaign in an account, is often larger than any single bid or budget change you could make.
Broad match and phrase match keywords are designed to find queries you did not anticipate — that is the point. Some of those queries will be gold. Many will be noise: people researching, looking for jobs, searching for a free version, or searching for a completely different product that happens to share a word with yours.
Where wasted spend hides: the search terms report
The Search Terms report (Campaigns → Insights and reports → Search terms) shows the actual queries that triggered your ads, regardless of which keyword and match type matched them. This is where negative keyword candidates come from — never guess them.
Sort by cost, then scan from the top down. For any query with meaningful spend and zero conversions, ask: would I ever want to show an ad for this exact search? If the answer is no, it is a negative keyword candidate. If the answer is "sometimes, but not for this campaign," it is a candidate for a different campaign rather than an outright exclusion.
- Job-seeker queries: "[brand] careers", "[product] jobs", "how to become a [role]"
- Research and informational queries: "what is", "how does", "definition of"
- Free or DIY queries: "free", "diy", "template", "open source" — unless that is your model
- Competitor and unrelated brand names that triggered your ad unintentionally
- Wrong-intent variations: "[product] vs [unrelated category]" comparisons that signal a different need
Structuring negative keyword lists that scale
There are two levels of negatives: campaign-level negatives (specific to one campaign's context) and shared negative keyword lists (applied across multiple campaigns or the entire account). Most accounts only use campaign-level negatives, which means the same junk queries get re-discovered and re-excluded separately in every campaign.
Build one account-wide shared negative list for universal exclusions — job searches, "free", "cheap", "complaints", common misspellings of unrelated brands — and apply it to every campaign. Then build campaign-specific negative lists for terms that are relevant in one campaign but should be excluded from another, such as a product name that belongs to a different campaign's keyword set.
Match type matters as much as the keyword itself. A broad match negative like "free" blocks any query containing that word — useful for account-wide exclusions but risky if applied too broadly. Phrase and exact match negatives give you more precision for campaign-specific exclusions.
- Account-wide shared list: misspellings, job terms, "free", "cheap", "complaints", irrelevant industries
- Campaign-group lists: terms relevant to one product line but not another
- Single-campaign negatives: cross-contamination between your own campaigns (e.g., a Brand campaign term leaking into a non-brand campaign)
- Review broad match negatives carefully — they can unintentionally block relevant traffic if too generic
The weekly negative keyword review cadence
A 10-minute weekly review prevents the slow re-accumulation of waste. The cadence: pull the search terms report for the trailing 7 days, sort by cost descending, and scan the top 30–50 rows. Add clear negatives immediately. Flag ambiguous ones for a second look after another week of data.
New campaigns or recently expanded match types need more frequent review — daily for the first week, then weekly once the query mix stabilizes. Mature campaigns with well-built negative lists can often move to a biweekly cadence, but should never go longer than a month without a check.
- Week 1 of a new campaign: review search terms daily
- Steady-state campaigns: review weekly, focus on the highest-cost new queries
- After any match type change (e.g., switching to broad match): review daily for at least a week
- Quarterly: audit shared negative lists for outdated exclusions that may now be blocking relevant traffic
Using Claude to automate negative keyword discovery
The manual process works, but reading through hundreds of search term rows every week is exactly the kind of repetitive analysis that benefits from AI assistance. With MCP Ads connected, Claude can pull the search terms report directly and flag candidates based on the criteria above — without you opening the Google Ads interface.
Ask Claude: "Pull the search terms report for the last 7 days across all campaigns. Show me queries with at least $10 in spend and zero conversions, sorted by cost. Flag any that look like job searches, research queries, or unrelated to our [product/service]." Claude returns a ranked list you can review and approve in minutes instead of scrolling through raw data.
You can also ask Claude to check for overlap: "Are any of these candidate negatives going to block search terms that have converted in other campaigns?" This catches the most common negative-keyword mistake — excluding a term broadly that was actually working well in a different campaign.
Doing this with Claude connected to the account
The weekly search terms review is the most repetitive job in Google Ads, which makes it the best candidate for doing through a conversation instead of a spreadsheet. With Google Ads connected through MCP Ads, the search terms report, the negative lists, and the write that adds a negative are all reachable from one prompt.
Prompt 1: "Pull search terms from the last 14 days with spend over $10 and zero conversions, across all Search campaigns. Group them by the reason they look irrelevant." Claude calls google_ads_search_terms, which returns the query, the keyword and match type that triggered it, clicks, cost, and conversions. Then it does the part the report cannot: it reads the queries and clusters them. As an illustrative example, you might get back four clusters — job seekers, DIY and how-to queries, a competitor brand, and a product you do not sell — with the spend total per cluster, so you know which one to block first.
Prompt 2: "Add the job-seeker cluster as phrase-match negatives to the shared list called Account Exclusions, and add the DIY cluster at the campaign level only for the two campaigns where it appeared." Claude uses google_ads_add_to_shared_negative_list for the first group and google_ads_bulk_add_search_terms_as_negatives for the second. Both are writes, so Claude shows the exact terms, match type, and destination before anything is applied and waits for your yes. If the shared list does not exist yet, google_ads_create_shared_negative_list creates it and google_ads_apply_shared_negative_list attaches it to the campaigns you name.
Prompt 3: "Before you add those, check whether any of them would block a keyword I am actually bidding on." This is the conflict check most people skip. Claude reads google_ads_list_negative_keywords and google_ads_list_adgroup_keywords and flags any negative that overlaps a live keyword, which is the single most common way a negative list quietly kills a good campaign.
The default is that every write asks first. If you want this to run on a schedule, the weekly search term harvester skill produces the same clusters and hands you the approvals.
Where the manual way still wins
The search terms report Google exposes through the API is the same one you see in the UI, with the same privacy threshold: low-volume queries are rolled into "other search terms" and neither you nor Claude can see them. For accounts where most spend sits in that bucket, the only lever is the keyword and match-type structure, not negatives.
Judgment about intent also stays with you. Claude can tell you a query looks like a job seeker, but only you know that "franchise opportunities" is a real lead source for your client. Review the clusters before approving, especially anything added to a shared list that touches every campaign at once. A wrong negative on a shared list is a mistake made everywhere simultaneously.