google_ads_budget_efficiency
Score budget allocation efficiency across enabled Google Ads campaigns to spot overspending and underfunded winners, with per-campaign verdicts and reallocation recommendations.
Instructions
Score budget allocation efficiency across every ENABLED Google Ads campaign. Returns {period, total_cost, total_conversions, campaigns:[{campaign_id, name, cost, conversions, cost_share, cv_share, efficiency_ratio (cv_share / cost_share), verdict ('EFFICIENT' when ratio > 1.2, 'INEFFICIENT' when < 0.8, 'NORMAL' otherwise, 'NO_COST' when cost==0), cpa}], recommendations:[strings], insights:[strings], incomplete_data:[campaign_id]}. Per-campaign cost/conversions come from get_performance_report — a campaign whose read fails is excluded from the totals and shares and listed in incomplete_data. Read-only. For a concrete DECREASE/INCREASE reallocation plan use google_ads_budget_reallocation; to change a single budget use google_ads_budget_update.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Reporting window for the metrics. Default 'LAST_30_DAYS'. Use a shorter window (LAST_7_DAYS / LAST_14_DAYS) when diagnosing recent changes; use LAST_90_DAYS for trend baselines. Also accepts an explicit range — "YYYY-MM-DD..YYYY-MM-DD" (the spelling Meta Ads takes too) or, in GAQL spelling, "BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'" — both endpoints inclusive, in the account's time zone, for a window no trailing constant can reach (e.g. a single past calendar month). One asymmetry to know about: every constant except LAST_90_DAYS is resolved by Google Ads in the account's reporting time zone, whereas LAST_90_DAYS has no API constant and is expanded by mureo into the 90 days ending yesterday **on the server's date**, so its edges can differ by a day when the server and the account are in different zones. Pass an explicit range when the exact boundary matters. | |
| customer_id | No | Google Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted. |