ads_create_budget_rules_for_campaigns

Create budget rules — automatic, time- or performance-based daily-budget increases.

writeAmazon Adsads.sp

A rule does nothing until it is attached with ads_create_associated_budget_rules_for_campaigns. Amazon Ads API · CreateBudgetRulesForSPCampaigns · POST /sp/budgetRules Amazon Ads API · CreateBudgetRulesForSBCampaigns · POST /sb/budgetRules Amazon Ads API · CreateBudgetRulesForSDCampaigns · POST /sd/budgetRules Docs: https://advertising.amazon.com/API/docs/en-us/sponsored-products/3-0/openapi/prod#tag/BudgetRules/operation/CreateBudgetRulesForSPCampaigns Docs: https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#tag/Budget-rules/operation/CreateBudgetRulesForSBCampaigns Docs: https://advertising.amazon.com/API/docs/en-us/sponsored-display/3-0/openapi#tag/Budget-Rules/operation/CreateBudgetRulesForSDCampaigns Gate: approve — interactive: show the change (Amazon's preview first where one exists), wait for an explicit approve; autopilot: only when the seller's own words asked for this change; otherwise ask.

Call it

In an AI client (MCP)

tools/call
{
  "name": "ads_create_budget_rules_for_campaigns",
  "arguments": {
    "store": "myStore-US",
    "countryCode": "<countryCode>",
    "adProduct": "<adProduct>",
    "body": []
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/ads_create_budget_rules_for_campaigns \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","countryCode":"<countryCode>","adProduct":"<adProduct>","body":[]}'
Early access — the Tool API is open on request, contact us.

Arguments

NameTypeDescription
storerequiredstringthe store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim.
countryCoderequiredstringthe Ads profile's 2-letter country code (e.g. 'US').
adProductrequiredstringSPONSORED_PRODUCTS | SPONSORED_BRANDS | SPONSORED_DISPLAY.
bodyrequiredobject[]list of 1-25 FLAT rule details (max 25).

Result

Every tool answers {notification, data, human_action}; data carries:

  • 207, one result per item; an item whose code is not "Ok" (or that is listed under error / failures) failed — read its details.
  • data.result.responses — per rule {ruleId, code, details} — ruleId goes to ads_create_associated_budget_rules_for_campaigns; a code other than Ok means that rule failed.

Body (Amazon schema): {budgetRulesDetails: [BudgetRuleDetails]} (max 25), each item

budgetIncreaseBy: {type*: PERCENT, value*}
duration: {dateRangeTypeRuleDuration: {endDate, startDate*}, eventTypeRuleDuration: {endDate, eventId*, eventName, startDate}}
name: string (max 355 chars)
performanceMeasureCondition: {comparisonOperator*, metricName*, threshold*}
recurrence: {daysOfWeek, intraDaySchedule: [{endTime, startTime}] (max 1), type}
recurrence.daysOfWeek: [FRIDAY | MONDAY | SATURDAY | SUNDAY | THURSDAY | TUESDAY | WEDNESDAY]
ruleType: PERFORMANCE | SCHEDULE
By product:           SPONSORED_PRODUCTS  SPONSORED_BRANDS  SPONSORED_DISPLAY
  comparisonOperator  EQUAL_TO + shared   shared            shared
    shared: GREATER_THAN GREATER_THAN_OR_EQUAL_TO LESS_THAN LESS_THAN_OR_EQUAL_TO
  metricName          ACOS CTR CVR ROAS   IS NTB ROAS       ACOS CTR CVR ROAS
  recurrence.type     DAILY               DAILY WEEKLY      DAILY WEEKLY

Gotchas

  • Rules only ever RAISE a budget. For a lower overnight budget, set the base budget low and raise it inside daytime windows (recurrence.intraDaySchedule: max 1 window per rule - a morning/afternoon/evening ramp needs three rules). The time format ("HH:MM:SS") differs from ads_search_optimization_rules' recurrence.timesOfDay ("HH:MM") - two different APIs.
  • recurrence appears in CREATE bodies only, never in an update.
  • Rules active together stack additively (+5% and +10% -> +15%).
  • eventId (for an eventTypeRuleDuration) comes from ads_get_budget_rules_recommendation.
  • Verify the live effect with ads_campaigns_budget_usage during the rule window, not from the rule definition — an ACTIVE rule can still be ON_HOLD (see ads_list_associated_budget_rules_for_campaigns).
  • duration.dateRangeTypeRuleDuration dates are YYYYMMDD (no dashes); startDate must be today or later.

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude