New: Adspirer is now an official Claude plugin. Search "adspirer" in Claude Code or Cowork to install. See what's new →
New: Adspirer is now an official Claude plugin. Search "adspirer" in Claude Code or Cowork to install. See what's new →
Optimize budget allocation across campaigns using linear programming to maximize conversions.
⚠️ IMPORTANT: This tool retrieves READ-ONLY optimization recommendations. Safe to call multiple times. Does NOT automatically change budgets.
🎯 What This Tool Does (Performance Agent - Phase 1):
Returns detailed optimization plan:
Optimization Algorithm: Uses scipy linear programming with constraints:
<= ±max_change_percentage (avoid drastic shifts)Target ROAS Resolution (3-tier priority):
Configuration Parameters:
Execution time: 1-5 seconds (depends on campaign count) Data source: campaign_daily_metrics table (updated nightly)
Use this tool when:
📊 AFTER calling this tool, help the user understand:
Campaign Actions:
< target)Expected Impact:
Example Interpretation: “Implementing this optimization will increase your conversions by 45 (+18.8%) without spending more money. You should scale ‘Brand - Exact’ campaign by 2,250/monthandpause′Display−Broad′tofreeup3,000/month.”
Implementation Steps:
Important Notes:
<7 days)Visualization Tip: For 5+ campaigns, suggest creating a grouped bar chart showing current vs optimized budgets side-by-side.
Best Practices:
💬 Community: For optimization discussions, visit our Discord: https://discord.gg/dH3Qt4YS
curl --request POST \
--url https://api.adspirer.ai/api/v1/tools/optimize_budget_allocation/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"arguments": {
"date_range": "string",
"end_date": "string",
"lookback_days": 30,
"raw_data": false,
"start_date": "string",
"target_roas": 1,
"total_budget": 1
}
}
'{
"data": {
"quota": {
"limit": 150,
"period_end": "2026-05-01",
"tier": "plus",
"used": 42
},
"text": "(tool-specific textual output for optimize_budget_allocation)"
},
"success": true,
"tool": "optimize_budget_allocation"
}Documentation Index
Fetch the complete documentation index at: https://www.adspirer.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Client-generated UUID to make writes idempotent. Strongly recommended for write tools. A repeat call with the same key returns the cached result instead of re-executing. Example: 550e8400-e29b-41d4-a716-446655440000
All tool arguments are wrapped in an arguments object. The fields accepted inside arguments are listed below — required fields are marked with a red asterisk.
Input schema for budget allocation optimization
Show child attributes
Tool executed successfully. data.text carries the human-readable result (markdown-friendly). data.quota shows your current usage against the plan limit. data.structured appears when the tool emits machine-parseable structured content. data.content appears for tools that return non-text blocks (images, resources).
Returned on HTTP 200. data.text is the primary human-readable output. data.quota is always present for billable calls. data.structured is set only when the tool emits machine-parseable structured content. data.content is set only when the tool emits non-text content blocks.
Was this page helpful?
curl --request POST \
--url https://api.adspirer.ai/api/v1/tools/optimize_budget_allocation/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"arguments": {
"date_range": "string",
"end_date": "string",
"lookback_days": 30,
"raw_data": false,
"start_date": "string",
"target_roas": 1,
"total_budget": 1
}
}
'{
"data": {
"quota": {
"limit": 150,
"period_end": "2026-05-01",
"tier": "plus",
"used": 42
},
"text": "(tool-specific textual output for optimize_budget_allocation)"
},
"success": true,
"tool": "optimize_budget_allocation"
}