ads_get_optimization_rule_eligibility

Sponsored Products: check which campaigns are eligible for rule-based bidding (a ROAS guardrail Amazon manages itself) before creating a rule with ads_create_optimization_rule — Am

readAmazon Adsads.sp

azon rejects ineligible campaigns. Amazon Ads API · GetOptimizationRuleEligibility · POST /sp/rules/campaignOptimization/eligibility Docs: https://advertising.amazon.com/API/docs/en-us/sponsored-products/3-0/openapi/prod#tag/Campaign-Optimization-Rules/operation/GetOptimizationRuleEligibility

Call it

In an AI client (MCP)

tools/call
{
  "name": "ads_get_optimization_rule_eligibility",
  "arguments": {
    "store": "myStore-US",
    "countryCode": "<countryCode>",
    "body": {}
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/ads_get_optimization_rule_eligibility \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","countryCode":"<countryCode>","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').
bodyrequiredobject{campaignIds: [...] (max 100), requirePerformanceMetrics (default true — false also lists eligible campaigns with no roas yet; read performanceMetricsExists)}.

Result

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

  • Amazon's payload in data.result.

Gotchas

  • Eligibility needs the campaign running >=10 DAYS, >=10 CONVERSIONS in the last 30 days, and the marketplace's minimum daily budget. Use the returned roas as the create threshold rather than inventing one — it is derived from this campaign's own history.
  • Response keys are lowerCamelCase, not the PascalCase Amazon's guide shows: campaignOptimizationRecommendations[{campaignId, performanceMetrics: {roas}}]. Per-campaign failures (e.g. LOW_BUDGET, NO_CONVERSIONS — one campaign can produce several at once) land in data.failed; an empty recommendations list with errors present means NOT eligible, whatever the HTTP status says.

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude