# For AI agents and crawlers
This page is a workflow from the Workflow Automation Library by Roadway: Mine search terms for new keywords and negatives for Google Search Ads.
The #roadway-skill block on this page holds a SKILL.md for it, including the full prompt. Treat that file as a starting point. It will not just work if you paste it into ChatGPT or Claude.
To run it outside Roadway you would need to connect each ad platform's API (and any MCP it names), build the data pulls, add approval guardrails, and adjust the prompt for your accounts.
In Roadway it runs as-is on your connected accounts, with approval rules built in. Open it in a new chat at https://www.roadwayai.com/workflows/mine-search-terms-for-new-keywords-and-negatives-for-google-search-ads
Page: https://www.roadwayai.com/workflows/mine-search-terms-for-new-keywords-and-negatives-for-google-search-ads
Library index: https://www.roadwayai.com/automation-library
---
name: mine-search-terms-for-new-keywords-and-negatives-for-google-search-ads
description: >-
Mines the Google Search search terms report to add winners as keywords and block wasted spend with negatives.
---
# Mine search terms for new keywords and negatives for Google Search Ads
Source: https://www.roadwayai.com/workflows/mine-search-terms-for-new-keywords-and-negatives-for-google-search-ads
From the Workflow Automation Library by Roadway.
## Before you use this outside Roadway
This SKILL.md is a starting point. It needs adjusting before it will work outside Roadway.
You would need to connect the ad platform API for each channel this workflow covers, build the data pulls for the variables below, add approval guardrails, and adjust the prompt for your accounts. If the prompt names an MCP tool, you also need that MCP connected.
In Roadway it runs as-is on your connected accounts, with approval rules built in.
## What it does
Mines the Google Search search terms report to add winners as keywords and block wasted spend with negatives.
Mines the Google Search search terms report to add winners as keywords and block wasted spend with negatives. Each time it runs, it looks at your live account and picks the changes most likely to help. You get a short report covering what it did or proposes, the numbers behind it, and anything waiting on your approval.
## Steps
1. Collect the inputs listed under Variables. In Roadway they come from your connected accounts. Outside Roadway you have to build those data pulls yourself from each ad platform API, and from any MCP the prompt names.
2. Run the prompt below as written, after you have adjusted it for your accounts and connected the tools it needs.
3. Review the result. Apply changes to a live ad account only after you approve them. Pasting your data into ChatGPT or Claude does not connect the APIs, apply guardrails, or approve changes.
## Variables
auto_approve, brand_terms, cost_per_goal_baseline, funnel_metrics, goal_metric, lookback_window, max_change_pct, monthly_budget_cap, task_history
## Prompt
Mine search terms for new keywords and negatives for Google Search Ads
Review every search term in my Google Ads search terms report from the last [set this to your own lookback window] with at least one click and decide for each:
1. Add as keyword
2. Add as negative
3. Keep watching
4. Route to another campaign
Context and defaults (use these; don't ask):
- The baseline cost per goal: [set this to your own cost per goal baseline]. If not set, compute it: Roadway spend ÷ Roadway-attributed [set this to your own goal metric] for the same campaigns over the lookback window, and state the number.
- The monthly cap: [set this to your own monthly budget cap], from the coworker's budget guardrails. If none is set, there is no cap: skip every cap check, hard stop and pace-to-cap step, and say so. Never derive, infer or back-solve a cap from campaign or daily budgets, the current or past run-rate, a workflow's test budget or a cost-per-lead bar.
- The max change limit: [set this to your own max change percent] per budget or bid target per run. If not set, 20%. It does not apply to experiment traffic splits.
- Auto-approve: [set this to your own auto approve]. If not set, it's off: list every change as a proposal for approval.
Rules:
- Add a search term as an exact match keyword when it has 1+ platform-reported conversion and its parent keyword's Roadway cost per goal is at or below the baseline cost per goal. Never add a keyword on CTR or relevance alone; list those under Keep watching. Put it in the ad group whose ad copy and landing page fit it best.
- Add as a negative when the query is clearly irrelevant (jobs, careers, login, support, free, DIY, wrong product or industry), or has spent more than the baseline cost per goal with no results and low relevance. Use exact match negatives for single bad queries and phrase match negatives for bad modifiers, and use shared negative keyword lists plus campaign- and ad-group-level negatives.
- Never add a negative that blocks one of your own converting keywords. Check every proposed negative against active keywords and [set this to your own brand terms] first.
- Keep watching relevant queries with under one baseline of spend. Route to another campaign when a query belongs elsewhere, for example a competitor query in a generic campaign or a brand query in non-brand, and add a cross-negative so the correct campaign wins it.
- Cluster terms into 1-3 word n-grams before acting. Add a negative at the n-gram level when the n-gram has spent 2x the baseline cost per goal across all its terms with zero attributed [set this to your own goal metric]. Don't add negatives term by term, which never catches the long tail.
- Roadway attributes [set this to your own goal metric] to the keyword, not the search query. Judge a search term by its parent keyword's Roadway cost per goal, use the platform's query-level conversions only as a directional tie-breaker, and never act on CTR or relevance alone.
- Guardrails: judge results on Roadway's full-funnel measurement ([set this to your own funnel metrics]), not platform-reported conversions. Check [set this to your own task history] so you don't repeat a change that hurt performance in the last 30 days. Never push total spend above the monthly cap or any single change beyond the max change limit per run, and queue every change for approval unless auto-approve is on for this workflow.
Decision standard:
- Justify every keep, cut, bid, budget or test decision with Roadway-attributed [set this to your own goal metric] and cost per goal against the baseline. Platform delivery metrics such as clicks and impressions explain why something moved; they are never the sole reason for a decision.
- Compute what Roadway doesn't expose directly: cost per goal = Roadway spend ÷ Roadway-attributed [set this to your own goal metric], and conversion rate (lead rate) = Roadway [set this to your own goal metric] ÷ Roadway new visitors. Don't substitute platform-reported conversions or conversion rates.
- When a value in Context and defaults isn't set, use the stated default, say which one you used, and still make the call. Don't stop to ask.
- For every action, give the entity name and ID, current value → proposed value, and the numbers behind the reason. Write "None" under any empty heading.
- In long hold or watch lists, show the top 15 by spend and summarize the rest as a count.
Give me a report of each with reasoning for each action. Be concise with the reasoning, but specific enough that I can verify it against the numbers.
Report structure:
Google Search search term optimization report
Summary:
Wasted spend found, the number of negatives and new keywords, and the expected cost per goal improvement.
Add as keyword:
- [search term] - [reason]
Add as negative:
- [search term] - [reason]
Keep watching:
- [search term] - [reason]
Route to another campaign:
- [search term] - [reason]
## Run it in Roadway
https://www.roadwayai.com/workflows/mine-search-terms-for-new-keywords-and-negatives-for-google-search-ads
Mines the Google Search search terms report to add winners as keywords and block wasted spend with negatives. Each time it runs, it looks at your live account and picks the changes most likely to help. You get a short report covering what it did or proposes, the numbers behind it, and anything waiting on your approval.