Marketing API Version

Ad Account Delivery Estimate

Get the estimated bid, estimated daily and monthly active people and estimated outcomes curve for a specific optimization goal, targeting spec, attribution spec and promoted object where applicable. See Targeting, Estimated Daily Results.

This API is on a phased roll out so you may not have access straight away. All accounts should have access by the end of July.

Reading

Delivery estimate for a given ad set configuration in this ad account.

Examples

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;
use FacebookAds\Object\Fields\TargetingFields;
use FacebookAds\Object\Values\AdSetOptimizationGoalValues;

$targeting = array(
  TargetingFields::GEO_LOCATIONS => array(
    TargetingFields::COUNTRY_GROUPS => array('worldwide'),
  ),
  TargetingFields::USER_DEVICE => array(
    'Galaxy S6',
    'One m9',
  ),
  TargetingFields::USER_OS => array(
    'android',
  ),
);

$estimate = Api::instance()->call(
  '/' . 'act_<AD_ACCOUNT_ID>' . '/delivery_estimate',
  RequestInterface::METHOD_GET,
  array(
    'targeting_spec' => $targeting,
    'optimization_goal' => AdSetOptimizationGoalValues::IMPRESSIONS,
));
curl -G \
  --data-urlencode 'targeting_spec={ 
    "geo_locations": {"country_groups":["worldwide"]}, 
    "user_device": ["Galaxy S6","One m9"], 
    "user_os": ["android"] 
  }' \
  -d 'optimization_goal=IMPRESSIONS' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.10/act_<AD_ACCOUNT_ID>/delivery_estimate

Sample response:

