Update Bid Strategy
Change campaign bidding strategy.
Available Strategies:
- MAXIMIZE_CLICKS: Get as many clicks as possible within budget
- MAXIMIZE_CONVERSIONS: Get as many conversions as possible
- TARGET_CPA: Set a target cost per acquisition (requires target_cpa)
- TARGET_ROAS: Set a target return on ad spend (requires target_roas)
Parameters:
- campaign_id: The campaign ID (REQUIRED)
- strategy: MAXIMIZE_CLICKS, MAXIMIZE_CONVERSIONS, TARGET_CPA, or TARGET_ROAS (REQUIRED)
- target_cpa: Required if strategy is TARGET_CPA. In dollars, e.g., 25.00 for $25 CPA
- target_roas: Required if strategy is TARGET_ROAS. Multiplier, e.g., 4.0 for 400% ROAS
- customer_id: Optional (uses connected account if omitted)
IMPORTANT:
- TARGET_CPA requires conversion tracking to be set up
- TARGET_ROAS requires conversion value tracking
- Changing strategy may take 1-2 weeks to stabilize performance
- Confirm with user before changing
Execution time: 2-4 seconds
Example: User: “I want to target $30 CPA” Agent:
- Confirms: “I’ll change the bidding strategy to TARGET_CPA with a $30 target. This may take 1-2 weeks to optimize. Proceed?”
- Uses update_bid_strategy with strategy=TARGET_CPA, target_cpa=30.00
Authorizations
API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Headers
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
Body
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 updating campaign bidding strategy
Response
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.

