I Automated Google Shopping to Manage 50,000 SKUs Profitably
When you're managing 50,000 SKUs across multiple Google Shopping accounts, manual optimization is impossible. I spent two years building an automation system that now manages $3M monthly ad spend at 420% average ROAS. Here's exactly how it works.
The Foundation: Data Structure
Everything starts with clean product data: Unique SKU identifiers across all systems. Margin data updated hourly via API. Inventory levels synced real-time. Competitor pricing scraped daily. Historical performance per SKU/season. Without this foundation, automation fails.
Campaign Structure at Scale
Forget single campaigns. My structure: Brand campaigns (separated by margin tier). Category campaigns (top 20 categories). SKU campaigns (top 500 performers). Zombie campaigns (everything else). Each has different ROAS targets and bid strategies.
The Bid Algorithm That Works
Base bid = (Product margin × 0.3) × (Conversion rate × 100). Adjust for: Inventory levels (increase bids on overstock). Seasonality patterns from last year. Competitor pricing gaps. Current ROAS vs. target. Bids update every 6 hours automatically.
Query Sculpting Automation
Scripts analyze search terms hourly: Add negatives for irrelevant terms automatically. Create exact match campaigns for converters. Adjust bids based on query commercial intent. Pause products for consistently bad queries. This alone improved ROAS by 35%.
Inventory-Based Optimization
The secret weapon most miss: Boost bids when inventory >60 days supply. Cut bids when inventory <14 days. Pause out-of-stock immediately. Push clearance items aggressively. Protect margin on low-stock items.
Feed Optimization Rules
Automated feed improvements running daily: Title optimization based on high-CTR terms. Description updates from review mining. Image selection by CTR testing. GTIN/MPN addition for better matching. Custom labels for margin/inventory groups.
The Monitoring Dashboard
Track what matters at scale: SKUs below ROAS threshold. Categories trending up/down. Impression share changes. New competitor price alerts. Automation failure notifications. All feeds into Slack for instant alerts.
Profit-First Automation Rules
Rule 1: Pause any SKU <1.5x ROAS for 7 days. Rule 2: Increase bids on >5x ROAS until impression share hits 80%. Rule 3: Never bid above 50% of margin. Rule 4: Cut campaigns not profitable in 30 days. Rule 5: Protect hero SKUs at all costs.
Dealing with Seasonality
Built historical models for every SKU: Year-over-year performance curves. Holiday spike predictions. Weather-based adjustments. Event-based bid modifications. Automation adjusts 30 days before seasons.
The Tech Stack That Powers It
Google Ads Scripts for simple automation. Python + Cloud Functions for complex logic. BigQuery for data warehousing. Looker for visualization. Zapier for system connections. Total cost: ~$500/month in infrastructure.
Manual Shopping campaign management is dead. The winners in 2026 are those who build systems that optimize faster than humans ever could. Stop tweaking bids and start building the automation that makes you unstoppable.