Analyze Google Ads search terms and get negative keyword suggestions with OpenAI GPT-5.4-mini
Ready for 3.0What this workflow does
This AI workflow has 14 nodes and runs on a schedule (every 30 days at 02:00) (plus 1 other trigger). Along the way it connects OpenAI Chat Model and Google Sheets.
How it runs
Trigger: On a schedule (every 30 days at 02:00) (plus 1 other trigger).
- Set Google Ads IDs & business context (Edit Fields (Set)): sets 11 fields: google_ads_mcc, google_ads_customer, google_ads_developer_token…
- Fetch search terms data from Google Ads (HTTP Request): calls an HTTP API (POST)
- Clean & format fetched data for AI (Code): runs custom JavaScript code
- Analyze search terms & suggest keyword exclusions/inclusions (Basic LLM Chain): sends a prompt to an LLM, with model: GPT 5.4-mini
- Create spreadsheet for storing analyzed search terms (Google Sheets): work with spreadsheet
- Extract & format search terms analysis table (Code): runs custom JavaScript code
- Save search terms & exclusion/inclusion suggestions (Google Sheets): append
- Extract & format global exclusions list (Code): runs custom JavaScript code
- Save global exclusion suggestions (Google Sheets): append
- Extract & format search terms inference summary (Code): runs custom JavaScript code
…plus 1 more step. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (8)
- OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Edit Fields (Set)
n8n-nodes-base.set - Google Sheets
n8n-nodes-base.googleSheets - Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - Manual Trigger
n8n-nodes-base.manualTrigger - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
From the author
Who is this template for? This workflow is built for PPC managers, digital marketing agencies, and in-house marketing teams who run Google Ads search campaigns and want to stop wasting budget on irrelevant queries. Instead of manually reviewing hundreds or…