This workflow automates the entire ad creation process for Google Ads by integrating product data, AI-generated copy, compliance checks, and publication into your marketing pipeline.
It connects n8n, Relevance AI, Google Sheets, and optionally Channable to:
✅ 100% automated ad copy pipeline
✅ AI-generated, human-quality Google Ads text
✅ Built-in compliance verification (Google Ads policy)
✅ Google Sheet integration for team review
✅ Daily automatic schedule (zero manual effort)
✅ Slack alerts for QA and transparency
✅ Modular design — extendable for Shopping and Performance Optimization
✅ Scalable for 10 → 10,000+ product ads
Daily Trigger (00:00)
⬇️
1️⃣ Get Product Feed (Channable or custom API)
⬇️
2️⃣ Split Into Batches (50 products each)
⬇️
3️⃣ Generate Ad Copy (Relevance AI tool → Claude 3.5 prompt)
⬇️
4️⃣ Validate Character Limits (JS node: max 30 headline / 90 description)
⬇️
5️⃣ Compliance Check (Relevance AI agent → Google Ads policies)
⬇️
6️⃣ IF Compliant → CSV / Google Sheets
↳ ❌ Non-Compliant → Slack Alert
⬇️
7️⃣ Aggregate Batches + Generate CSV
⬇️
8️⃣ Save to Google Sheets (“Generated Ads” tab)
⬇️
9️⃣ Slack Notification → Summary Report
Set these in n8n → Settings → Variables → Add Variable
Copy-paste from your ENVIRONMENT_VARIABLES_CORRECTED.txt.
Includes:
RELEVANCE_AI_API_URL=https://api-f1db6c.stack.tryrelevance.com/latest
RELEVANCE_TOOL_AD_COPY_ID=bueQG8io04dw
RELEVANCE_AGENT_COMPLIANCE_ID=xT29mQ4QKsl
GOOGLE_SHEET_ID=1q2w3e4r5t6y7u8i9o0p
SLACK_CHANNEL=#google-ads-automation
| Node | Description | Endpoint / Logic |
|---|---|---|
| 🕓 Schedule Trigger | Runs daily at 00:00 | Cron 0 0 * * * |
| 📦 Get Product Feed | Pulls product data from Channable or custom API | GET {{$env.CHANNABLE_API_URL}}/v1/projects/{{$env.PROJECT_ID}}/items |
| 🧮 Split Into Batches | Processes 50 products at a time | Avoids rate limits |
| ✍️ Generate Ad Copy (Relevance AI) | Calls AI tool for each product | POST {{$env.RELEVANCE_AI_API_URL}}/tools/google_text_ad_copy_generator/run |
| 🔍 Validate Character Limits | JS validation (≤30 headline / ≤90 description) | Truncates smartly |
| 🧠 Compliance Check Agent | Verifies Google Ads compliance | POST {{$env.RELEVANCE_AI_API_URL}}/agents/google_ads_compliance_checker/run |
| ⚖️ IF Compliant | Routes APPROVED vs REJECTED | "contains 'APPROVED'" |
| 💾 Format for CSV | Formats compliant ads for export | Maps ID, headline, desc, URLs |
| 📊 Aggregate Batches | Combines all results | Merges datasets |
| 🧱 Generate CSV File | Converts JSON → CSV | Escaped string-safe format |
| 📑 Save to Google Sheets | Saves reviewed ads | Sheet: Generated Ads |
| 📢 Slack Notification (Success) | Posts completion summary | Shows ad count, timestamp |
| 🚨 Slack Alert (Non-Compliant) | Notifies team for review | Includes issues, category |
Create “HTTP Header Auth” credential
Header Name: Authorization
Header Value: Bearer {{$env.RELEVANCE_AI_API_KEY}}
Credential type: “Google OAuth2 API”
Scopes:
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/drive.file
chat:writeHeader Auth:
Bearer {{$env.CHANNABLE_API_TOKEN}}
Sheet name: Generated Ads
Columns:
| product_id | headline | description | final_url | display_url | generated_at |
Optional: Add compliance_status or notes columns for QA.
Manual Trigger: Disable the schedule → click “Execute Workflow”.
Batch Size: Start small (3 products).
Expected Output:
Check logs in Executions for errors.
Re-enable the cron trigger after successful validation.
| product_id | headline | description | final_url | display_url | generated_at |
|---|---|---|---|---|---|
| 12243 | “Eco Bamboo Socks” | “Soft, breathable comfort for everyday wear.” | https://shop.com/socks | shop.com | 2025-10-22T00:00:00Z |
✅ Success Notification
✅ *Google Ads Generation Complete*
📊 *Summary:*
• Total Ads Generated: 50
• Saved to Google Sheets: Generated Ads
• Timestamp: 2025-10-22T00:00:00Z
⚠️ Non-Compliant Alert
⚠️ Non-Compliant Ad Flagged
Product: Bamboo Socks
Issues:
- Contains “Free Shipping”
- Headline too long
Timestamp: 2025-10-22T00:00:00Z
| Frequency | Task |
|---|---|
| Daily | Check Slack alerts for rejects |
| Weekly | Review ad performance metrics |
| Monthly | Update Relevance AI prompts |
| Quarterly | Refresh API tokens and variables |
You now have a production-ready, scalable AI-powered ad generation system integrating
Channable, Google Ads, and Relevance AI — built entirely on n8n.
This delivers:
Start small → validate → scale to 10,000+ ads per day.
Within weeks, you’ll have a self-learning, always-on ad pipeline driving consistent performance.