Campaign Optimization Rules

Warning

Sponsored Product v3 is not available for Sandbox endpoint

Note

This API is version 3.0

Note

This API requires separated access from Amazon Advertising Support

{
'code': 403,
'message': 'Client does not have access to this API',
'responseBody': None,
'responseHeaders': None
}
class ad_api.api.sp.CampaignOptimization(account='default', marketplace: Marketplaces = Marketplaces.EU, credentials=None, proxies=None, verify=True, timeout=None, debug=False, access_token=None)

Specification: https://dtrnk0o2zy01c.cloudfront.net/openapi/en-us/dest/SponsoredProducts_prod_3p.json

Endpoints available

Method

Endpoint

Description

POST

/sp/rules/campaignOptimization/eligibility

Gets a campaign optimization rule recommendation for SP campaigns.

GET

/sp/rules/campaignOptimization/{campaignOptimizationId}

Gets a campaign optimization rule specified by identifier.

DELETE

/sp/rules/campaignOptimization/{campaignOptimizationId}

Deletes a campaign optimization rule specified by identifier.

POST

/sp/rules/campaignOptimization

Creates a campaign optimization rule.

PUT

/sp/rules/campaignOptimization

Updates a campaign optimization rule.

POST

/sp/rules/campaignOptimization/state

Gets campaign optimization rule state. Recommended refresh frequency is once a day.

list_campaigns_optimization_eligibility(self, **kwargs) ApiResponse:

Gets a campaign optimization rule recommendation for SP campaigns.

Request Body
SPCampaignOptimizationRecommendationsAPIRequest {
campaignIds* (array) maxItems: 100. A list of campaign ids [
RuleCampaignId (string): campaignId
]
}
{
  "campaignIds": [
    "string"
  ]
}
get_budget_campaign_optimization(self, campaignOptimizationId, **kwargs) ApiResponse:

Gets a campaign optimization rule specified by identifier.

Param:
path campaignOptimizationId* (string). The sp campaign optimization rule identifier.

Returns:

ApiResponse

delete_budget_campaign_optimization(self, campaignOptimizationId, **kwargs) ApiResponse:

Deletes a campaign optimization rule specified by identifier.

Param:
path campaignOptimizationId* (string). The sp campaign optimization rule identifier.

Returns:

ApiResponse

create_budget_campaign_optimization(self, **kwargs) ApiResponse:

Creates a campaign optimization rule.

Request Body
CreateSPCampaignOptimizationRulesRequest {
recurrence* RecurrenceType (string): The frequency of the rule application. Enum: [‘DAILY’]
ruleAction* RuleAction (string): The action taken when the campaign optimization rule is enabled. Defaults to adopt Enum: [‘ADOPT’]
ruleCondition* RuleConditionList [
maxItems: 3
RuleCondition {
metricName* RuleConditionMetric (string): The advertising performance metric. ROAS is the only supported metric. Enum: [‘ROAS’, ‘AVERAGE_BID’]
comparisonOperator* ComparisonOperator (string): The comparison operator. Enum: [‘GREATER_THAN’, ‘LESS_THAN’, ‘EQUAL_TO’, ‘LESS_THAN_OR_EQUAL_TO’, ‘GREATER_THAN_OR_EQUAL_TO’]
threshold* number (double): The performance threshold value.
}
]
ruleType* RuleType (string): The type of the campaign optimization rule. Only Support BID as of now Enum: [‘BID’, ‘KEYWORD’, ‘PRODUCT’]
ruleName RuleName (string): The campaign optimization rule name. maxLength: 355
campaignIds* (array) maxItems: 20. A list of campaign ids [
RuleCampaignId (string): campaignId
]

Returns:

ApiResponse

{
  "recurrence": "DAILY",
  "ruleAction": "ADOPT",
  "ruleCondition": [
    {
      "metricName": "ROAS",
      "comparisonOperator": "GREATER_THAN",
      "threshold": "4"
    }
  ],
  "ruleType": "BID",
  "ruleName": "RuleROAS4",
  "campaignIds": [
    "123784",
    "1223785"
  ]
}
edit_budget_campaign_optimization(self, **kwargs) ApiResponse:

Updates a campaign optimization rule.

Request Body
UpdateSPCampaignOptimizationRulesRequest {
recurrence* RecurrenceType (string): The frequency of the rule application. Enum: [‘DAILY’]
ruleAction* RuleAction (string): The action taken when the campaign optimization rule is enabled. Defaults to adopt Enum: [‘ADOPT’]
campaignOptimizationId* campaignOptimizationId (string): The persistent rule identifier. maxLength: 355
ruleCondition* RuleConditionList [
maxItems: 3
RuleCondition {
metricName* RuleConditionMetric (string): The advertising performance metric. ROAS is the only supported metric. Enum: [‘ROAS’, ‘AVERAGE_BID’]
comparisonOperator* ComparisonOperator (string): The comparison operator. Enum: [‘GREATER_THAN’, ‘LESS_THAN’, ‘EQUAL_TO’, ‘LESS_THAN_OR_EQUAL_TO’, ‘GREATER_THAN_OR_EQUAL_TO’]
threshold* number (double): The performance threshold value.
}
]
ruleType* RuleType (string): The type of the campaign optimization rule. Only Support BID as of now Enum: [‘BID’, ‘KEYWORD’, ‘PRODUCT’]
ruleName RuleName (string): The campaign optimization rule name. maxLength: 355
campaignIds* (array) maxItems: 20. A list of campaign ids [
RuleCampaignId (string): campaignId
]

Returns:

ApiResponse

{
  "recurrence": "DAILY",
  "ruleAction": "ADOPT",
  "campaignOptimizationId": "10001",
  "ruleCondition": [
    {
      "metricName": "ROAS",
      "comparisonOperator": "GREATER_THAN",
      "threshold": "7"
    }
  ],
  "ruleType": "BID",
  "ruleName": "RuleROAS4",
  "campaignIds": [
    "123784",
    "1223785"
  ]
}
get_state_budget_campaign_optimization(self, **kwargs) ApiResponse:

Gets campaign optimization rule state. Recommended refresh frequency is once a day.

Request Body
SPCampaignOptimizationNotificationAPIRequest {
campaignIds* (array) maxItems: 100. A list of campaign ids [
RuleCampaignId (string): campaignId
]
}

Returns:

ApiResponse