{
  "data":[
    {
      "bid_estimate":{
        "min_bid":151,
        "median_bid":246,
        "max_bid":405
      },
      "daily_outcomes_curve":[
        {
          "spend":0,
          "reach":0,
          "impressions":0,
          "actions":0
        },
        {
          "spend":157,
          "reach":32768.790689652,
          "impressions":90945.104519826,
          "actions":90945.104519826
        },
        {
          "spend":239,
          "reach":35937.659450005,
          "impressions":126453.01012466,
          "actions":126453.01012466
        },
        {
          "spend":495,
          "reach":52682.097382142,
          "impressions":178817.36771853,
          "actions":178817.36771853
        },
        {
          "spend":784,
          "reach":73824.119000859,
          "impressions":238181.16718764,
          "actions":238181.16718764
        },
        {
          "spend":995,
          "reach":84896.098416472,
          "impressions":284913.48513599,
          "actions":284913.48513599
        },
        {
          "spend":1409,
          "reach":105021.37936511,
          "impressions":383516.13591691,
          "actions":383516.13591691
        },
        {
          "spend":2192,
          "reach":144187.27289666,
          "impressions":554449.16517466,
          "actions":554449.16517466
        },
        {
          "spend":3405,
          "reach":200028.06633647,
          "impressions":768886.60456829,
          "actions":768886.60456829
        },
        {
          "spend":5176,
          "reach":286474.30812977,
          "impressions":1122025.2215611,
          "actions":1122025.2215611
        },
        {
          "spend":7717,
          "reach":368454.07803667,
          "impressions":1516043.0016692,
          "actions":1516043.0016692
        },
        {
          "spend":11040,
          "reach":467821.2438251,
          "impressions":2017614.56879,
          "actions":2017614.56879
        },
        {
          "spend":14487,
          "reach":583791.79690754,
          "impressions":2609299.3390383,
          "actions":2609299.3390383
        },
        {
          "spend":18446,
          "reach":661882.34285374,
          "impressions":3004897.2742216,
          "actions":3004897.2742216
        },
        {
          "spend":23479,
          "reach":776076.42806776,
          "impressions":3983339.4778286,
          "actions":3983339.4778286
        },
        {
          "spend":30079,
          "reach":883449.95409317,
          "impressions":4477834.7148298,
          "actions":4477834.7148298
        },
        {
          "spend":37823,
          "reach":1002781.7668052,
          "impressions":5131066.6021078,
          "actions":5131066.6021078
        },
        {
          "spend":48495,
          "reach":1133664.4774062,
          "impressions":5662779.6833636,
          "actions":5662779.6833636
        },
        {
          "spend":60534,
          "reach":1208447.0207231,
          "impressions":5920593.0757812,
          "actions":5920593.0757812
        },
        {
          "spend":75941,
          "reach":1284687.2684552,
          "impressions":6216435.5646049,
          "actions":6216435.5646049
        },
        {
          "spend":156616,
          "reach":1399606.3670815,
          "impressions":6412678.9102636,
          "actions":6412678.9102636
        },
        {
          "spend":204992,
          "reach":1461347.1730711,
          "impressions":6499518.6337065,
          "actions":6499518.6337065
        },
        {
          "spend":269435,
          "reach":1482247.2063049,
          "impressions":6520418.6669404,
          "actions":6520418.6669404
        },
        {
          "spend":334335,
          "reach":1498351.186485,
          "impressions":6536522.6471204,
          "actions":6536522.6471204
        },
        {
          "spend":410542,
          "reach":1498351.186485,
          "impressions":6536522.6471204,
          "actions":6536522.6471204
        },
        {
          "spend":498228,
          "reach":1498351.186485,
          "impressions":6536522.6471204,
          "actions":6536522.6471204
        },
        {
          "spend":612353,
          "reach":1535875.812723,
          "impressions":6574047.2733585,
          "actions":6574047.2733585
        },
        {
          "spend":766058,
          "reach":1592329.3354134,
          "impressions":6630500.7960488,
          "actions":6630500.7960488
        },
        {
          "spend":973432,
          "reach":1792212.5549158,
          "impressions":6830384.0155512,
          "actions":6830384.0155512
        },
        {
          "spend":1260897,
          "reach":1914720.6939837,
          "impressions":6952892.1546192,
          "actions":6952892.1546192
        },
        {
          "spend":1666916,
          "reach":1988511.195193,
          "impressions":7026682.6558284,
          "actions":7026682.6558284
        },
        {
          "spend":2249884,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":3091819,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":4344956,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":6191541,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":8912627,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":12904828,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":18740296,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":27331326,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":39190583,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":55862016,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        },
        {
          "spend":57198499,
          "reach":2009881.9619087,
          "impressions":7048053.4225441,
          "actions":7048053.4225441
        }
      ],
      "estimate_dau": 568166399,
      "estimate_mau": 1096000000,
      "estimate_ready": true
    }
  ]
}

The daily_outcomes_curve field will only have data when we are able to provide high confidence predictions. When we do not have high confidence predictions we will return an array of 1 point with all 0s.

Graph API Explorer
GET /v2.10/{ad-account-id}/delivery_estimate HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
$request = new FacebookRequest(
  $session,
  'GET',
  '/{ad-account-id}/delivery_estimate'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */
/* make the API call */
FB.api(
    "/{ad-account-id}/delivery_estimate",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{ad-account-id}/delivery_estimate",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
// For more complex open graph stories, use `FBSDKShareAPI`
// with `FBSDKShareOpenGraphContent`
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{ad-account-id}/delivery_estimate"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Permissions

Developers usually request these permissions for this endpoint:

Marketing Apps
  • ads_management
Page management Apps
No data
Other Apps
No data

Parameters

NameDescription
optimization_goal
enum{NONE, APP_INSTALLS, BRAND_AWARENESS, AD_RECALL_LIFT, CLICKS, ENGAGED_USERS, EVENT_RESPONSES, IMPRESSIONS, LEAD_GENERATION, LINK_CLICKS, OFFER_CLAIMS, OFFSITE_CONVERSIONS, PAGE_ENGAGEMENT, PAGE_LIKES, POST_ENGAGEMENT, REACH, SOCIAL_IMPRESSIONS, VIDEO_VIEWS, APP_DOWNLOADS, LANDING_PAGE_VIEWS}

The optimization goal that you want the estimate for. You will only get action predictions for certain optimization goals where actions make sense. For allowed values please see optimization_goals.

Required
promoted_object
Object

The promoted object for the ad set that you want an estimate for. This is the same format as when you create an ad set.

application_id
int

The ID of a Facebook Application. Usually related to mobile or canvas games being promoted on Facebook for installs or engagement

pixel_id
numeric string or integer

The ID of a Facebook conversion pixel. Used with offsite conversion campaigns.

custom_event_type
enum{COMPLETE_REGISTRATION, CONTENT_VIEW, SEARCH, RATE, TUTORIAL_COMPLETION, ADD_TO_CART, ADD_TO_WISHLIST, INITIATED_CHECKOUT, ADD_PAYMENT_INFO, PURCHASE, LEAD, LEVEL_ACHIEVED, ACHIEVEMENT_UNLOCKED, SPENT_CREDITS, OTHER}

The event from an App Event of a mobile app, or tag of an conversion pixel.

object_store_url
URL

The uri of the mobile / digital store where an application can be bought / downloaded. This is platform specific. When combined with the "application_id" this uniquely specifies an object which can be the subject of a Facebook advertising campaign.

offer_id
numeric string or integer

The ID of an Offer from a Facebook Page.

page_id
Page ID

The ID of a Facebook Page

product_catalog_id
numeric string or integer

The ID of a Product Catalog. Used with Dynamic Product Ads.

product_set_id
numeric string or integer

The ID of a Product Set within an Ad Set level Product Catalog. Used with Dynamic Product Ads.

event_id
numeric string or integer

The ID of a Facebook Event

offline_conversion_data_set_id
numeric string or integer

The ID of the offline dataset.

targeting_spec
Targeting object

The targeting specification for delivery estimate. See targeting.

Required

Fields

Reading from this edge will return a JSON formatted result:

{ "data": [], "paging": {} }

data

A list of AdAccountDeliveryEstimate nodes.

paging

For more details about pagination, see the Graph API guide.

Validation Rules

ErrorDescription
100Invalid parameter
200Permissions error
2641By law, we cannot serve ads to the following countries
900No such application exists.
105The number of parameters exceeded the maximum for this operation
278Reading advertisements requires an access token with the extended permission ads_read
274The ad account is not enabled for usage in Ads API. Please add it in developers.facebook.com/apps -> select your app -> settings -> advanced -> advertising accounts -> Ads API

Creating

You can't perform this operation on this endpoint.

Updating

You can't perform this operation on this endpoint.

Deleting

You can't perform this operation on this endpoint.