Campaigns
POST /api/v1/accounts/{projectId}/campaigns/{campaignId}/target
Propose a new Target CPA or Target ROAS on the current strategy.
POST /api/v1/accounts/{projectId}/campaigns/{campaignId}/targetPropose a new Target CPA or Target ROAS on the current strategy.
Adjusts Target CPA or Target ROAS on the strategy the campaign already uses. Pass whichever matches; the endpoint reads the current strategy and refuses a mismatch rather than guessing. Switching strategy type is not in v1 — it resets Smart Bidding's learning period.
Requires a key with write scope or higher.
Returns 200 on success.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
projectId | path | string | yes | The Google Ads account, as returned by GET /api/v1/accounts. |
campaignId | path | string | yes | Google Ads campaign id, from GET /accounts/{projectId}/campaigns. |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
target_cpa | number | no | New Target CPA in account currency units. For CPA strategies. |
target_roas_pct | number | no | New Target ROAS as a percent (150 = 1.5x). For ROAS strategies. |
reason | string | yes | Why this change is being made. Shown in /approvals and /history. |
auto_apply | boolean | no | Allow the safe-apply policy to apply this change without approval if it classifies as safe. Defaults to false — the change queues in /approvals. Default: false. |
Example
curl -X POST "https://bidandscale.com/api/v1/accounts/{projectId}/campaigns/{campaignId}/target" \
-H "Authorization: Bearer $BIDANDSCALE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ … }'