Automate Bulk Google Ads Search Campaigns N8N
Stop hand-building campaigns. This guide shows how to turn a Google Sheet of keywords into a Google Ads Editor–ready CSV—with auto ad-group clustering, RSA assets, and geo-ID locations—using n8n + Google Gemini.
→ Grab the ready-made n8n workflow on Gumroad: Download the AI Google Ads Campaign Builder
Why automate?
- 10× faster from keywords to importable CSV
- Consistent structure for every market/brand
- Editor-ready columns (no copy–paste chaos)
- Geo-ID targeting pulled directly from your sheet

What you’ll build
An n8n workflow that:
- Reads Keywords from Google Sheets (one per row)
- Reads Basic Settings (budget, bidding, languages, locations via geo IDs, final URL, paths)
- Reads Brand Settings (brand name, default URL, USPs)
- Calls Gemini to cluster keywords → Ad Groups and write RSAs (15 headlines, 4 descriptions)
- Parses the model output and exports an Editor-ready CSV with:
- Campaign row
- Ad Groups + RSAs (15/4, length-safe)
- Keywords in Phrase & Broad
- Sitelinks, Callouts, Structured Snippet
- Location rows (from your sheet’s geo IDs only)
Want it done? Use the prebuilt workflow: Get the n8n Workflow →
Requirements
- n8n (self-hosted or n8n Cloud)
- Google Sheets access
- Google Gemini API key
- Google Ads Editor (for CSV import)
Sheet setup (copy/paste)
Create three tabs (or three files—your choice). Use these headers exactly.
1) Keywords
keywords example
shampoo for curly hair
sulfate free shampoo...
2) Basic Settings
brandName campaignCountry finalUrl path1 path2 budget biddingStrategy maxCpc networks languages locations3) Brand Settings
| brandName | defaultFinalUrl | brandUsps1 | brandUsps2 | brandUsps3 | brandUsps4 |
|---|---|---|---|---|---|
| YourBrand | https://yourbrand.com/ | Free 24h delivery | Fast shipping | Trusted by 300k+ | Professional products |
How the workflow works
- Pull Sheets → keywords + settings
- Prompt Builder → creates a single, policy-aware prompt with your brand & basics
- Gemini → returns structured JSON (ad groups, assets, extensions)
- Parser → turns text into JSON (handles ```json fences)
- Row Builder → maps JSON + sheet defaults into Google Ads Editor CSV
- Locations are taken only from your sheet (geo IDs), never from the model
Quick start (5 minutes)
- Connect Google Sheets + Gemini credentials in n8n.
- Import the workflow JSON.
- Point the three Google Sheets nodes at your copies.
- Ensure Basic Settings returns exactly 1 row.
- Run → download CSV → Google Ads Editor → Import.
Get the full package (workflow + templates + quick-start): Download on Gumroad
Best practices
- Clean keywords → better clusters & RSAs
- First language drives copy (e.g.,
en;fr→ English copy) - Strong USPs lift CTR (put 3–5 in Brand Settings)
- Use geo IDs for locations (e.g.,
2250;2840)—unambiguous and scale-friendly
Troubleshooting
- Parser error → re-run; ensure model returns JSON (the parser strips fences, grabs the first object).
- Empty ad groups → confirm Keywords tab has rows and your Gemini key is active.
FAQ
Can I use OpenAI instead of Gemini?
Yes. Swap the model node; the parser supports both formats.
Add Exact match too?
Yes. Extend the row builder to output another line per keyword with Criterion Type = Exact.
Multiple markets/languages?
Yes. Use languages like en;fr. Run per market or split sheets by market.
PMAX/Display?
This template targets Search. You can extend columns & prompts for other types.
Grab the template
Save hours on every build. Import, connect, run:
👉 AI Google Ads Campaign Builder (n8n + Gemini) — Download on Gumroad
Includes the n8n workflow (.json), three sheet templates, a quick-start guide, and an example CSV.