Request delivery estimate

Use this endpoint to model performance metrics prior to activation.

Overview

Use the Delivery Estimate API to forecast projected delivery performance for a specific ad group configuration before launch.

Delivery estimates help you understand the potential range of impressions, clicks, ad spend, and orders based on current or simulated ad group settings.

This endpoint is commonly used to validate whether an ad group configuration is likely to deliver enough scale and performance before activation.

Availability

Supported for Onsite Display only.


How Delivery Estimate fits into campaign planning

Configure

Define targeting, bids, budgets, schedule, and item set readiness.

Estimate

Run Delivery Estimate using stored configuration or temporary overrides.

Review

Check impressions, clicks, spend, and order forecasts.

Refine

Adjust targeting or bids to improve projected delivery.

Launch

Proceed to activation once forecasted performance looks acceptable.


How it works

Delivery estimates simulate projected auction and inventory behavior using:

  • targeting configuration
  • bids
  • budgets
  • schedule
  • featured item sets (only required for orders forecast)

The API can forecast using:

  • stored ad group configuration
  • Simulated values supplied in the request

Important behavior

Delivery estimate requests do not modify stored campaign or ad group configuration. Simulated values exist only for the duration of the forecast request.


When to use Delivery Estimate

Use Delivery Estimate when you need to:

  • test targeting changes before launch
  • validate budget and bid strategy
  • compare delivery scenarios
  • estimate order potential before launch
  • understand expected spend and click outcomes

Use Reach Estimate when you need to:

  • validate inventory scale
  • compare targeting breadth
  • estimate impression availability

Before you begin

  • Valid advertiserId
  • Valid campaignId
  • Targeting, flights, bid, and budget configuration defined
  • Featured item set assigned when forecasting orders
📌

Readiness check

If you are forecasting orders, the featured item set must exist and be in BUILT status.

Create Item Set

Item set request submitted.

BUILT

Processing complete and ready for measurement.

Associate

Item set can be attached to campaigns for order forecasting.


Endpoint

POST /api/v2/deliveryEstimate

View technical specifications


Request details

How this request is used

Use this endpoint to evaluate projected performance before launch or before updating ad group configuration.

This is especially useful when:

  • testing targeting changes
  • validating budget and bid strategy
  • comparing delivery scenarios
  • estimating order potential before launch

Understanding forecast behavior

Delivery estimate requests can use:

Configuration sourceBehavior
Stored ad group settingsUses existing configuration
Simulation values in requestTemporarily simulates different settings

Important behavior

If budget, schedule, and/or delivery speed settings are configured at the campaign level, simulated values in the request are ignored.

Key fields and behaviors

  • metric
    impressions , clicks, adSpend, orders, cpc, cps, sales

  • timeframes
    Specifies the forecast timeframes returned (daily, 30days, lifetime)

To generate a valid estimate, the following must exist either:

  • in the stored ad group configuration
  • or inside the request payload

Required configuration areas

Configuration structure is the same as standard ad group configuration.

To generate a valid estimate, the following must exist either in the stored ad group configuration or inside the request payload.

  • Schedule
  • Delivery speed
  • Budget
  • Bid configuration
  • Targeting (targeting object, geotargeting, and audiences)

Existing ad group rules still apply

Delivery estimate requests follow the same targeting and delivery rules as standard ad group configuration.

This means:

  • audience eligibility still applies
  • targeting validation still applies
  • unsupported targeting combinations still fail validation

Forecasted metrics

What this API supports forecasting

Impressions

Projected winning impressions across supported timeframes.

Clicks

Estimated click volume based on projected delivery behavior.

Ad spend

Estimated spend range across the requested timeframe.

Orders

Projected order range based on featured item set measurement.


Understanding order forecasts

Featured item set requirement

Orders can only be forecasted when the campaign has a BUILT featured item set attached for measurement.

Important behavior

If no featured item set exists, the API returns a partial forecast response.

Other metrics such as impressions, clicks, and ad spend still return successfully.

Most commonly:

  • orders forecasting failed because no featured item set was attached

Understanding override behavior

Supported override areas

The request can temporarily simulate changes to:

  • targeting
  • bids
  • budgets
  • frequency caps
  • delivery speed
  • schedule

Sample requests

