Date: 2026-04-15

Decision

Moved the google-ads-daily-negatives scheduled task off the Adspirer MCP (500 ops/day, 300 ops/hour cap) and onto direct Google Ads API calls via google-ads-python. Same credentials that power the local google-ads-mcp repo.

Why

Cleanup volume for SAIL - Car Accidents 2026 alone is 3,000+ ops (2,239 remaining removes + 251 adds). At Adspirer's rate cap that is 5-7 days of drain-the-queue. At the native API rate cap it is a single session.

Backend priority order (now in task prompt)

  1. Direct Google Ads API via google-ads-python — credentials at /mnt/Projects/_repo-staging/claude-ads/.env and /mnt/Projects/_repo-staging/shared-infrastructure/.env.credentials
  2. Local google-ads-mcp server at /mnt/Projects/_repo-staging/google-ads-mcp/
  3. Pipedream Google Ads connector (if added to Cowork MCP list)
  4. Adspirer MCP (last resort only)

Credentials reference

What changed