- Add get_monthly_metrics_all() in GoogleAdsClient: fetches
conversions and cost for all campaigns in one query
- sync_campaigns_from_google_ads() now accepts monthly_metrics
and updates ConvMes and CosteMes fields in Airtable
- run.py fetches monthly metrics before sync and passes them
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Before each run, fetch all non-removed campaigns from Google Ads
and upsert them into the Airtable campaigns table: new campaigns
are created (Activa=False, pending manual PPL/Cap/CPA setup) and
existing ones get their name updated if it changed.
https://claude.ai/code/session_01WEcdWPxGWZKk8FGwBRLGR2