Existing ad group with item set associated
curl --location --request POST 'https://developer.api.us.walmart.com/api-proxy/service/display/api/v1/api/v2/deliveryEstimate' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <auth_token>' \
--header 'WM_SEC.AUTH_SIGNATURE: ***********' \
--header 'WM_CONSUMER.ID: <consumer_id>' \
--header 'WM_SEC.KEY_VERSION: 1' \
--header 'WM_CONSUMER.intimestamp: 1565309779' \
--data '{ "advertiserId": 1, "campaignId": 9, "adGroupId": 2, "metric": [ "impressions", "clicks", "adSpend", "orders" ], "timeframes": ["daily", "30days", "lifetime"], "startDate": "2024-06-27T00:00:00Z", "endDate": "2024-12-30T23:59:59Z", "targeting": { "and": [ { "runOfSite": true }, { "geoTargets": [ { "id": 1 } ] } ] }, "maxBid": 10, "baseBid": 2, "frequencyCapDay": 50, "frequencyCapWeek": 50, "frequencyCapMonth": 50, "dailyBudget": 100, "deliverySpeed": "evenly"
}'
Existing ad group without item set
curl --location --request POST 'https://developer.api.us.walmart.com/api-proxy/service/display/api/v1/api/v2/deliveryEstimate' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <auth_token>' \
--header 'WM_SEC.AUTH_SIGNATURE: ***********' \
--header 'WM_CONSUMER.ID: <consumer_id>' \
--header 'WM_SEC.KEY_VERSION: 1' \
--header 'WM_CONSUMER.intimestamp: 1565309779' \
--data '{ "advertiserId": 1, "campaignId": 9, "adGroupId": 2, "metric": [ "impressions", "clicks", "adSpend", "orders" ], "timeframes": ["daily", "30days", "lifetime"]
}'
Without ad group
curl --location --request POST 'https://developer.api.us.walmart.com/api-proxy/service/display/api/v1/api/v2/deliveryEstimate' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <auth_token>' \
--header 'WM_SEC.AUTH_SIGNATURE: ***********' \
--header 'WM_CONSUMER.ID: abcde-v123-fa2r-a1fs-asd45f6qef' \
--header 'WM_SEC.KEY_VERSION: 1' \
--header 'WM_CONSUMER.intimestamp: 1565309779' \
--data '{ "advertiserId": 1, "campaignId": 9, "metric": [ "impressions","clicks","adSpend","orders" ], "timeframes":["daily","30days","lifetime"], "startDate": "2024-06-27T00:00:00Z", "endDate": "2024-12-30T23:59:59Z", "targeting": { "and": [ { "runOfSite": true }, { "geoTargets": [ { "id": 1 } ] } ] }, "maxBid": 10, "frequencyCapDay": 50, "frequencyCapWeek": 50, "frequencyCapMonth": 50, "dailyBudget": 100, "deliverySpeed": "evenly" }' 

Response details

What this response returns

Returns projected delivery ranges across one or more timeframes.

Key fields to use

  • forecastId
    Forecast request ID
  • estimates
    Forecasted metric ranges
  • daily
    Estimated daily impressions
  • 30days
    Estimated 30-day impressions
  • lifetime
    Estimated impressions across full flight
  • minValue
    Lower estimate bound
  • maxValue
    Upper estimate bound

How to interpret the results

The API returns a range instead of an exact forecast because inventory availability changes dynamically.

Use the forecasted ranges to compare scenarios and determine whether the proposed configuration is likely to meet your performance goals.

Metric interpretation

MetricWhat it helps you decide
ImpressionsWhether the campaign is likely to deliver enough scale
ClicksWhether the campaign is likely to generate engagement
Ad spendWhether the budget is likely to pace as expected
OrdersWhether the campaign is likely to generate attributable sales

Sample responses

With item set
{ "code": "success", "forecastId": "567", "estimates": { "impressions": { "daily": { "minValue": 1, "maxValue": 2 }, "30days": { "minValue": 1, "maxValue": 2 }, "lifetime": { "minValue": 1, "maxValue": 2 } }, "clicks": { "daily": { "minValue": 3, "maxValue": 4 }, "30days": { "minValue": 1, "maxValue": 2 }, "lifetime": { "minValue": 3, "maxValue": 4 } }, "adSpend": { "daily": { "minValue": 5, "maxValue": 7 }, "30days": { "minValue": 2, "maxValue": 3 }, "lifetime": { "minValue": 5, "maxValue": 7 } }, "orders": { "daily": { "minValue": 100, "maxValue": 400 }, "30days": { "minValue": 6200, "maxValue": 7900 }, "lifetime": { "minValue": 42000, "maxValue": 50000 } } }, "details": [ "DELIVERY_ESTIMATE_SUCCESS" ]
}
Without item set / partial forecast
{ "code": "partial_response", "forecastId": "567", "estimates": { "impressions": { "daily": { "minValue": 1, "maxValue": 2 }, "30days": { "minValue": 1, "maxValue": 2 }, "lifetime": { "minValue": 1, "maxValue": 2 } }, "clicks": { "daily": { "minValue": 3, "maxValue": 4 }, "30days": { "minValue": 1, "maxValue": 2 }, "lifetime": { "minValue": 3, "maxValue": 4 } }, "adSpend": { "daily": { "minValue": 5, "maxValue": 7 }, "30days": { "minValue": 2, "maxValue": 3 }, "lifetime": { "minValue": 5, "maxValue": 7 } }, "orders": { "daily": { "minValue": -1, "maxValue": -1 }, "30days": { "minValue": -1, "maxValue": -1 }, "lifetime": { "minValue": -1, "maxValue": -1 } } }, "errors": [ "ITEMSETID_IS_REQUIRED_FOR_ORDERS_METRICS" ]
}

Common issues

IssueWhat it usually means
missing required schedule configurationRequired dates were not supplied
Requesting forecast for incomplete ad groupExisting ad groups must have schedule, budget, bid, and targeting configured prior to forecast
unavailable audiencesAudience status is not available
invalid targeting objectsTargeting configuration failed validation
budget lower than bid valueBudget and bid settings are not aligned
forecasting orders without a featured item setOrders cannot be forecasted until item set requirements are met
assuming simulated values persistOverride values exist only for the request

What happens next

After retrieving estimates:

  • compare projected performance scenarios
  • adjust targeting or bids
  • validate whether delivery goals are achievable
  • use Reach Estimate for inventory-only planning

Related pages


Did this page help you?