This workflow automates Google Shopping Feed Optimization using Channable , Relevance AI , and the Google Merchant API.
It runs daily, enhancing product titles and descriptions, validating feed quality, assigning custom campaign labels, and syncing the optimized feed with Google Merchant Center.
The system ensures every product listing meets Googleβs content standards, is SEO-friendly, and ready for high-performance Shopping campaigns.
β
Automated daily product feed optimization
β
AI-enhanced titles and descriptions (via Relevance AI)
β
Google Merchant API integration (latest version)
β
Quality scoring and error detection before sync
β
Custom campaign labels for segmented bidding
β
Slack alerts for issues and daily summaries
β
100% no-code deployment with scalable batch processing
| Component | Purpose |
|---|---|
| n8n | Workflow automation and orchestration |
| Channable | Product feed source (can replace with any eCommerce API) |
| Relevance AI | AI title and description optimization |
| Google Merchant API (NEW) | Product publishing and validation |
| Slack | Alerts and reporting |
| Cron Trigger | Daily schedule (6 AM sync) |
Daily Trigger (06:00 AM)
β¬οΈ
1οΈβ£ Get Product Feed (Channable)
Fetches product data for optimization.
β¬οΈ
2οΈβ£ Data Quality Checks
Validates titles, GTINs, pricing, categories, and descriptions. Assigns quality scores.
β¬οΈ
3οΈβ£ Split Products
Breaks the all_products array into single items for AI processing.
β¬οΈ
4οΈβ£ Optimize Title (Relevance AI Tool)
Enhances product titles for SEO, clarity, and Google compliance.
β¬οΈ
5οΈβ£ Generate Description (Relevance AI Tool)
Creates 300β400 character, benefit-focused product descriptions.
β¬οΈ
6οΈβ£ Assign Custom Labels
Adds five segmentation labels: margin, performance, seasonality, stock level, and category.
β¬οΈ
7οΈβ£ Aggregate Products
Combines optimized items into one unified dataset.
β¬οΈ
8οΈβ£ Upload to Merchant Center (NEW Merchant API)
Publishes products via Googleβs latest /products endpoint.
β¬οΈ
9οΈβ£ Check Product Status
Verifies successful uploads and identifies disapprovals.
β¬οΈ
π Analyze Product Issues
Summarizes errors and warnings from Merchant API results.
β¬οΈ
βοΈ IF Disapprovals Found
β π¨ Send Slack alert for issues
β β
Otherwise, post success summary
Set these under
n8n β Settings β Variables β Add Variable
| Variable | Example | Purpose |
|---|---|---|
CHANNABLE_API_URL | https://api.channable.com/v1 | Channable API base |
CHANNABLE_COMPANY_ID | 12345 | Company ID in Channable |
CHANNABLE_PROJECT_ID | abcd | Project ID |
FEED_ID | shopping-feed | Feed endpoint |
RELEVANCE_AI_API_URL | https://api-f1db6c.stack.tryrelevance.com/latest | Relevance AI API base |
RELEVANCE_TOOL_TITLE_OPTIMIZER_ID | tQy48Ld8n0zp | Relevance AI Title Tool ID |
RELEVANCE_TOOL_DESCRIPTION_ID | hJ9bT01r8Lqf | Relevance AI Description Tool ID |
MERCHANT_API_URL | https://merchantapi.googleapis.com/content/v2.1 | Google Merchant API base |
MERCHANT_ACCOUNT_ID | 123456789 | Merchant Center account ID |
SLACK_CHANNEL | #shopping-feed-automation | Slack channel for reports |
| Service | Type | Setup |
|---|---|---|
| Relevance AI | HTTP Header Auth | Header β Authorization: Bearer {{$env.RELEVANCE_AI_API_KEY}} |
| Channable | HTTP Header Auth | Header β Authorization: Bearer {{$env.CHANNABLE_API_TOKEN}} |
| Google Merchant | Google OAuth2 | Scopes: <br>β’ https://www.googleapis.com/auth/content |
| Slack | Slack API | Add chat:write Bot Token Scope |
| Node | Description | Key Action |
|---|---|---|
| Daily Trigger (6 AM) | Starts workflow every morning | cron: 0 6 * * * |
| Get Product Feed | Fetches products from Channable | GET {{$env.CHANNABLE_API_URL}}/.../feeds/{{$env.FEED_ID}} |
| Data Quality Checks | Validates GTINs, titles, pricing, images | Returns quality_score + all_products |
| Split Products | Splits array into individual products | Operation: splitOut, Field: all_products |
| Optimize Title | Calls Relevance AI title tool | /tools/{{$env.RELEVANCE_TOOL_TITLE_OPTIMIZER_ID}}/trigger |
| Generate Description | Calls Relevance AI description tool | /tools/{{$env.RELEVANCE_TOOL_DESCRIPTION_ID}}/trigger |
| Assign Custom Labels | Adds 5 Smart Bidding Labels | Margin, performance, seasonality, stock, category |
| Aggregate Products | Combines optimized product data | For batch upload |
| Upload to Merchant Center | Posts via NEW Merchant API | /accounts/{id}/products |
| Check Product Status | Retrieves upload results | Lists disapproved or pending items |
| Analyze Product Issues | Summarizes product disapprovals | Returns disapproval_count and warnings |
| IF Disapprovals Found | Conditional routing | Sends alert or success message |
| Slack - Alert | Sends error summary to Slack | Includes product name and issue detail |
| Slack - Success Summary | Posts daily completion message | Includes counts and optimizations applied |
1οΈβ£ Temporarily disable the cron schedule
2οΈβ£ Run manually using βExecute Workflowβ
3οΈβ£ Start with 3β5 products
4οΈβ£ Check:
Once validated β Re-enable the 6 AM trigger
Slack Success Message
β
Shopping Feed Optimization Complete
π Summary:
β’ Total Products Processed: 135
β’ Products with Quality Issues: 12
β’ Disapprovals: 0
β’ Warnings: 3
π― Optimizations Applied:
β’ Titles optimized for SEO
β’ Descriptions enhanced
β’ Custom labels added
API: NEW Merchant API (merchantapi.googleapis.com)
Next Run: Tomorrow 6 AM
Timestamp: 2025-10-22T06:00:00Z
Slack Alert Message
π¨ Merchant Center Disapprovals Alert
Total Disapprovals: 5
Total Warnings: 2
Critical Issues:
β’ Product: Wireless Headphones (ID: 4829)
Issue: Missing GTIN
β’ Product: Yoga Mat Eco (ID: 7350)
Issue: Invalid price
Action Required: Review disapproved products in Merchant Center.
Timestamp: 2025-10-22T06:00:00Z
| Metric | Goal |
|---|---|
| Feed approval rate | β₯ 90% |
| AI optimization success rate | β₯ 95% |
| Manual review reduction | 80% |
| Daily automation uptime | 99.9% |
| Scalable throughput | 5,000+ products/day |
| Frequency | Task |
|---|---|
| Daily | Monitor Slack alerts |
| Weekly | Check disapproval logs |
| Monthly | Refresh API tokens |
| Quarterly | Tune AI prompts and thresholds |
β
Deploy workflow in production
π Connect to your performance dashboard
π Extend to multi-language feeds (Relevance AI translations)
π‘ Add conversion optimization loop in Google Ads
You now have a production-grade, AI-driven Shopping Feed Optimization workflow built on:
π‘ Result: A fully autonomous product feed system that self-improves daily, keeping your listings compliant, optimized, and performing at scale.


