Campaign recommendations

Overview

The Search Engine Marketing (SEM) campaign recommendations API enables sellers to optimize campaign performance by providing budget and bidding strategy recommendations derived from campaign performance signals. Recommendations are generated for eligible active campaigns.

Use cases

This API allows you to:

  • Optimize campaign budgets and bidding strategies
  • Improve ROAS through data-driven recommendations
  • Prioritize high-impact campaigns by projected impact metrics

Key data considerations

  • Recommendations are generated only for eligible active campaigns. Inactive or ineligible campaigns will not return results.
  • Projected metrics are estimates. Actual performance may vary based on campaign activity, inventory availability, and market conditions.
  • Recommendations may suggest budget adjustments, bidding strategy changes, or both, depending on campaign eligibility.
  • Poll this endpoint periodically to surface the most current optimization opportunities.

Endpoint

POST /v3/advertising/sem/campaigns/recommendations/search

Supported filters

Filter fieldDescription
campaignIdsFilter by campaign IDs
recommendationTypeFilter by BUDGET or BIDDING_STRATEGY

Supported sorting

FieldOrders
adspendASC, DESC

Recommendation types

Recommendation typeDescription
BUDGETBudget increase or adjustment recommendations
BIDDING_STRATEGYBidding strategy optimization recommendations

Request sample

curl --request POST \ --url 'https://marketplace.walmartapis.com/v3/advertising/sem/campaigns/recommendations/search' \ --header 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6' \ --header 'WM_MARKET: US' \ --header 'WM_SVC.NAME: Walmart Marketplace' \ --header 'WM_SEC.ACCESS_TOKEN: <Your_access_token>' \ --header 'WM_GLOBAL_VERSION: 3.1' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "page": { "offset": 0, "limit": 10 }, "filters": [ { "field": "recommendationType", "values": ["BUDGET"] } ] }'
import requests url = "https://marketplace.walmartapis.com/v3/advertising/sem/campaigns/recommendations/search" headers = { "WM_QOS.CORRELATION_ID": "b3261d2d-028a-4ef7-8602-633c23200af6", "WM_MARKET": "US", "WM_SVC.NAME": "Walmart Marketplace", "WM_SEC.ACCESS_TOKEN": "<Your_access_token>", "WM_GLOBAL_VERSION": "3.1", "Accept": "application/json", "Content-Type": "application/json"
} payload = { "page": { "offset": 0, "limit": 10 }, "filters": [ { "field": "coopRecommendationType", "values": ["BUDGET"] } ]
} response = requests.post(url, headers=headers, json=payload)
print(response.json())

Modify your code

You can customize recommendation queries by:

  • Filtering by campaign IDs
  • Retrieving only BUDGET or BIDDING_STRATEGY recommendations
  • Sorting campaigns by adspend
  • Adjusting pagination values

Example customization

{ "sort": { "field": "adspend", "order": "DESC" }
}

Response sample

{ "pagination": { "pageNo": 0, "pageSize": 10, "totalCount": 1, "totalPages": 1, "hasNextPage": false, "hasPreviousPage": false }, "data": [ { "campaignId": "2085840575", "name": "Electronics Growth Campaign", "dailyBudget": 1000, "campaignRecommendations": [ { "type": "BUDGET", "subType": "INCREASE_DAILY_BUDGET", "recommendedValue": "2400.0" } ] } ]
}

Results

A successful response returns paginated campaign-level recommendations for active SEM campaigns. Each campaign includes current settings and one or more recommendations with projected performance impact metrics.

Error handling

Status codeDescriptionRemediation
400Invalid request parametersValidate filters, sort fields, and paging values
401UnauthorizedVerify access token
403ForbiddenConfirm SEM access permissions
422Unprocessable entityValidate request body structure
429Rate limit exceededRetry later
500Internal server errorRetry request
503Service unavailableRetry with exponential backoff

Best practices

  • Review projected metrics before applying any recommendation
  • Prioritize recommendations with the highest projected click or impression lift
  • Retrieve recommendations on a regular cadence to catch new optimization opportunities
  • Implement an approval workflow before enabling any auto-apply logic
  • Surface recommendation data in campaign dashboards for visibility across your team